DOMDocumentFragment Class Reference

DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object. More...

Inheritance diagram for DOMDocumentFragment:

## Public Member Functions

Destructor
virtual | ~DOMDocumentFragment ()
| Destructor. More...
Public Member Functions inherited from DOMNode
virtual | ~DOMNode ()
| Destructor. More...
virtual const XMLCh * | getNodeName () const =0
| The name of this node, depending on its type; see the table above. More...
virtual const XMLCh * | getNodeValue () const =0
| Gets the value of this node, depending on its type. More...
virtual NodeType | getNodeType () const =0
| An enum value representing the type of the underlying object. More...
virtual DOMNode * | getParentNode () const =0
| Gets the parent of this node. More...
virtual DOMNodeList * | getChildNodes () const =0
| Gets a `DOMNodeList` that contains all children of this node. More...
virtual DOMNode * | getFirstChild () const =0
| Gets the first child of this node. More...
virtual DOMNode * | getLastChild () const =0
| Gets the last child of this node. More...
virtual DOMNode * | getPreviousSibling () const =0
| Gets the node immediately preceding this node. More...
virtual DOMNode * | getNextSibling () const =0
| Gets the node immediately following this node. More...
virtual DOMNamedNodeMap * | getAttributes () const =0
| Gets a `DOMNamedNodeMap` containing the attributes of this node (if it is an `DOMElement`) or `null` otherwise. More...
virtual DOMDocument * | getOwnerDocument () const =0
| Gets the `DOMDocument` object associated with this node. More...
virtual DOMNode * | cloneNode (bool deep) const =0
| Returns a duplicate of this node. More...
virtual DOMNode * | insertBefore (DOMNode *newChild, DOMNode *refChild)=0
| Inserts the node `newChild` before the existing child node `refChild`. More...
virtual DOMNode * | replaceChild (DOMNode *newChild, DOMNode *oldChild)=0
| Replaces the child node `oldChild` with `newChild` in the list of children, and returns the `oldChild` node. More...
virtual DOMNode * | removeChild (DOMNode *oldChild)=0
| Removes the child node indicated by `oldChild` from the list of children, and returns it. More...
virtual DOMNode * | appendChild (DOMNode *newChild)=0
| Adds the node `newChild` to the end of the list of children of this node. More...
virtual bool | hasChildNodes () const =0
| This is a convenience method to allow easy determination of whether a node has any children. More...
virtual void | setNodeValue (const XMLCh *nodeValue)=0
| Sets the value of the node. More...
virtual void | normalize ()=0
| Puts all `DOMText` nodes in the full depth of the sub-tree underneath this `DOMNode`, including attribute nodes, into a "normal" form where only markup (e.g., tags, comments, processing instructions, CDATA sections, and entity references) separates `DOMText` nodes, i.e., there are neither adjacent `DOMText` nodes nor empty `DOMText` nodes. More...
virtual bool | isSupported (const XMLCh *feature, const XMLCh *version) const =0
| Tests whether the DOM implementation implements a specific feature and that feature is supported by this node. More...
virtual const XMLCh * | getNamespaceURI () const =0
| Get the namespace URI of this node, or `null` if it is unspecified. More...
virtual const XMLCh * | getPrefix () const =0
| Get the namespace prefix of this node, or `null` if it is unspecified. More...
virtual const XMLCh * | getLocalName () const =0
| Returns the local part of the qualified name of this node. More...
virtual void | setPrefix (const XMLCh *prefix)=0
| Set the namespace prefix of this node. More...
virtual bool | hasAttributes () const =0
| Returns whether this node (if it is an element) has any attributes. More...
virtual bool | isSameNode (const DOMNode *other) const =0
| Returns whether this node is the same node as the given one. More...
virtual bool | isEqualNode (const DOMNode *arg) const =0
| Tests whether two nodes are equal. More...
virtual void * | setUserData (const XMLCh *key, void *data, DOMUserDataHandler *handler)=0
| Associate an object to a key on this node. More...
virtual void * | getUserData (const XMLCh *key) const =0
| Retrieves the object associated to a key on a this node. More...
virtual const XMLCh * | getBaseURI () const =0
| The absolute base URI of this node or `null` if undefined. More...
virtual short | compareDocumentPosition (const DOMNode *other) const =0
| Compares the reference node, i.e. More...
virtual const XMLCh * | getTextContent () const =0
| WARNING: This method is known to be buggy and does not produce accurate results under a variety of conditions. More...
virtual void | setTextContent (const XMLCh *textContent)=0
| This attribute removes any possible children this node may have and, if the new string is not empty or null, replaced by a single `DOMText` node containing the string this attribute is set to. More...
virtual const XMLCh * | lookupPrefix (const XMLCh *namespaceURI) const =0
| Look up the prefix associated to the given namespace URI, starting from this node. More...
virtual bool | isDefaultNamespace (const XMLCh *namespaceURI) const =0
| This method checks if the specified `namespaceURI` is the default namespace or not. More...
virtual const XMLCh * | lookupNamespaceURI (const XMLCh *prefix) const =0
| Look up the namespace URI associated to the given prefix, starting from this node. More...
virtual void * | getFeature (const XMLCh *feature, const XMLCh *version) const =0
| This method makes available a `DOMNode`'s specialized interface. More...
virtual void | release ()=0
| Called to indicate that this Node (and its associated children) is no longer in use and that the implementation may relinquish any resources associated with it and its associated children. More...

