GdomeDocument

Name

GdomeDocument -- Interface Document implementation.

Synopsis



struct      GdomeDocument;
GdomeDocumentType* gdome_doc_doctype        (GdomeDocument *self,
                                             GdomeException *exc);
GdomeDOMImplementation* gdome_doc_implementation
                                            (GdomeDocument *self,
                                             GdomeException *exc);
GdomeElement* gdome_doc_documentElement     (GdomeDocument *self,
                                             GdomeException *exc);
GdomeElement* gdome_doc_createElement       (GdomeDocument *self,
                                             GdomeDOMString *tagName,
                                             GdomeException *exc);
GdomeDocumentFragment* gdome_doc_createDocumentFragment
                                            (GdomeDocument *self,
                                             GdomeException *exc);
GdomeText*  gdome_doc_createTextNode        (GdomeDocument *self,
                                             GdomeDOMString *data,
                                             GdomeException *exc);
GdomeComment* gdome_doc_createComment       (GdomeDocument *self,
                                             GdomeDOMString *data,
                                             GdomeException *exc);
GdomeCDATASection* gdome_doc_createCDATASection
                                            (GdomeDocument *self,
                                             GdomeDOMString *data,
                                             GdomeException *exc);
GdomeProcessingInstruction* gdome_doc_createProcessingInstruction
                                            (GdomeDocument *self,
                                             GdomeDOMString *target,
                                             GdomeDOMString *data,
                                             GdomeException *exc);
GdomeAttr*  gdome_doc_createAttribute       (GdomeDocument *self,
                                             GdomeDOMString *name,
                                             GdomeException *exc);
GdomeEntityReference* gdome_doc_createEntityReference
                                            (GdomeDocument *self,
                                             GdomeDOMString *name,
                                             GdomeException *exc);
GdomeNodeList* gdome_doc_getElementsByTagName
                                            (GdomeDocument *self,
                                             GdomeDOMString *tagname,
                                             GdomeException *exc);
GdomeNode*  gdome_doc_importNode            (GdomeDocument *self,
                                             GdomeNode *importedNode,
                                             GdomeBoolean deep,
                                             GdomeException *exc);
GdomeElement* gdome_doc_createElementNS     (GdomeDocument *self,
                                             GdomeDOMString *namespaceURI,
                                             GdomeDOMString *qualifiedName,
                                             GdomeException *exc);
GdomeAttr*  gdome_doc_createAttributeNS     (GdomeDocument *self,
                                             GdomeDOMString *namespaceURI,
                                             GdomeDOMString *qualifiedName,
                                             GdomeException *exc);
GdomeNodeList* gdome_doc_getElementsByTagNameNS
                                            (GdomeDocument *self,
                                             GdomeDOMString *namespaceURI,
                                             GdomeDOMString *localName,
                                             GdomeException *exc);
GdomeElement* gdome_doc_getElementById      (GdomeDocument *self,
                                             GdomeDOMString *elementId,
                                             GdomeException *exc);
GdomeEvent* gdome_doc_createEvent           (GdomeDocument *self,
                                             GdomeDOMString *eventType,
                                             GdomeException *exc);
void        gdome_doc_ref                   (GdomeDocument *self,
                                             GdomeException *exc);
void        gdome_doc_unref                 (GdomeDocument *self,
                                             GdomeException *exc);
gpointer    gdome_doc_query_interface       (GdomeDocument *self,
                                             const char *interface,
                                             GdomeException *exc);
GdomeDOMString* gdome_doc_nodeName          (GdomeDocument *self,
                                             GdomeException *exc);
GdomeDOMString* gdome_doc_nodeValue         (GdomeDocument *self,
                                             GdomeException *exc);
void        gdome_doc_set_nodeValue         (GdomeDocument *self,
                                             GdomeDOMString *nodeValue,
                                             GdomeException *exc);
unsigned short gdome_doc_nodeType           (GdomeDocument *self,
                                             GdomeException *exc);
GdomeNode*  gdome_doc_parentNode            (GdomeDocument *self,
                                             GdomeException *exc);
GdomeNodeList* gdome_doc_childNodes         (GdomeDocument *self,
                                             GdomeException *exc);
GdomeNode*  gdome_doc_firstChild            (GdomeDocument *self,
                                             GdomeException *exc);
GdomeNode*  gdome_doc_lastChild             (GdomeDocument *self,
                                             GdomeException *exc);
GdomeNode*  gdome_doc_previousSibling       (GdomeDocument *self,
                                             GdomeException *exc);
GdomeNode*  gdome_doc_nextSibling           (GdomeDocument *self,
                                             GdomeException *exc);
