Xerces-C++: DOMDocumentFragment Class Reference

Xerces-C++ 3.3.0

List of all members
DOMDocumentFragment Class Reference

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

`#include <xercesc/dom/DOMDocumentFragment.hpp>`

Inheritance diagram for DOMDocumentFragment:

## Public Member Functions
Destructor
virtual | ~DOMDocumentFragment ()
| Destructor.
Public Member Functions inherited from DOMNode
virtual | ~DOMNode ()
| Destructor.
virtual const XMLCh * | getNodeName () const =0
| The name of this node, depending on its type; see the table above.
virtual const XMLCh * | getNodeValue () const =0
| Gets the value of this node, depending on its type.
virtual NodeType | getNodeType () const =0
| An enum value representing the type of the underlying object.
virtual DOMNode * | getParentNode () const =0
| Gets the parent of this node.
virtual DOMNodeList * | getChildNodes () const =0
| Gets a `DOMNodeList` that contains all children of this node.
virtual DOMNode * | getFirstChild () const =0
| Gets the first child of this node.
virtual DOMNode * | getLastChild () const =0
| Gets the last child of this node.
virtual DOMNode * | getPreviousSibling () const =0
| Gets the node immediately preceding this node.
virtual DOMNode * | getNextSibling () const =0
| Gets the node immediately following this node.
virtual DOMNamedNodeMap * | getAttributes () const =0
| Gets a `DOMNamedNodeMap` containing the attributes of this node (if it is an `DOMElement`) or `null` otherwise.
virtual DOMDocument * | getOwnerDocument () const =0
| Gets the `DOMDocument` object associated with this node.
virtual DOMNode * | cloneNode (bool deep) const =0
| Returns a duplicate of this node.
virtual DOMNode * | insertBefore (DOMNode *newChild, DOMNode *refChild)=0
| Inserts the node `newChild` before the existing child node `refChild`.
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.
virtual DOMNode * | removeChild (DOMNode *oldChild)=0
| Removes the child node indicated by `oldChild` from the list of children, and returns it.
virtual DOMNode * | appendChild (DOMNode *newChild)=0
| Adds the node `newChild` to the end of the list of children of this node.
virtual bool | hasChildNodes () const =0
| This is a convenience method to allow easy determination of whether a node has any children.
virtual void | setNodeValue (const XMLCh *nodeValue)=0
| Sets the value of the node.
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.
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.
virtual const XMLCh * | getNamespaceURI () const =0
| Get the namespace URI of this node, or `null` if it is unspecified.
virtual const XMLCh * | getPrefix () const =0
| Get the namespace prefix of this node, or `null` if it is unspecified.
virtual const XMLCh * | getLocalName () const =0
| Returns the local part of the qualified name of this node.
virtual void | setPrefix (const XMLCh *prefix)=0
| Set the namespace prefix of this node.
virtual bool | hasAttributes () const =0
| Returns whether this node (if it is an element) has any attributes.
virtual bool | isSameNode (const DOMNode *other) const =0
| Returns whether this node is the same node as the given one.
virtual bool | isEqualNode (const DOMNode *arg) const =0
| Tests whether two nodes are equal.
virtual void * | setUserData (const XMLCh *key, void *data, DOMUserDataHandler *handler)=0
| Associate an object to a key on this node.
virtual void * | getUserData (const XMLCh *key) const =0
| Retrieves the object associated to a key on a this node.
virtual const XMLCh * | getBaseURI () const =0
| The absolute base URI of this node or `null` if undefined.
virtual short | compareDocumentPosition (const DOMNode *other) const =0
| Compares the reference node, i.e.
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.
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.
virtual const XMLCh * | lookupPrefix (const XMLCh *namespaceURI) const =0
| Look up the prefix associated to the given namespace URI, starting from this node.
virtual bool | isDefaultNamespace (const XMLCh *namespaceURI) const =0
| This method checks if the specified `namespaceURI` is the default namespace or not.
virtual const XMLCh * | lookupNamespaceURI (const XMLCh *prefix) const =0
| Look up the namespace URI associated to the given prefix, starting from this node.
virtual void * | getFeature (const XMLCh *feature, const XMLCh *version) const =0
| This method makes available a `DOMNode`'s specialized interface.
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.

## 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.

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

- DOMDocumentFragment.hpp