## Protected Member Functions

Hidden constructors
| DOMDocumentFragment ()
Protected Member Functions inherited from DOMNode
| DOMNode ()
| DOMNode (const DOMNode &)

## Additional Inherited Members

Public Types inherited from DOMNode
enum | NodeType { 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 }
| NodeType. More...
enum | DocumentPosition { DOCUMENT_POSITION_DISCONNECTED = 0x01, DOCUMENT_POSITION_PRECEDING = 0x02, DOCUMENT_POSITION_FOLLOWING = 0x04, DOCUMENT_POSITION_CONTAINS = 0x08, DOCUMENT_POSITION_CONTAINED_BY = 0x10, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20 }
| DocumentPosition: More...

## Detailed Description

DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument 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 DOMNode for this purpose. While it is true that a `DOMDocument` object could fulfill this role, a `DOMDocument` object can potentially be a heavyweight object, depending on the underlying implementation. What is really needed for this is a very lightweight object. `DOMDocumentFragment` is such an object.

Furthermore, various operations – such as inserting nodes as children of another `DOMNode` – may take `DOMDocumentFragment` objects as arguments; this results in all the child nodes of the `DOMDocumentFragment` being moved to the child list of this node.

The children of a `DOMDocumentFragment` node are zero or more nodes representing the tops of any sub-trees defining the structure of the document. `DOMDocumentFragment` 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 `DOMDocumentFragment` might have only one child and that child node could be a `DOMText` node. Such a structure model represents neither an HTML document nor a well-formed XML document.

When a `DOMDocumentFragment` is inserted into a `DOMDocument` (or indeed any other `DOMNode` that may take children) the children of the `DOMDocumentFragment` and not the `DOMDocumentFragment` itself are inserted into the `DOMNode`. This makes the `DOMDocumentFragment` very useful when the user wishes to create nodes that are siblings; the `DOMDocumentFragment` acts as the parent of these nodes so that the user can use the standard methods from the `DOMNode` interface, such as `insertBefore()` and `appendChild()`.

Since
  DOM Level 1

## Constructor & Destructor Documentation

## DOMDocumentFragment()

DOMDocumentFragment::DOMDocumentFragment | ( |  | ) |

protected

## ~DOMDocumentFragment()

virtual DOMDocumentFragment::~DOMDocumentFragment | ( |  | ) |

virtual

Destructor.

References XERCES_CPP_NAMESPACE_END.

The documentation for this class was generated from the following file:

- DOMDocumentFragment.hpp