Description
GdomeDocumentFragment is a "lightweight" or "minimal" GdomeDocument object.
It is 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 GdomeNode for this purpose. While it is true that a GdomeDocument object
could fulfill this role, a GdomeDocument object can potentially be a
heavyweight object. What is really needed for this is a very lightweight
object. GdomeDocumentFragment is such an object.
Furthermore, various operations -- such as inserting nodes as children of
another GdomeNode -- may take GdomeDocumentFragment objects as arguments;
this results in all the child nodes of the GdomeDocumentFragment being moved
to the child list of this node.
The children of a GdomeDocumentFragment node are zero or more nodes
representing the tops of any sub-trees defining the structure of the document.
GdomeDocumentFragment 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
GdomeDocumentFragment might have only one child and that child node could be
a GdomeText node. Such a structure model represents neither an HTML document
nor a well-formed XML document.
When a GdomeDocumentFragment is inserted into a GdomeDocument (or indeed any
other GdomeNode that may take children) the children of the
GdomeDocumentFragment and not the GdomeDocumentFragment itself are inserted
into the GdomeNode. This makes the GdomeDocumentFragment very useful when the
user wishes to create nodes that are siblings; the GdomeDocumentFragment acts
as the parent of these nodes so that the user can use the standard methods from
the GdomeNode interface, such as gdome_n_insertBefore() and
gdome_n_appendChild().
Details
struct GdomeDocumentFragment
struct GdomeDocumentFragment {
gpointer user_data;
}; |
gdome_df_ref ()
Increase the reference count of the specified Node.
gdome_df_unref ()
Decrease the reference count of the specified Node. Free the Node structure
if the Node will have zero reference.
gdome_df_query_interface ()
gdome_df_set_nodeValue ()
Sets The value of this node, depending on its type.
GDOME_NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
gdome_df_previousSibling ()
gdome_df_ownerDocument ()
gdome_df_insertBefore ()
Inserts the node newChild before the existing child node refChild. If
refChild is NULL, insert newChild at the end of the list of children.
If newChild is a DocumentFragment node, all of its children are inserted,
in the same order, before refChild. If the newChild is already in the
tree, it is first removed.
GDOME_HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not
allow children of the type of the newChild node, or if the node to insert is
one of this node's ancestors or this node itself.
GDOME_WRONG_DOCUMENT_ERR: Raised if newChild was created from a different
document than the one that created this node.
GDOME_NOT_FOUND_ERR: Raised if refChild is not a child of this node.
GDOME_NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
gdome_df_replaceChild ()
Replaces the child node oldChild with newChild in the list of children,
and returns the oldChild node. If newChild is a DocumentFragment object,
oldChild is replaced by all of the DocumentFragment children, which are
inserted in the same order. If the newChild is already in the tree, it is
first removed.
GDOME_HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does
not allow children of the type of the newChild node, or if the node to put
in is one of this node's ancestors or this node itself.
GDOME_WRONG_DOCUMENT_ERR: Raised if newChild was created from a different
document than the one that created this node.
GDOME_NOT_FOUND_ERR: Raised if oldChild is not a child of this node.
GDOME_NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
gdome_df_removeChild ()
Removes the child node indicated by oldChild from the list of children, and
returns it.
GDOME_NOT_FOUND_ERR: Raised if oldChild is not a child of this node.
GDOME_NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
gdome_df_appendChild ()
Adds the node newChild to the end of the list of children of this node.
If the newChild is already in the tree, it is first removed. If it is a
DocumentFragment node, the entire contents of the document fragment are
moved into the child list of this node
GDOME_HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not
allow children of the type of the newChild node, or if the node to append is
one of this node's ancestors or this node itself.
GDOME_WRONG_DOCUMENT_ERR: Raised if newChild was created from a different
document than the one that created this node.
GDOME_NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
gdome_df_hasChildNodes ()
gdome_df_cloneNode ()
Makes a duplicate of this node, i.e., serves as a generic copy
constructor for nodes. The duplicate node has no parent; (parentNode is
NULL).
GDOME_DOCUMENT_TYPE_NODE, GDOME_NOTATION_NODE and GDOME_ENTITY_NODE
nodes are not supported.
GDOME_NOT_SUPPORTED_ERR: Raised if the type of node being cloned is not
supported.
gdome_df_normalize ()
Puts all Text nodes in the full depth of the sub-tree underneath this Node,
including attribute nodes, into a "normal" form where only structure (e.g.,
elements, comments, processing instructions, CDATA sections, and entity
references) separates Text nodes, i.e., there are neither adjacent Text
nodes nor empty Text nodes.
gdome_df_isSupported ()
Tests whether the DOM implementation implements a specific feature and that
feature is supported by this node.
gdome_df_set_prefix ()
Sets a new nemaspace prefix for this node.
GDOME_NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
GDOME_NAMESPACE_ERR: Raised if the specified prefix is malformed per the
Namespaces in XML specification, if the namespaceURI of this node is NULL,
if the specified prefix is "xml" and the namespaceURI of this node is
different from "http://www.w3.org/XML/1998/namespace", if this node is an
attribute and the specified prefix is "xmlns" and the namespaceURI of this
node is different from "http://www.w3.org/2000/xmlns/", or if this node is
an attribute and the qualifiedName of this node is "xmlns".
gdome_df_hasAttributes ()
gdome_df_addEventListener ()
This method allows the registration of event listeners on the event target.
If an EventListener is added to an EventTarget while it is processing an
event, it will not be triggered by the current actions but may be triggered
during a later stage of event flow, such as the bubbling phase.
If multiple identical EventListeners are registered on the same EventTarget
with the same parameters the duplicate instances are discarded. They do not
cause the EventListener to be called twice and since they are discarded
they do not need to be removed with the removeEventListener method.
gdome_df_removeEventListener ()
This method allows the removal of event listeners from the event target. If
an EventListener is removed from an EventTarget while it is processing an
event, it will not be triggered by the current actions. EventListeners can
never be invoked after being removed. Calling removeEventListener with
arguments which do not identify any currently registered EventListener on
the EventTarget has no effect.
gdome_df_dispatchEvent ()
This method allows the dispatch of events into the implementations event
model. Events dispatched in this manner will have the same capturing and
bubbling behavior as events dispatched directly by the implementation. The
target of the event is the EventTarget on which dispatchEvent is called.
GDOME_UNSPECIFIED_EVENT_TYPE_ERR: Raised if the Event's type was not
specified by initializing the event before dispatchEvent was called.
Specification of the Event's type as NULL or an empty string will also
trigger this exception.
gdome_df_subTreeDispatchEvent ()
This method allows the dispatch of events into the implementations event
model. Events dispatched in this manner will have the same capturing and
bubbling behavior as events dispatched directly by the implementation. The
target of the event is any nodes in the subtree of the EventTarget on which
dispatchEvent is called.
GDOME_UNSPECIFIED_EVENT_TYPE_ERR: Raised if the Event's type was not
specified by initializing the event before dispatchEvent was called.
Specification of the Event's type as NULL or an empty string will also
trigger this exception.
gdome_df_canAppend ()
Tests if a newChild can be added in the child list of this node.