DOM Document Fragment class. More...
#include <dom_document_fragment.h>
Public Member Functions | |
Construction | |
DomDocumentFragment () | |
Constructs a DOM Document Fragment handle. More... | |
DomDocumentFragment (DomDocument &doc) | |
Constructs a DomDocumentFragment. More... | |
DomDocumentFragment (const std::shared_ptr< DomNode_Impl > &impl) | |
Constructs a DomDocumentFragment. More... | |
~DomDocumentFragment () | |
![]() | |
DomNode () | |
DomNode (const DomNode ©) | |
Constructs a DomNode. More... | |
~DomNode () | |
DomNode & | operator= (const DomNode ©) |
Copy assignment operator. More... | |
bool | operator== (const DomNode &other) const |
Compare operator. More... | |
bool | operator!= (const DomNode &other) const |
Compare operator. More... | |
void | normalize () |
Merges any adjacent Text nodes. More... | |
DomNode | insert_before (DomNode &new_child, DomNode &ref_child) |
Inserts the node new_child before the existing child node ref_child. More... | |
DomNode | replace_child (DomNode &new_child, DomNode &old_child) |
Replaces the child node old_child with new_child in the list of children. More... | |
DomNode | remove_child (DomNode &old_child) |
Removes the child node indicated by old_child from the list of children, and returns it. More... | |
DomNode | append_child (DomNode new_child) |
Adds the node new_child to the end of the list of children of this node. More... | |
DomNode | clone_node (bool deep) const |
Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes. More... | |
DomElement | to_element () const |
Returns the Element interface to this node. More... | |
DomAttr | to_attr () const |
Returns the Attribute interface to this node. More... | |
DomText | to_text () const |
Returns the Text interface to this node. More... | |
DomCDATASection | to_cdata_section () const |
Returns the CDATA Section interface to this node. More... | |
DomEntityReference | to_entity_reference () const |
Returns the Entity Reference interface to this node. More... | |
DomEntity | to_entity () const |
Returns the Entity interface to this node. More... | |
DomProcessingInstruction | to_processing_instruction () const |
Returns the Processing Instruction interface to this node. More... | |
DomComment | to_comment () const |
Returns the Comment interface to this node. More... | |
DomDocument | to_document () const |
Returns the Document interface to this node. More... | |
DomDocumentType | to_document_type () const |
Returns the Document Type interface to this node. More... | |
DomDocumentFragment | to_document_fragment () const |
Returns the Document Fragment interface to this node. More... | |
DomNotation | to_notation () const |
Returns the Notation interface to this node. More... | |
DomNode | named_item (const DomString &name) const |
Returns the first child node with the specified node name. More... | |
DomNode | named_item_ns (const DomString &namespace_uri, const DomString &local_name) const |
Retrieves the first child node with the specified namespace URI and local name. More... | |
DomString | find_namespace_uri (const DomString &qualified_name) const |
Searches the node tree upwards for the namespace URI of the given qualified name. More... | |
DomString | find_prefix (const DomString &namespace_uri) const |
Searches the node tree upwards for the prefix name for the namespace URI. More... | |
std::vector< DomNode > | select_nodes (const DomString &xpath_expression) const |
Returns all the nodes matching the specified xpath expression using this node as the context node. More... | |
DomNode | select_node (const DomString &xpath_expression) const |
Returns the first node matching the specified xpath expression using this node as the context node. More... | |
std::string | select_string (const DomString &xpath_expression) const |
Returns the first node value matching the specified xpath expression using this node as the context node. More... | |
int | select_int (const DomString &xpath_expression) const |
Returns the first node value (as integer) matching the specified xpath expression using this node as the context node. More... | |
float | select_float (const DomString &xpath_expression) const |
Returns the first node value (as float) matching the specified xpath expression using this node as the context node. More... | |
bool | select_bool (const DomString &xpath_expression) const |
Returns the first node value (as boolean) matching the specified xpath expression using this node as the context node. More... | |
DomString | get_node_name () const |
Returns the node name. More... | |
DomString | get_namespace_uri () const |
Returns the namespace URI of this node. More... | |
DomString | get_prefix () const |
Returns the namespace prefix of the node. More... | |
void | set_prefix (const DomString &prefix) |
Sets the namespace prefix of the node. More... | |
DomString | get_local_name () const |
Returns local part of the qualified name of this node. More... | |
DomString | get_node_value () const |
Returns the node value. More... | |
void | set_node_value (const DomString &value) |
Sets the node value. More... | |
unsigned short | get_node_type () const |
Returns the node type (one of those in the NodeType enum). More... | |
DomNode | get_parent_node () const |
Returns the parent of this node. More... | |
DomNodeList | get_child_nodes () const |
Returns a NodeList that contains all children of this node. More... | |
DomNode | get_first_child () const |
The first child of this node. More... | |
DomNode | get_last_child () const |
The last child of this node. More... | |
DomNode | get_previous_sibling () const |
The node immediately preceding this node. More... | |
DomNode | get_next_sibling () const |
The node immediately following this node. More... | |
DomNamedNodeMap | get_attributes () const |
A NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise. More... | |
DomDocument | get_owner_document () const |
The Document object associated with this node. More... | |
bool | is_null () const |
Returns true if this is a null node. More... | |
bool | is_element () const |
Returns true if this is an element node. More... | |
bool | is_attr () const |
Returns true if this is an attribute node. More... | |
bool | is_text () const |
Returns true if this is a text node. More... | |
bool | is_cdata_section () const |
Returns true if this is a CDATA section node. More... | |
bool | is_entity_reference () const |
Returns true if this is an entity reference node. More... | |
bool | is_entity () const |
Returns true if this is an entity node. More... | |
bool | is_processing_instruction () const |
Returns true if this is a processing instruction node. More... | |
bool | is_comment () const |
Returns true if this is a comment node. More... | |
bool | is_document () const |
Returns true if this is a document node. More... | |
bool | is_document_type () const |
Returns true if this is a document type node. More... | |
bool | is_document_fragment () const |
Returns true if this is a document fragment node. More... | |
bool | is_notation () const |
Returns true if this is a notation node. More... | |
bool | is_supported (const DomString &feature, const DomString &version) const |
Tests whether the DOM implementation implements a specific feature and that feature is supported by this node. More... | |
bool | has_attributes () const |
Returns true if this node (if its an element) has any attributes. More... | |
bool | has_child_nodes () const |
Returns true if this node has any children. More... | |
Additional Inherited Members | |
![]() | |
enum | NodeType { NULL_NODE = 0, ELEMENT_NODE = 1, ATTRIBUTE_NODE = 2, TEXT_NODE = 3, CDATA_SECTION_NODE = 4, ENTITY_REFERENCE_NODE = 5, ENTITY_NODE = 6, PROCESSING_INSTRUCTION_NODE = 7, COMMENT_NODE = 8, DOCUMENT_NODE = 9, DOCUMENT_TYPE_NODE = 10, DOCUMENT_FRAGMENT_NODE = 11, NOTATION_NODE = 12 } |
An integer indicating which type of node this is. More... | |
![]() | |
DomNode (DomDocument doc, unsigned short node_type) | |
Constructs a DomNode. More... | |
DomNode (const std::shared_ptr< DomNode_Impl > &impl) | |
Constructs a DomNode. More... | |
![]() | |
std::shared_ptr< DomNode_Impl > | impl |
DOM Document Fragment class.
DocumentFragment is a "lightweight" or "minimal" Document object. It is very common to want to be able to extract a portion of a document's tree or to create a new fragment of a document. Imagine implementing a user command like cut or rearranging a document by moving fragments around. It is desirable to have an object which can hold such fragments and it is quite natural to use a Node for this purpose. While it is true that a Document object could fulfil this role, a Document object can potentially be a heavyweight object, depending on the underlying implementation. What is really needed for this is a very lightweight object. DocumentFragment is such an object.
Furthermore, various operations – such as inserting nodes as children of another Node – may take DocumentFragment objects as arguments; this results in all the child nodes of the DocumentFragment being moved to the child list of this node.
The children of a DocumentFragment node are zero or more nodes representing the tops of any sub-trees defining the structure of the document. DocumentFragment nodes do not need to be well-formed XML documents (although they do need to follow the rules imposed upon well-formed XML parsed entities, which can have multiple top nodes). For example, a DocumentFragment might have only one child and that child node could be a Text node. Such a structure model represents neither an HTML document nor a well-formed XML document.
When a DocumentFragment is inserted into a Document (or indeed any other Node that may take children) the children of the DocumentFragment and not the DocumentFragment itself are inserted into the Node. This makes the DocumentFragment very useful when the user wishes to create nodes that are siblings; the DocumentFragment acts as the parent of these nodes so that the user can use the standard methods from the Node interface, such as insertBefore() and appendChild().