GdomeNamedNodeMap* gdome_doc_attributes     (GdomeDocument *self,
                                             GdomeException *exc);
GdomeDocument* gdome_doc_ownerDocument      (GdomeDocument *self,
                                             GdomeException *exc);
GdomeNode*  gdome_doc_insertBefore          (GdomeDocument *self,
                                             GdomeNode *newChild,
                                             GdomeNode *refChild,
                                             GdomeException *exc);
GdomeNode*  gdome_doc_replaceChild          (GdomeDocument *self,
                                             GdomeNode *newChild,
                                             GdomeNode *oldChild,
                                             GdomeException *exc);
GdomeNode*  gdome_doc_removeChild           (GdomeDocument *self,
                                             GdomeNode *oldChild,
                                             GdomeException *exc);
GdomeNode*  gdome_doc_appendChild           (GdomeDocument *self,
                                             GdomeNode *newChild,
                                             GdomeException *exc);
GdomeBoolean gdome_doc_hasChildNodes        (GdomeDocument *self,
                                             GdomeException *exc);
GdomeNode*  gdome_doc_cloneNode             (GdomeDocument *self,
                                             GdomeBoolean deep,
                                             GdomeException *exc);
void        gdome_doc_normalize             (GdomeDocument *self,
                                             GdomeException *exc);
GdomeBoolean gdome_doc_isSupported          (GdomeDocument *self,
                                             GdomeDOMString *feature,
                                             GdomeDOMString *version,
                                             GdomeException *exc);
GdomeDOMString* gdome_doc_namespaceURI      (GdomeDocument *self,
                                             GdomeException *exc);
GdomeDOMString* gdome_doc_prefix            (GdomeDocument *self,
                                             GdomeException *exc);
void        gdome_doc_set_prefix            (GdomeDocument *self,
                                             GdomeDOMString *prefix,
                                             GdomeException *exc);
GdomeDOMString* gdome_doc_localName         (GdomeDocument *self,
                                             GdomeException *exc);
GdomeBoolean gdome_doc_hasAttributes        (GdomeDocument *self,
                                             GdomeException *exc);
void        gdome_doc_addEventListener      (GdomeDocument *self,
                                             GdomeDOMString *type,
                                             GdomeEventListener *listener,
                                             GdomeBoolean useCapture,
                                             GdomeException *exc);
void        gdome_doc_removeEventListener   (GdomeDocument *self,
                                             GdomeDOMString *type,
                                             GdomeEventListener *listener,
                                             GdomeBoolean useCapture,
                                             GdomeException *exc);
GdomeBoolean gdome_doc_dispatchEvent        (GdomeDocument *self,
                                             GdomeEvent *evt,
                                             GdomeException *exc);
void        gdome_doc_subTreeDispatchEvent  (GdomeDocument *self,
                                             GdomeEvent *evt,
                                             GdomeException *exc);
GdomeBoolean gdome_doc_canAppend            (GdomeDocument *self,
                                             GdomeNode *newChild,
                                             GdomeException *exc);

Description

The GdomeDocument interface represents the entire HTML or XML document. Conceptually, it is the root of the document tree, and provides the primary access to the document's data.

Since elements, text nodes, comments, processing instructions, etc. cannot exist outside the context of a GdomeDocument, the GdomeDocument interface also contains the factory methods needed to create these objects. The GdomeNode objects created have a gdome_n_ownerDocument() method which associates them with the GdomeDocument within whose context they were created.

Details

struct GdomeDocument

struct GdomeDocument {
	gpointer user_data;
};


gdome_doc_doctype ()

