DOMDocument
object could
* fulfil 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
*/
class CDOM_EXPORT DOMDocumentFragment: public DOMNode {
protected:
// -----------------------------------------------------------------------
// Hidden constructors
// -----------------------------------------------------------------------
/** @name Hidden constructors */
//@{
DOMDocumentFragment() {};
//@}
private:
// -----------------------------------------------------------------------
// Unimplemented constructors and operators
// -----------------------------------------------------------------------
/** @name Unimplemented constructors and operators */
//@{
DOMDocumentFragment(const DOMDocumentFragment &);
DOMDocumentFragment & operator = (const DOMDocumentFragment &);
//@}
public:
// -----------------------------------------------------------------------
// All constructors are hidden, just the destructor is available
// -----------------------------------------------------------------------
/** @name Destructor */
//@{
/**
* Destructor
*
*/
virtual ~DOMDocumentFragment() {};
//@}
};
XERCES_CPP_NAMESPACE_END
#endif