class Poco::XML::CharacterData
Overview
The CharacterData interface extends Node with a set of attributes and methods for accessing character data in the DOM. More…
#include <CharacterData.h> class CharacterData: public Poco::XML::AbstractNode { public: // methods const XMLString& data() const; const XMLString& getData() const; void setData(const XMLString& data); unsigned long length() const; XMLString substringData( unsigned long offset, unsigned long count ) const; void appendData(const XMLString& arg); void insertData( unsigned long offset, const XMLString& arg ); void deleteData( unsigned long offset, unsigned long count ); void replaceData( unsigned long offset, unsigned long count, const XMLString& arg ); XMLString trimmedData() const; virtual const XMLString& getNodeValue() const; virtual void setNodeValue(const XMLString& value); protected: // construction CharacterData( Document* pOwnerDocument, const XMLString& data ); CharacterData( Document* pOwnerDocument, const CharacterData& data ); }; // direct descendants class Comment; class Text;
Inherited Members
public: // typedefs typedef Poco::XML::NamespaceSupport NSMap; // enums enum { ELEMENT_NODE = 1, ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE, ENTITY_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, DOCUMENT_FRAGMENT_NODE, NOTATION_NODE, }; // methods void duplicate() const; void release() const; virtual void autoRelease() = 0; virtual void addEventListener( const XMLString& type, EventListener* listener, bool useCapture ) = 0; virtual void removeEventListener( const XMLString& type, EventListener* listener, bool useCapture ) = 0; virtual bool dispatchEvent(Event* evt) = 0; virtual const XMLString& nodeName() const = 0; const XMLString& nodeValue() const; virtual const XMLString& getNodeValue() const = 0; virtual void setNodeValue(const XMLString& value) = 0; virtual unsigned short nodeType() const = 0; virtual Node* parentNode() const = 0; virtual NodeList* childNodes() const = 0; virtual Node* firstChild() const = 0; virtual Node* lastChild() const = 0; virtual Node* previousSibling() const = 0; virtual Node* nextSibling() const = 0; virtual NamedNodeMap* attributes() const = 0; virtual Document* ownerDocument() const = 0; virtual Node* insertBefore( Node* newChild, Node* refChild ) = 0; virtual Node* replaceChild( Node* newChild, Node* oldChild ) = 0; virtual Node* removeChild(Node* oldChild) = 0; virtual Node* appendChild(Node* newChild) = 0; virtual bool hasChildNodes() const = 0; virtual Node* cloneNode(bool deep) const = 0; virtual void normalize() = 0; virtual bool isSupported( const XMLString& feature, const XMLString& version ) const = 0; virtual const XMLString& namespaceURI() const = 0; virtual XMLString prefix() const = 0; virtual const XMLString& localName() const = 0; virtual bool hasAttributes() const = 0; virtual XMLString innerText() const = 0; virtual Node* getNodeByPath(const XMLString& path) const = 0; virtual Node* getNodeByPathNS( const XMLString& path, const NSMap& nsMap ) const = 0; virtual const XMLString& nodeName() const; virtual const XMLString& getNodeValue() const; virtual void setNodeValue(const XMLString& value); virtual Node* parentNode() const; virtual NodeList* childNodes() const; virtual Node* firstChild() const; virtual Node* lastChild() const; virtual Node* previousSibling() const; virtual Node* nextSibling() const; virtual NamedNodeMap* attributes() const; virtual Document* ownerDocument() const; virtual Node* insertBefore( Node* newChild, Node* refChild ); virtual Node* replaceChild( Node* newChild, Node* oldChild ); virtual Node* removeChild(Node* oldChild); virtual Node* appendChild(Node* newChild); virtual bool hasChildNodes() const; virtual Node* cloneNode(bool deep) const; virtual void normalize(); virtual bool isSupported( const XMLString& feature, const XMLString& version ) const; virtual const XMLString& namespaceURI() const; virtual XMLString prefix() const; virtual const XMLString& localName() const; virtual bool hasAttributes() const; virtual void addEventListener( const XMLString& type, EventListener* listener, bool useCapture ); virtual void removeEventListener( const XMLString& type, EventListener* listener, bool useCapture ); virtual bool dispatchEvent(Event* evt); virtual XMLString innerText() const; virtual Node* getNodeByPath(const XMLString& path) const; virtual Node* getNodeByPathNS( const XMLString& path, const NSMap& nsMap ) const; virtual void autoRelease(); protected: // fields static const XMLString EMPTY_STRING; // methods virtual Node* copyNode( bool deep, Document* pOwnerDocument ) const = 0; virtual bool events() const; virtual bool eventsSuspended() const; void captureEvent(Event* evt); void bubbleEvent(Event* evt); void dispatchSubtreeModified(); void dispatchNodeInserted(); void dispatchNodeRemoved(); virtual void dispatchNodeRemovedFromDocument(); virtual void dispatchNodeInsertedIntoDocument(); void dispatchAttrModified( Attr* pAttr, MutationEvent::AttrChangeType changeType, const XMLString& prevValue, const XMLString& newValue ); void dispatchCharacterDataModified( const XMLString& prevValue, const XMLString& newValue ); void setOwnerDocument(Document* pOwnerDocument);
Detailed Documentation
The CharacterData interface extends Node with a set of attributes and methods for accessing character data in the DOM.
For clarity this set is defined here rather than on each object that uses these attributes and methods. No DOM objects correspond directly to CharacterData, though Text and others do inherit the interface from it. All offsets in this interface start from 0.
Text strings in the DOM are represented in either UTF-8 (if XML_UNICODE_WCHAR_T is not defined) or in UTF-16 (if XML_UNICODE_WCHAR_T is defined). Indexing on character data is done in XMLChar units.
Methods
const XMLString& data() const
Returns the character data of the node that implements the interface.
const XMLString& getData() const
Returns the character data of the node that implements the interface.
void setData(const XMLString& data)
Sets the character data of the node that implements the interface.
unsigned long length() const
Returns the number of XMLChars that are available through getData and substringData.
This may have the value zero.
XMLString substringData( unsigned long offset, unsigned long count ) const
Extracts a range of data from the node.
If offset and count exceeds the length, then all the characters to the end of the data are returned.
void appendData(const XMLString& arg)
Append the string to the end of the character data of the node.
void insertData( unsigned long offset, const XMLString& arg )
Insert a string at the specified character offset.
void deleteData( unsigned long offset, unsigned long count )
Remove a range of characters from the node.
void replaceData( unsigned long offset, unsigned long count, const XMLString& arg )
Replace the characters starting at the specified character offset with the specified string.
XMLString trimmedData() const
Returns the character data of that node with all surrounding whitespace removed.
This method is an extension to the W3C Document Object Model.
virtual const XMLString& getNodeValue() const
Returns the value of this node, depending on its type.
virtual void setNodeValue(const XMLString& value)
Sets the value of this node.
Throws an exception if the node is read-only.