GdomeDocumentType* gdome_doc_doctype        (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_implementation ()

GdomeDOMImplementation* gdome_doc_implementation
                                            (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_documentElement ()

GdomeElement* gdome_doc_documentElement     (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_createElement ()

GdomeElement* gdome_doc_createElement       (GdomeDocument *self,
                                             GdomeDOMString *tagName,
                                             GdomeException *exc);

Creates an element of the type specified. Note that the instance returned implements the Element interface, so attributes can be specified directly on the returned object. To create an element with a qualified name and namespace URI, use the gdome_doc_createElementNS() function.


gdome_doc_createDocumentFragment ()

GdomeDocumentFragment* gdome_doc_createDocumentFragment
                                            (GdomeDocument *self,
                                             GdomeException *exc);

Creates an empty DocumentFragment object.


gdome_doc_createTextNode ()

GdomeText*  gdome_doc_createTextNode        (GdomeDocument *self,
                                             GdomeDOMString *data,
                                             GdomeException *exc);

Creates a Text node given the specified string.


gdome_doc_createComment ()

GdomeComment* gdome_doc_createComment       (GdomeDocument *self,
                                             GdomeDOMString *data,
                                             GdomeException *exc);

Creates a Comment node whose value is the specified string.


gdome_doc_createCDATASection ()

GdomeCDATASection* gdome_doc_createCDATASection
                                            (GdomeDocument *self,
                                             GdomeDOMString *data,
                                             GdomeException *exc);

Creates a CDATASection node whose value is the specified string.


gdome_doc_createProcessingInstruction ()

GdomeProcessingInstruction* gdome_doc_createProcessingInstruction
                                            (GdomeDocument *self,
                                             GdomeDOMString *target,
                                             GdomeDOMString *data,
                                             GdomeException *exc);

Creates a ProcessingInstruction node given the specified name and data strings.


gdome_doc_createAttribute ()

GdomeAttr*  gdome_doc_createAttribute       (GdomeDocument *self,
                                             GdomeDOMString *name,
                                             GdomeException *exc);

Creates an Attr of the given name. Note that the Attr instance can then be set on an Element using the setAttributeNode method. To create an attribute with a qualified name and namespace URI, use the gdome_doc_createAttributeNS() method.


gdome_doc_createEntityReference ()

GdomeEntityReference* gdome_doc_createEntityReference
                                            (GdomeDocument *self,
                                             GdomeDOMString *name,
                                             GdomeException *exc);

Creates an EntityReference object. In addition, if the referenced entity is known, the child list of the EntityReference node is made the same as that of the corresponding Entity node.


gdome_doc_getElementsByTagName ()

GdomeNodeList* gdome_doc_getElementsByTagName
                                            (GdomeDocument *self,
                                             GdomeDOMString *tagname,
                                             GdomeException *exc);


gdome_doc_importNode ()

GdomeNode*  gdome_doc_importNode            (GdomeDocument *self,
                                             GdomeNode *importedNode,
                                             GdomeBoolean deep,
                                             GdomeException *exc);

Imports a node from another document to this document. The returned node has no parent; (parentNode is NULL). The source node is not altered or removed from the original document; this method creates a new copy of the source node. GDOME_DOCUMENT_NODE, 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 imported is not supported.


gdome_doc_createElementNS ()

GdomeElement* gdome_doc_createElementNS     (GdomeDocument *self,
                                             GdomeDOMString *namespaceURI,
                                             GdomeDOMString *qualifiedName,
                                             GdomeException *exc);

Creates an element of the given qualified name and namespace URI.

GDOME_NAMESPACE_ERR: Raised if the qualifiedName is malformed, if the qualifiedName has a prefix and the namespaceURI is NULL, or if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from "http://www.w3.org/XML/1998/namespace".


gdome_doc_createAttributeNS ()

GdomeAttr*  gdome_doc_createAttributeNS     (GdomeDocument *self,
                                             GdomeDOMString *namespaceURI,
                                             GdomeDOMString *qualifiedName,
                                             GdomeException *exc);

Creates an attribute of the given qualified name and namespace URI.

GDOME_NAMESPACE_ERR: Raised if the qualifiedName is malformed, if the qualifiedName has a prefix and the namespaceURI is NUKK, if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from "http://www.w3.org/XML/1998/namespace", or if the qualifiedName is "xmlns" and the namespaceURI is different from "http://www.w3.org/2000/xmlns/".


gdome_doc_getElementsByTagNameNS ()

GdomeNodeList* gdome_doc_getElementsByTagNameNS
                                            (GdomeDocument *self,
                                             GdomeDOMString *namespaceURI,
                                             GdomeDOMString *localName,
                                             GdomeException *exc);


gdome_doc_getElementById ()

GdomeElement* gdome_doc_getElementById      (GdomeDocument *self,
                                             GdomeDOMString *elementId,
                                             GdomeException *exc);


gdome_doc_createEvent ()

GdomeEvent* gdome_doc_createEvent           (GdomeDocument *self,
                                             GdomeDOMString *eventType,
                                             GdomeException *exc);

If the Event interface specified is supported by the implementation this method will return a new Event of the interface type requested. If the Event is to be dispatched via the dispatchEvent method the appropriate event init method must be called after creation in order to initialize the Event's values. As an example, a user wishing to synthesize some kind of MutationEvents would call createEvent with the parameter "MutationEvents". The gdome_mevnt_initMuatationEvent() method could then be called on the newly created MutationEvent to set the specific type of MutationEvent to be dispatched and set its context information.

GDOME_NOT_SUPPORTED_ERR: Raised if the implementation does not support the type of Event interface requested


gdome_doc_ref ()

void        gdome_doc_ref                   (GdomeDocument *self,
                                             GdomeException *exc);

Increase the reference count of the specified Node.


gdome_doc_unref ()

void        gdome_doc_unref                 (GdomeDocument *self,
                                             GdomeException *exc);

Decrease the reference count of the specified Node. Free the Node structure if the Node will have zero reference.


gdome_doc_query_interface ()

gpointer    gdome_doc_query_interface       (GdomeDocument *self,
                                             const char *interface,
                                             GdomeException *exc);


gdome_doc_nodeName ()

GdomeDOMString* gdome_doc_nodeName          (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_nodeValue ()

GdomeDOMString* gdome_doc_nodeValue         (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_set_nodeValue ()

void        gdome_doc_set_nodeValue         (GdomeDocument *self,
                                             GdomeDOMString *nodeValue,
                                             GdomeException *exc);

Sets The value of this node, depending on its type.

GDOME_NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.


gdome_doc_nodeType ()

unsigned short gdome_doc_nodeType           (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_parentNode ()

GdomeNode*  gdome_doc_parentNode            (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_childNodes ()

GdomeNodeList* gdome_doc_childNodes         (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_firstChild ()

GdomeNode*  gdome_doc_firstChild            (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_lastChild ()

GdomeNode*  gdome_doc_lastChild             (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_previousSibling ()

GdomeNode*  gdome_doc_previousSibling       (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_nextSibling ()

GdomeNode*  gdome_doc_nextSibling           (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_attributes ()

GdomeNamedNodeMap* gdome_doc_attributes     (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_ownerDocument ()

GdomeDocument* gdome_doc_ownerDocument      (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_insertBefore ()

GdomeNode*  gdome_doc_insertBefore          (GdomeDocument *self,
                                             GdomeNode *newChild,
                                             GdomeNode *refChild,
                                             GdomeException *exc);

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_doc_replaceChild ()

GdomeNode*  gdome_doc_replaceChild          (GdomeDocument *self,
                                             GdomeNode *newChild,
                                             GdomeNode *oldChild,
                                             GdomeException *exc);

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_doc_removeChild ()

GdomeNode*  gdome_doc_removeChild           (GdomeDocument *self,
                                             GdomeNode *oldChild,
                                             GdomeException *exc);

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_doc_appendChild ()

GdomeNode*  gdome_doc_appendChild           (GdomeDocument *self,
                                             GdomeNode *newChild,
                                             GdomeException *exc);

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_doc_hasChildNodes ()

GdomeBoolean gdome_doc_hasChildNodes        (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_cloneNode ()

GdomeNode*  gdome_doc_cloneNode             (GdomeDocument *self,
                                             GdomeBoolean deep,
                                             GdomeException *exc);

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_doc_normalize ()

void        gdome_doc_normalize             (GdomeDocument *self,
                                             GdomeException *exc);

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_doc_isSupported ()

GdomeBoolean gdome_doc_isSupported          (GdomeDocument *self,
                                             GdomeDOMString *feature,
                                             GdomeDOMString *version,
                                             GdomeException *exc);

Tests whether the DOM implementation implements a specific feature and that feature is supported by this node.


gdome_doc_namespaceURI ()

GdomeDOMString* gdome_doc_namespaceURI      (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_prefix ()

GdomeDOMString* gdome_doc_prefix            (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_set_prefix ()

void        gdome_doc_set_prefix            (GdomeDocument *self,
                                             GdomeDOMString *prefix,
                                             GdomeException *exc);

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_doc_localName ()

GdomeDOMString* gdome_doc_localName         (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_hasAttributes ()

GdomeBoolean gdome_doc_hasAttributes        (GdomeDocument *self,
                                             GdomeException *exc);


gdome_doc_addEventListener ()

void        gdome_doc_addEventListener      (GdomeDocument *self,
                                             GdomeDOMString *type,
                                             GdomeEventListener *listener,
                                             GdomeBoolean useCapture,
                                             GdomeException *exc);

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_doc_removeEventListener ()

void        gdome_doc_removeEventListener   (GdomeDocument *self,
                                             GdomeDOMString *type,
                                             GdomeEventListener *listener,
                                             GdomeBoolean useCapture,
                                             GdomeException *exc);

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_doc_dispatchEvent ()

GdomeBoolean gdome_doc_dispatchEvent        (GdomeDocument *self,
                                             GdomeEvent *evt,
                                             GdomeException *exc);

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_doc_subTreeDispatchEvent ()

void        gdome_doc_subTreeDispatchEvent  (GdomeDocument *self,
                                             GdomeEvent *evt,
                                             GdomeException *exc);

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_doc_canAppend ()

GdomeBoolean gdome_doc_canAppend            (GdomeDocument *self,
                                             GdomeNode *newChild,
                                             GdomeException *exc);

Tests if a newChild can be added in the child list of this node.