diff -r 000000000000 -r 02cd6b52f378 dummy_foundation/lib/XML/DOM/DocumentFragment.pod --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dummy_foundation/lib/XML/DOM/DocumentFragment.pod Thu May 28 10:10:03 2009 +0100 @@ -0,0 +1,40 @@ +=head1 NAME + +XML::DOM::DocumentFragment - Facilitates cut & paste in XML::DOM documents + +=head1 DESCRIPTION + +XML::DOM::DocumentFragment extends L + +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().