ixml.h File Reference

#include <stdio.h>
#include <string.h>
#include <assert.h>

Go to the source code of this file.

Data Structures

struct  _IXML_Node
struct  _IXML_Document
struct  _IXML_CDATASection
struct  _IXML_Element
struct  _IXML_ATTR
struct  _IXML_Text
struct  _IXML_NodeList
struct  _IXML_NamedNodeMap

Defines

#define EXPORT_SPEC
#define DOMString   char *

Typedefs

typedef int BOOL

Functions

Interface {\it Node}

The { Node} interface forms the primary datatype for all other DOM objects. Every other interface is derived from this interface, inheriting its functionality. For more information, refer to DOM2-Core page 34.



EXPORT_SPEC const DOMString ixmlNode_getNodeName (IXML_Node *nodeptr)
EXPORT_SPEC const DOMString ixmlNode_getNodeValue (IXML_Node *nodeptr)
EXPORT_SPEC int ixmlNode_setNodeValue (IXML_Node *nodeptr, const char *newNodeValue)
EXPORT_SPEC unsigned short ixmlNode_getNodeType (IXML_Node *nodeptr)
EXPORT_SPEC IXML_NodeixmlNode_getParentNode (IXML_Node *nodeptr)
EXPORT_SPEC IXML_NodeListixmlNode_getChildNodes (IXML_Node *nodeptr)
EXPORT_SPEC IXML_NodeixmlNode_getFirstChild (IXML_Node *nodeptr)
EXPORT_SPEC IXML_NodeixmlNode_getLastChild (IXML_Node *nodeptr)
EXPORT_SPEC IXML_NodeixmlNode_getPreviousSibling (IXML_Node *nodeptr)
EXPORT_SPEC IXML_NodeixmlNode_getNextSibling (IXML_Node *nodeptr)
EXPORT_SPEC IXML_NamedNodeMapixmlNode_getAttributes (IXML_Node *nodeptr)
EXPORT_SPEC IXML_DocumentixmlNode_getOwnerDocument (IXML_Node *nodeptr)
EXPORT_SPEC const DOMString ixmlNode_getNamespaceURI (IXML_Node *nodeptr)
EXPORT_SPEC const DOMString ixmlNode_getPrefix (IXML_Node *nodeptr)
EXPORT_SPEC const DOMString ixmlNode_getLocalName (IXML_Node *nodeptr)
EXPORT_SPEC int ixmlNode_insertBefore (IXML_Node *nodeptr, IXML_Node *newChild, IXML_Node *refChild)
EXPORT_SPEC int ixmlNode_replaceChild (IXML_Node *nodeptr, IXML_Node *newChild, IXML_Node *oldChild, IXML_Node **returnNode)
EXPORT_SPEC int ixmlNode_removeChild (IXML_Node *nodeptr, IXML_Node *oldChild, IXML_Node **returnNode)
EXPORT_SPEC int ixmlNode_appendChild (IXML_Node *nodeptr, IXML_Node *newChild)
EXPORT_SPEC BOOL ixmlNode_hasChildNodes (IXML_Node *nodeptr)
EXPORT_SPEC IXML_NodeixmlNode_cloneNode (IXML_Node *nodeptr, BOOL deep)
EXPORT_SPEC BOOL ixmlNode_hasAttributes (IXML_Node *node)
EXPORT_SPEC void ixmlNode_free (IXML_Node *IXML_Node)
Interface {\it Attr}

The { Attr} interface represents an attribute of an { Element}. The document type definition (DTD) or schema usually dictate the allowable attributes and values for a particular element. For more information, refer to the { Interface Attr} section in the DOM2-Core.



EXPORT_SPEC void ixmlAttr_free (IXML_Attr *attrNode)
Interface {\it CDATASection}

The { CDATASection} is used to escape blocks of text containing characters that would otherwise be regarded as markup. CDATA sections cannot be nested. Their primary purpose is for including material such XML fragments, without needing to escape all the delimiters. For more information, refer to the { Interface CDATASection} section in the DOM2-Core.



EXPORT_SPEC void ixmlCDATASection_init (IXML_CDATASection *nodeptr)
EXPORT_SPEC void ixmlCDATASection_free (IXML_CDATASection *nodeptr)
Interface {\it Document}

The { Document} interface represents the entire XML document. In essence, it is the root of the document tree and provides the primary interface to the elements of the document. For more information, refer to the { Interface Document} section in the DOM2Core.



EXPORT_SPEC void ixmlDocument_init (IXML_Document *nodeptr)
EXPORT_SPEC int ixmlDocument_createDocumentEx (IXML_Document **doc)
EXPORT_SPEC IXML_DocumentixmlDocument_createDocument ()
EXPORT_SPEC int ixmlDocument_createElementEx (IXML_Document *doc, const DOMString tagName, IXML_Element **rtElement)
EXPORT_SPEC IXML_ElementixmlDocument_createElement (IXML_Document *doc, const DOMString tagName)
EXPORT_SPEC int ixmlDocument_createTextNodeEx (IXML_Document *doc, const DOMString data, IXML_Node **textNode)
EXPORT_SPEC IXML_NodeixmlDocument_createTextNode (IXML_Document *doc, const DOMString data)
EXPORT_SPEC int ixmlDocument_createCDATASectionEx (IXML_Document *doc, const DOMString data, IXML_CDATASection **cdNode)
EXPORT_SPEC IXML_CDATASectionixmlDocument_createCDATASection (IXML_Document *doc, const DOMString data)
EXPORT_SPEC IXML_AttrixmlDocument_createAttribute (IXML_Document *doc, const char *name)
EXPORT_SPEC int ixmlDocument_createAttributeEx (IXML_Document *doc, const char *name, IXML_Attr **attrNode)
EXPORT_SPEC IXML_NodeListixmlDocument_getElementsByTagName (IXML_Document *doc, const DOMString tagName)
EXPORT_SPEC int ixmlDocument_createElementNSEx (IXML_Document *doc, const DOMString namespaceURI, const DOMString qualifiedName, IXML_Element **rtElement)
EXPORT_SPEC IXML_ElementixmlDocument_createElementNS (IXML_Document *doc, const DOMString namespaceURI, const DOMString qualifiedName)
EXPORT_SPEC int ixmlDocument_createAttributeNSEx (IXML_Document *doc, const DOMString namespaceURI, const DOMString qualifiedName, IXML_Attr **attrNode)
EXPORT_SPEC IXML_AttrixmlDocument_createAttributeNS (IXML_Document *doc, const DOMString namespaceURI, const DOMString qualifiedName)
EXPORT_SPEC IXML_NodeListixmlDocument_getElementsByTagNameNS (IXML_Document *doc, const DOMString namespaceURI, const DOMString localName)
EXPORT_SPEC IXML_ElementixmlDocument_getElementById (IXML_Document *doc, const DOMString tagName)
EXPORT_SPEC void ixmlDocument_free (IXML_Document *doc)
EXPORT_SPEC int ixmlDocument_importNode (IXML_Document *doc, IXML_Node *importNode, BOOL deep, IXML_Node **rtNode)
Interface {\it Element}

The { Element} interface represents an element in an XML document. Only { Element}s are allowed to have attributes, which are stored in the { attributes} member of a { Node}. The { Element} interface extends the { Node} interface and adds more operations to manipulate attributes.



EXPORT_SPEC void ixmlElement_init (IXML_Element *element)
EXPORT_SPEC const DOMString ixmlElement_getTagName (IXML_Element *element)
EXPORT_SPEC const DOMString ixmlElement_getAttribute (IXML_Element *element, const DOMString name)
EXPORT_SPEC int ixmlElement_setAttribute (IXML_Element *element, const DOMString name, const DOMString value)
EXPORT_SPEC int ixmlElement_removeAttribute (IXML_Element *element, const DOMString name)
EXPORT_SPEC IXML_AttrixmlElement_getAttributeNode (IXML_Element *element, const DOMString name)
EXPORT_SPEC int ixmlElement_setAttributeNode (IXML_Element *element, IXML_Attr *newAttr, IXML_Attr **rtAttr)
EXPORT_SPEC int ixmlElement_removeAttributeNode (IXML_Element *element, IXML_Attr *oldAttr, IXML_Attr **rtAttr)
EXPORT_SPEC IXML_NodeListixmlElement_getElementsByTagName (IXML_Element *element, const DOMString tagName)
EXPORT_SPEC const DOMString ixmlElement_getAttributeNS (IXML_Element *element, const DOMString namespaceURI, const DOMString localname)
EXPORT_SPEC int ixmlElement_setAttributeNS (IXML_Element *element, const DOMString namespaceURI, const DOMString qualifiedName, const DOMString value)
EXPORT_SPEC int ixmlElement_removeAttributeNS (IXML_Element *element, const DOMString namespaceURI, const DOMString localName)
EXPORT_SPEC IXML_AttrixmlElement_getAttributeNodeNS (IXML_Element *element, const DOMString namespaceURI, const DOMString localName)
EXPORT_SPEC int ixmlElement_setAttributeNodeNS (IXML_Element *element, IXML_Attr *newAttr, IXML_Attr **rcAttr)
EXPORT_SPEC IXML_NodeListixmlElement_getElementsByTagNameNS (IXML_Element *element, const DOMString namespaceURI, const DOMString localName)
EXPORT_SPEC BOOL ixmlElement_hasAttribute (IXML_Element *element, const DOMString name)
EXPORT_SPEC BOOL ixmlElement_hasAttributeNS (IXML_Element *element, const DOMString namespaceURI, const DOMString localName)
EXPORT_SPEC void ixmlElement_free (IXML_Element *element)
Interface {\it NamedNodeMap}

A { NamedNodeMap} object represents a list of objects that can be accessed by name. A { NamedNodeMap} maintains the objects in no particular order. The { Node} interface uses a { NamedNodeMap} to maintain the attributes of a node.



EXPORT_SPEC unsigned long ixmlNamedNodeMap_getLength (IXML_NamedNodeMap *nnMap)
EXPORT_SPEC IXML_NodeixmlNamedNodeMap_getNamedItem (IXML_NamedNodeMap *nnMap, const DOMString name)
EXPORT_SPEC IXML_NodeixmlNamedNodeMap_setNamedItem (IXML_NamedNodeMap *nnMap, IXML_Node *arg)
EXPORT_SPEC IXML_NodeixmlNamedNodeMap_removeNamedItem (IXML_NamedNodeMap *nnMap, const DOMString name)
EXPORT_SPEC IXML_NodeixmlNamedNodeMap_item (IXML_NamedNodeMap *nnMap, unsigned long index)
EXPORT_SPEC IXML_NodeixmlNamedNodeMap_getNamedItemNS (IXML_NamedNodeMap *nnMap, const DOMString *namespaceURI, const DOMString localName)
EXPORT_SPEC IXML_NodeixmlNamedNodeMap_setNamedItemNS (IXML_NamedNodeMap *nnMap, IXML_Node *arg)
EXPORT_SPEC IXML_NodeixmlNamedNodeMap_removeNamedItemNS (IXML_NamedNodeMap *nnMap, const DOMString namespaceURI, const DOMString localName)
EXPORT_SPEC void ixmlNamedNodeMap_free (IXML_NamedNodeMap *nnMap)
Interface {\it NodeList}

The { NodeList} interface abstracts an ordered collection of nodes. Note that changes to the underlying nodes will change the nodes contained in a { NodeList}. The DOM2-Core refers to this as being { live}.



EXPORT_SPEC IXML_NodeixmlNodeList_item (IXML_NodeList *nList, unsigned long index)
EXPORT_SPEC unsigned long ixmlNodeList_length (IXML_NodeList *nList)
EXPORT_SPEC void ixmlNodeList_free (IXML_NodeList *nList)
IXML API

The IXML API contains utility functions that are not part of the standard DOM interfaces. They include functions to create a DOM structure from a file or buffer, create an XML file from a DOM structure, and manipulate DOMString objects.



DOMString ixmlPrintDocument (IXML_Document *doc)
DOMString ixmlPrintNode (IXML_Node *doc)
DOMString ixmlDocumenttoString (IXML_Document *doc)
EXPORT_SPEC DOMString ixmlNodetoString (IXML_Node *doc)
void ixmlRelaxParser (char errorChar)
EXPORT_SPEC IXML_DocumentixmlParseBuffer (const char *buffer)
EXPORT_SPEC int ixmlParseBufferEx (const char *buffer, IXML_Document **doc)
EXPORT_SPEC IXML_DocumentixmlLoadDocument (const char *xmlFile)
EXPORT_SPEC int ixmlLoadDocumentEx (const char *xmlFile, IXML_Document **doc)
EXPORT_SPEC DOMString ixmlCloneDOMString (const DOMString src)
EXPORT_SPEC void ixmlFreeDOMString (DOMString buf)

DOM Interfaces

The Document Object Model consists of a set of objects and interfaces for accessing and manipulating documents. IXML does not implement all the interfaces documented in the DOM2-Core recommendation but defines a subset of the most useful interfaces. A description of the supported interfaces and methods is presented in this section.

For a complete discussion on the object model, the object hierarchy, etc., refer to section 1.1 of the DOM2-Core recommendation.



#define DOCUMENTNODENAME   "#document"
#define TEXTNODENAME   "#text"
#define CDATANODENAME   "#cdata-section"
enum  IXML_NODE_TYPE {
  eINVALID_NODE = 0, eELEMENT_NODE = 1, eATTRIBUTE_NODE = 2, eTEXT_NODE = 3,
  eCDATA_SECTION_NODE = 4, eENTITY_REFERENCE_NODE = 5, eENTITY_NODE = 6, ePROCESSING_INSTRUCTION_NODE = 7,
  eCOMMENT_NODE = 8, eDOCUMENT_NODE = 9, eDOCUMENT_TYPE_NODE = 10, eDOCUMENT_FRAGMENT_NODE = 11,
  eNOTATION_NODE = 12
}
enum  IXML_ERRORCODE {
  IXML_INDEX_SIZE_ERR = 1, IXML_DOMSTRING_SIZE_ERR = 2, IXML_HIERARCHY_REQUEST_ERR = 3, IXML_WRONG_DOCUMENT_ERR = 4,
  IXML_INVALID_CHARACTER_ERR = 5, IXML_NO_DATA_ALLOWED_ERR = 6, IXML_NO_MODIFICATION_ALLOWED_ERR = 7, IXML_NOT_FOUND_ERR = 8,
  IXML_NOT_SUPPORTED_ERR = 9, IXML_INUSE_ATTRIBUTE_ERR = 10, IXML_INVALID_STATE_ERR = 11, IXML_SYNTAX_ERR = 12,
  IXML_INVALID_MODIFICATION_ERR = 13, IXML_NAMESPACE_ERR = 14, IXML_INVALID_ACCESS_ERR = 15, IXML_SUCCESS = 0,
  IXML_NO_SUCH_FILE = 101, IXML_INSUFFICIENT_MEMORY = 102, IXML_FILE_DONE = 104, IXML_INVALID_PARAMETER = 105,
  IXML_FAILED = 106, IXML_INVALID_ITEM_NUMBER = 107
}
typedef struct _IXML_DocumentDocptr
typedef struct _IXML_NodeNodeptr
typedef struct _IXML_Node IXML_Node
typedef struct _IXML_Document IXML_Document
typedef struct _IXML_CDATASection IXML_CDATASection
typedef struct _IXML_Element IXML_Element
typedef struct _IXML_ATTR IXML_Attr
typedef struct _IXML_Text IXML_Text
typedef struct _IXML_NodeList IXML_NodeList
typedef struct _IXML_NamedNodeMap IXML_NamedNodeMap

Define Documentation

#define CDATANODENAME   "#cdata-section"

Definition at line 153 of file ixml.h.

#define DOCUMENTNODENAME   "#document"

Definition at line 151 of file ixml.h.

#define DOMString   char *

Definition at line 56 of file ixml.h.

Referenced by ActionRequest::ActionRequest().

#define EXPORT_SPEC

Definition at line 51 of file ixml.h.

#define TEXTNODENAME   "#text"

Definition at line 152 of file ixml.h.


Typedef Documentation

typedef int BOOL

Definition at line 54 of file ixml.h.

typedef struct _IXML_Document* Docptr

Definition at line 161 of file ixml.h.

typedef struct _IXML_ATTR IXML_Attr
typedef struct _IXML_Document IXML_Document
typedef struct _IXML_Element IXML_Element
typedef struct _IXML_Node IXML_Node
typedef struct _IXML_NodeList IXML_NodeList
typedef struct _IXML_Text IXML_Text
typedef struct _IXML_Node* Nodeptr

Definition at line 163 of file ixml.h.


Enumeration Type Documentation

Enumerator:
IXML_INDEX_SIZE_ERR 
IXML_DOMSTRING_SIZE_ERR 
IXML_HIERARCHY_REQUEST_ERR 
IXML_WRONG_DOCUMENT_ERR 
IXML_INVALID_CHARACTER_ERR 
IXML_NO_DATA_ALLOWED_ERR 
IXML_NO_MODIFICATION_ALLOWED_ERR 
IXML_NOT_FOUND_ERR 
IXML_NOT_SUPPORTED_ERR 
IXML_INUSE_ATTRIBUTE_ERR 
IXML_INVALID_STATE_ERR 
IXML_SYNTAX_ERR 
IXML_INVALID_MODIFICATION_ERR 
IXML_NAMESPACE_ERR 
IXML_INVALID_ACCESS_ERR 
IXML_SUCCESS 
IXML_NO_SUCH_FILE 
IXML_INSUFFICIENT_MEMORY 
IXML_FILE_DONE 
IXML_INVALID_PARAMETER 
IXML_FAILED 
IXML_INVALID_ITEM_NUMBER 

Definition at line 122 of file ixml.h.

Enumerator:
eINVALID_NODE 
eELEMENT_NODE 
eATTRIBUTE_NODE 
eTEXT_NODE 
eCDATA_SECTION_NODE 
eENTITY_REFERENCE_NODE 
eENTITY_NODE 
ePROCESSING_INSTRUCTION_NODE 
eCOMMENT_NODE 
eDOCUMENT_NODE 
eDOCUMENT_TYPE_NODE 
eDOCUMENT_FRAGMENT_NODE 
eNOTATION_NODE 

Definition at line 98 of file ixml.h.


Function Documentation

EXPORT_SPEC void ixmlAttr_free ( IXML_Attr attrNode  ) 

Frees an { Attr} node.

Returns:
[void] This function does not return a value.
Parameters:
attrNode The { Attr} node to free.
EXPORT_SPEC void ixmlCDATASection_free ( IXML_CDATASection nodeptr  ) 

Frees a { CDATASection} node.

Returns:
[void] This function does not return a value.
Parameters:
nodeptr The { CDATASection} node to free.
EXPORT_SPEC void ixmlCDATASection_init ( IXML_CDATASection nodeptr  ) 

Initializes a { CDATASection} node.

Returns:
[void] This function does not return a value.
Parameters:
nodeptr The { CDATASection} node to initialize.
EXPORT_SPEC DOMString ixmlCloneDOMString ( const DOMString  src  ) 

Clones an existing { DOMString}.

Returns:
[DOMString] A new { DOMString} that is a duplicate of the original or { NULL} if the operation could not be completed.
Parameters:
src The source { DOMString} to clone.

Referenced by WebRequestHandler::get_info(), ServeRequestHandler::get_info(), FileRequestHandler::get_info(), ServeRequestHandler::open(), and FileRequestHandler::open().

EXPORT_SPEC IXML_Attr* ixmlDocument_createAttribute ( IXML_Document doc,
const char *  name 
)

Creates a new { Attr} node with the given name.

Returns:
[Attr*] A pointer to the new { Attr} or { NULL} on failure.
Parameters:
name The owner { Document} of the new node. The name of the new attribute.
EXPORT_SPEC int ixmlDocument_createAttributeEx ( IXML_Document doc,
const char *  name,
IXML_Attr **  attrNode 
)

Creates a new { Attr} node with the given name.

The { ixmlDocument_createAttributeEx} API differs from the { ixmlDocument_createAttribute} API in that it returns an error code describing the reason for failure rather than just { NULL}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { doc} or { name} is { NULL}. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exists to complete this operation. {itemize}
Parameters:
name The owner { Document} of the new node.
attrNode The name of the new attribute. A pointer to a { Attr} where the new object will be stored.
EXPORT_SPEC IXML_Attr* ixmlDocument_createAttributeNS ( IXML_Document doc,
const DOMString  namespaceURI,
const DOMString  qualifiedName 
)

Creates a new { Attr} node with the given qualified name and namespace URI.

Returns:
[Attr*] A pointer to the new { Attr} or { NULL} on failure.
Parameters:
namespaceURI The owner { Document} of the new { Attr}.
qualifiedName The namespace URI for the attribute. The qualified name of the attribute.
EXPORT_SPEC int ixmlDocument_createAttributeNSEx ( IXML_Document doc,
const DOMString  namespaceURI,
const DOMString  qualifiedName,
IXML_Attr **  attrNode 
)

Creates a new { Attr} node with the given qualified name and namespace URI.

The { ixmlDocument_createAttributeNSEx} API differs from the { ixmlDocument_createAttributeNS} API in that it returns an error code describing the reason for failure rather than just { NULL}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { doc}, { namespaceURI}, or { qualifiedName} is { NULL}. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exists to complete this operation. {itemize}
Parameters:
namespaceURI The owner { Document} of the new { Attr}.
qualifiedName The namespace URI for the attribute.
attrNode The qualified name of the attribute. A pointer to an { Attr} where the new object will be stored.
EXPORT_SPEC IXML_CDATASection* ixmlDocument_createCDATASection ( IXML_Document doc,
const DOMString  data 
)

Creates a new { CDATASection} node with given data.

Returns:
[CDATASection*] A pointer to the new { CDATASection} or { NULL} on failure.
Parameters:
data The owner { Document} of the new node. The data to associate with the new { CDATASection} node.
EXPORT_SPEC int ixmlDocument_createCDATASectionEx ( IXML_Document doc,
const DOMString  data,
IXML_CDATASection **  cdNode 
)

Creates a new { CDATASection} node with given data.

The { ixmlDocument_createCDATASectionEx} API differs from the { ixmlDocument_createCDATASection} API in that it returns an error code describing the reason for failure rather than just { NULL}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { doc} or { data} is { NULL}. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exists to complete this operation. {itemize}
Parameters:
data The owner { Document} of the new node.
cdNode The data to associate with the new { CDATASection} node. A pointer to a { Node} where the new object will be stored.
EXPORT_SPEC IXML_Document* ixmlDocument_createDocument (  ) 

Creates a new empty { Document} node.

Returns:
[Document*] A pointer to the new { Document} or { NULL} on failure.
EXPORT_SPEC int ixmlDocument_createDocumentEx ( IXML_Document **  doc  ) 

Creates a new empty { Document} node. The { ixmlDocument_createDocumentEx} API differs from the { ixmlDocument_createDocument} API in that it returns an error code describing the reason for the failure rather than just { NULL}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exists to complete this operation. {itemize}
Parameters:
doc Pointer to a { Document} where the new object will be stored.
EXPORT_SPEC IXML_Element* ixmlDocument_createElement ( IXML_Document doc,
const DOMString  tagName 
)

Creates a new { Element} node with the given tag name. The new { Element} node has a { nodeName} of { tagName} and the { localName}, { prefix}, and { namespaceURI} set to { NULL}. To create an { Element} with a namespace, see { ixmlDocument_createElementNS}.

Returns:
[Document*] A pointer to the new { Element} or { NULL} on failure.
Parameters:
tagName The owner { Document} of the new node. The tag name of the new { Element} node.
EXPORT_SPEC int ixmlDocument_createElementEx ( IXML_Document doc,
const DOMString  tagName,
IXML_Element **  rtElement 
)

Creates a new { Element} node with the given tag name. The new { Element} node has a { nodeName} of { tagName} and the { localName}, { prefix}, and { namespaceURI} set to { NULL}. To create an { Element} with a namespace, see { ixmlDocument_createElementNS}.

The { ixmlDocument_createElementEx} API differs from the { ixmlDocument_createElement} API in that it returns an error code describing the reason for failure rather than just { NULL}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { doc} or { tagName} is { NULL}. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exists to complete this operation. {itemize}
Parameters:
tagName The owner { Document} of the new node.
rtElement The tag name of the new { Element} node. Pointer to an { Element} where the new object will be stored.
EXPORT_SPEC IXML_Element* ixmlDocument_createElementNS ( IXML_Document doc,
const DOMString  namespaceURI,
const DOMString  qualifiedName 
)

Creates a new { Element} node in the given qualified name and namespace URI.

Returns:
[Element*] A pointer to the new { Element} or { NULL} on failure.
Parameters:
namespaceURI The owner { Document} of the new node.
qualifiedName The namespace URI for the new { Element}. The qualified name of the new { Element}.
EXPORT_SPEC int ixmlDocument_createElementNSEx ( IXML_Document doc,
const DOMString  namespaceURI,
const DOMString  qualifiedName,
IXML_Element **  rtElement 
)

Creates a new { Element} node in the given qualified name and namespace URI.

The { ixmlDocument_createElementNSEx} API differs from the { ixmlDocument_createElementNS} API in that it returns an error code describing the reason for failure rather than just { NULL}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { doc}, { namespaceURI}, or { qualifiedName} is { NULL}. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exists to complete this operation. {itemize}
Parameters:
namespaceURI The owner { Document} of the new node.
qualifiedName The namespace URI for the new { Element}.
rtElement The qualified name of the new { Element}. A pointer to an { Element} where the new object will be stored.
EXPORT_SPEC IXML_Node* ixmlDocument_createTextNode ( IXML_Document doc,
const DOMString  data 
)

Creates a new { Text} node with the given data.

Returns:
[Node*] A pointer to the new { Node} or { NULL} on failure.
Parameters:
data The owner { Document} of the new node. The data to associate with the new { Text} node.
EXPORT_SPEC int ixmlDocument_createTextNodeEx ( IXML_Document doc,
const DOMString  data,
IXML_Node **  textNode 
)

Creates a new { Text} node with the given data. The { ixmlDocument_createTextNodeEx} API differs from the { ixmlDocument_createTextNode} API in that it returns an error code describing the reason for failure rather than just { NULL}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { doc} or { data} is { NULL}. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exists to complete this operation. {itemize}
Parameters:
data The owner { Document} of the new node.
textNode The data to associate with the new { Text} node. A pointer to a { Node} where the new object will be stored.
EXPORT_SPEC void ixmlDocument_free ( IXML_Document doc  ) 

Frees a { Document} object and all { Node}s associated with it. Any { Node}s extracted via any other interface function, e.g. { ixmlDocument_GetElementById}, become invalid after this call unless explicitly cloned.

Returns:
[void] This function does not return a value.
Parameters:
doc The { Document} to free.

Referenced by ConnectionManagerService::process_subscription_request(), ContentDirectoryService::process_subscription_request(), ConnectionManagerService::subscription_update(), and ContentDirectoryService::subscription_update().

EXPORT_SPEC IXML_Element* ixmlDocument_getElementById ( IXML_Document doc,
const DOMString  tagName 
)

Returns the { Element} whose { ID} matches that given id.

Returns:
[Element*] A pointer to the matching { Element} or { NULL} on an error.
Parameters:
tagName The owner { Document} of the { Element}. The name of the { Element}.
EXPORT_SPEC IXML_NodeList* ixmlDocument_getElementsByTagName ( IXML_Document doc,
const DOMString  tagName 
)

Returns a { NodeList} of all { Elements} that match the given tag name in the order in which they were encountered in a preorder traversal of the { Document} tree.

Returns:
[NodeList*] A pointer to a { NodeList} containing the matching items or { NULL} on an error.
Parameters:
tagName The { Document} to search. The tag name to find.
EXPORT_SPEC IXML_NodeList* ixmlDocument_getElementsByTagNameNS ( IXML_Document doc,
const DOMString  namespaceURI,
const DOMString  localName 
)

Returns a { NodeList} of { Elements} that match the given local name and namespace URI in the order they are encountered in a preorder traversal of the { Document} tree. Either { namespaceURI} or { localName} can be the special { "*"} character, which matches any namespace or any local name respectively.

Returns:
[NodeList*] A pointer to a { NodeList} containing the matching items or { NULL} on an error.
Parameters:
namespaceURI The { Document} to search.
localName The namespace of the elements to find or { "*"} to match any namespace. The local name of the elements to find or { "*"} to match any local name.
EXPORT_SPEC int ixmlDocument_importNode ( IXML_Document doc,
IXML_Node importNode,
BOOL  deep,
IXML_Node **  rtNode 
)

Imports a { Node} from another { Document} into this { Document}. The new { Node} does not a have parent node: it is a clone of the original { Node} with the { ownerDocument} set to { doc}. The { deep} parameter controls whether all the children of the { Node} are imported. Refer to the DOM2-Core recommendation for details on importing specific node types.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { doc} or { importNode} is not a valid pointer. { IXML_NOT_SUPPORTED_ERR}: { importNode} is a { Document}, which cannot be imported. { IXML_FAILED}: The import operation failed because the { Node} to be imported could not be cloned. {itemize}
Parameters:
importNode The { Document} into which to import.
deep The { Node} to import.
rtNode { TRUE} to import all children of { importNode} or { FALSE} to import only the root node. A pointer to a new { Node} owned by { doc}.
EXPORT_SPEC void ixmlDocument_init ( IXML_Document nodeptr  ) 

Initializes a { Document} node.

Returns:
[void] This function does not return a value.
Parameters:
nodeptr The { Document} node to initialize.
DOMString ixmlDocumenttoString ( IXML_Document doc  ) 

Renders a { Node} and all sub-elements into an XML document representation. The caller is required to free the { DOMString} returned from this function using { ixmlFreeDOMString} when it is no longer required.

Note that this function can be used for any { Node}-derived interface. The difference between { ixmlDocumenttoString} and { ixmlNodetoString} is { ixmlDocumenttoString} includes the XML prolog while { ixmlNodetoString} only produces XML elements. An XML document is not well formed unless it includes the prolog and at least one element.

Returns:
[DOMString] A { DOMString} with the XML text representation of the DOM tree or { NULL} on an error.
EXPORT_SPEC void ixmlElement_free ( IXML_Element element  ) 

Frees the given { Element} and any subtree of the { Element}.

Returns:
[void] This function does not return a value.
Parameters:
element The { Element} to free.
EXPORT_SPEC const DOMString ixmlElement_getAttribute ( IXML_Element element,
const DOMString  name 
)

Retrieves an attribute of an { Element} by name.

Returns:
[DOMString] A { DOMString} representing the value of the attribute.
Parameters:
name The { Element} from which to retrieve the attribute. The name of the attribute to retrieve.
EXPORT_SPEC IXML_Attr* ixmlElement_getAttributeNode ( IXML_Element element,
const DOMString  name 
)

Retrieves an attribute node by name. See { ixmlElement_getAttributeNodeNS} to retrieve an attribute node using a qualified name or namespace URI.

Returns:
[Attr*] A pointer to the attribute matching { name} or { NULL} on an error.
Parameters:
name The { Element} from which to get the attribute node. The name of the attribute node to find.
EXPORT_SPEC IXML_Attr* ixmlElement_getAttributeNodeNS ( IXML_Element element,
const DOMString  namespaceURI,
const DOMString  localName 
)

Retrieves an { Attr} node by local name and namespace URI.

Returns:
[Attr*] A pointer to an { Attr} or { NULL} on an error.
Parameters:
namespaceURI The { Element} from which to get the attribute.
localName The namespace URI of the attribute. The local name of the attribute.
EXPORT_SPEC const DOMString ixmlElement_getAttributeNS ( IXML_Element element,
const DOMString  namespaceURI,
const DOMString  localname 
)

Retrieves an attribute value using the local name and namespace URI.

Returns:
[DOMString] A { DOMString} representing the value of the matching attribute.
Parameters:
namespaceURI The { Element} from which to get the attribute value.
localname The namespace URI of the attribute. The local name of the attribute.
EXPORT_SPEC IXML_NodeList* ixmlElement_getElementsByTagName ( IXML_Element element,
const DOMString  tagName 
)

Returns a { NodeList} of all { descendant} { Elements} with a given tag name, in the order in which they are encountered in a pre-order traversal of this { Element} tree.

Returns:
[NodeList*] A { NodeList} of the matching { Element}s or { NULL} on an error.
Parameters:
tagName The { Element} from which to start the search. The name of the tag for which to search.
EXPORT_SPEC IXML_NodeList* ixmlElement_getElementsByTagNameNS ( IXML_Element element,
const DOMString  namespaceURI,
const DOMString  localName 
)

Returns a { NodeList} of all { descendant} { Elements} with a given tag name, in the order in which they are encountered in the pre-order traversal of the { Element} tree.

Returns:
[NodeList*] A { NodeList} of matching { Element}s or { NULL} on an error.
Parameters:
namespaceURI The { Element} from which to start the search.
localName The namespace URI of the { Element}s to find. The local name of the { Element}s to find.
EXPORT_SPEC const DOMString ixmlElement_getTagName ( IXML_Element element  ) 

Returns the name of the tag as a constant string.

Returns:
[const DOMString] A { DOMString} representing the name of the { Element}.
Parameters:
element The { Element} from which to retrieve the name.
EXPORT_SPEC BOOL ixmlElement_hasAttribute ( IXML_Element element,
const DOMString  name 
)

Queries whether the { Element} has an attribute with the given name or a default value.

Returns:
[BOOL] { TRUE} if the { Element} has an attribute with this name or has a default value for that attribute, otherwise { FALSE}.
Parameters:
name The { Element} on which to check for an attribute. The name of the attribute for which to check.
EXPORT_SPEC BOOL ixmlElement_hasAttributeNS ( IXML_Element element,
const DOMString  namespaceURI,
const DOMString  localName 
)

Queries whether the { Element} has an attribute with the given local name and namespace URI or has a default value for that attribute.

Returns:
[BOOL] { TRUE} if the { Element} has an attribute with the given namespace and local name or has a default value for that attribute, otherwise { FALSE}.
Parameters:
namespaceURI The { Element} on which to check for the attribute.
localName The namespace URI of the attribute. The local name of the attribute.
EXPORT_SPEC void ixmlElement_init ( IXML_Element element  ) 

Initializes a { IXML_Element} node.

Returns:
[void] This function does not return a value.
Parameters:
element The { Element} to initialize.
EXPORT_SPEC int ixmlElement_removeAttribute ( IXML_Element element,
const DOMString  name 
)

Removes an attribute by name.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { element} or { name} is { NULL}. {itemize}
Parameters:
name The { Element} from which to remove the attribute. The name of the attribute to remove.
EXPORT_SPEC int ixmlElement_removeAttributeNode ( IXML_Element element,
IXML_Attr oldAttr,
IXML_Attr **  rtAttr 
)

Removes the specified attribute node from an { Element}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { element} or { oldAttr} is { NULL}. { IXML_NOT_FOUND_ERR}: { oldAttr} is not among the list attributes of { element}. {itemize}
Parameters:
oldAttr The { Element} from which to remove the attribute.
rtAttr The attribute to remove from the { Element}. A pointer to an attribute in which to place the removed attribute.
EXPORT_SPEC int ixmlElement_removeAttributeNS ( IXML_Element element,
const DOMString  namespaceURI,
const DOMString  localName 
)

Removes an attribute using the namespace URI and local name.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { element}, { namespaceURI}, or { localName} is { NULL}. {itemize}
Parameters:
namespaceURI The { Element} from which to remove the the attribute.
localName The namespace URI of the attribute. The local name of the attribute.
EXPORT_SPEC int ixmlElement_setAttribute ( IXML_Element element,
const DOMString  name,
const DOMString  value 
)

Adds a new attribute to an { Element}. If an attribute with the same name already exists, the attribute value will be updated with the new value in { value}.

Returns:
[int] An integer representing of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { element}, { name}, or { value} is { NULL}. { IXML_INVALID_CHARACTER_ERR}: { name} contains an illegal character. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exists to complete the operation. {itemize}
Parameters:
name The { Element} on which to set the attribute.
value The name of the attribute. The value of the attribute. Note that this is a non-parsed string and any markup must be escaped.
EXPORT_SPEC int ixmlElement_setAttributeNode ( IXML_Element element,
IXML_Attr newAttr,
IXML_Attr **  rtAttr 
)

Adds a new attribute node to an { Element}. If an attribute already exists with { newAttr} as a name, it will be replaced with the new one and the old one will be returned in { rtAttr}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { element} or { newAttr} is { NULL}. { IXML_WRONG_DOCUMENT_ERR}: { newAttr} does not belong to the same one as { element}. { IXML_INUSE_ATTRIBUTE_ERR}: { newAttr} is already an attribute of another { Element}. {itemize}
Parameters:
newAttr The { Element} in which to add the new attribute.
rtAttr The new { Attr} to add. A pointer to an { Attr} where the old { Attr} will be stored. This will have a { NULL} if no prior node existed.
EXPORT_SPEC int ixmlElement_setAttributeNodeNS ( IXML_Element element,
IXML_Attr newAttr,
IXML_Attr **  rcAttr 
)

Adds a new attribute node. If an attribute with the same local name and namespace URI already exists in the { Element}, the existing attribute node is replaced with { newAttr} and the old returned in { rcAttr}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { element} or { newAttr} is { NULL}. { IXML_WRONG_DOCUMENT_ERR}: { newAttr} does not belong to the same document as { element}. { IXML_INUSE_ATTRIBUTE_ERR}: { newAttr} already is an attribute of another { Element}. {itemize}
Parameters:
newAttr The { Element} in which to add the attribute node.
rcAttr The new { Attr} to add. A pointer to the replaced { Attr}, if it exists.
EXPORT_SPEC int ixmlElement_setAttributeNS ( IXML_Element element,
const DOMString  namespaceURI,
const DOMString  qualifiedName,
const DOMString  value 
)

Adds a new attribute to an { Element} using the local name and namespace URI. If another attribute matches the same local name and namespace, the prefix is changed to be the prefix part of the { qualifiedName} and the value is changed to { value}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { element}, { namespaceURI}, { qualifiedName}, or { value} is { NULL}. { IXML_INVALID_CHARACTER_ERR}: { qualifiedName} contains an invalid character. { IXML_NAMESPACE_ERR}: Either the { qualifiedName} or { namespaceURI} is malformed. Refer to the DOM2-Core for possible reasons. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exist to complete the operation. { IXML_FAILED}: The operation could not be completed. {itemize}
Parameters:
namespaceURI The { Element} on which to set the attribute.
qualifiedName The namespace URI of the new attribute.
value The qualified name of the attribute. The new value for the attribute.
EXPORT_SPEC void ixmlFreeDOMString ( DOMString  buf  ) 

Frees a { DOMString}.

Returns:
[void] This function does not return a value.
Parameters:
buf The { DOMString} to free.

Referenced by ActionRequest::ActionRequest().

EXPORT_SPEC IXML_Document* ixmlLoadDocument ( const char *  xmlFile  ) 

Parses an XML text file converting it into an IXML DOM representation.

Returns:
[Document*] A { Document} if the file correctly parses or { NULL} on an error.
Parameters:
xmlFile The filename of the XML text to convert to a { Document}.
EXPORT_SPEC int ixmlLoadDocumentEx ( const char *  xmlFile,
IXML_Document **  doc 
)

Parses an XML text file converting it into an IXML DOM representation.

The { ixmlLoadDocumentEx} API differs from the { ixmlLoadDocument} API in that it returns a an error code representing the actual failure rather than just { NULL}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: The { xmlFile} is not a valid pointer. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exists to complete this operation. {itemize}
Parameters:
doc The filename of the XML text to convert to a { Document}. A pointer to the { Document} if file correctly parses or { NULL} on an error.
EXPORT_SPEC void ixmlNamedNodeMap_free ( IXML_NamedNodeMap nnMap  ) 

Frees a { NamedNodeMap}. The { Node}s inside the map are not freed, just the { NamedNodeMap} object.

Returns:
[void] This function does not return a value.
Parameters:
nnMap The { NamedNodeMap to free}.
EXPORT_SPEC unsigned long ixmlNamedNodeMap_getLength ( IXML_NamedNodeMap nnMap  ) 

Returns the number of items contained in this { NamedNodeMap}.

Returns:
[unsigned long] The number of nodes in this map.
Parameters:
nnMap The { NamedNodeMap} from which to retrieve the size.
EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_getNamedItem ( IXML_NamedNodeMap nnMap,
const DOMString  name 
)

Retrieves a { Node} from the { NamedNodeMap} by name.

Returns:
[Node*] A { Node} or { NULL} if there is an error.
Parameters:
name The { NamedNodeMap} to search. The name of the { Node} to find.
EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_getNamedItemNS ( IXML_NamedNodeMap nnMap,
const DOMString *  namespaceURI,
const DOMString  localName 
)

Retrieves a { Node} from a { NamedNodeMap} specified by namespace URI and local name.

Returns:
[Node*] A pointer to the { Node}, if found, or { NULL} if it wasn't
Parameters:
namespaceURI The { NamedNodeMap} from which to remove the { Node}.
localName The namespace URI of the { Node} to remove. The local name of the { Node} to remove.
EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_item ( IXML_NamedNodeMap nnMap,
unsigned long  index 
)

Retrieves a { Node} from a { NamedNodeMap} specified by a numerical index.

Returns:
[Node*] A pointer to the { Node}, if found, or { NULL} if it wasn't.
Parameters:
index The { NamedNodeMap} from which to remove the { Node}. The index into the map to remove.
EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_removeNamedItem ( IXML_NamedNodeMap nnMap,
const DOMString  name 
)

Removes a { Node} from a { NamedNodeMap} specified by name.

Returns:
[Node*] A pointer to the { Node}, if found, or { NULL} if it wasn't.
Parameters:
name The { NamedNodeMap} from which to remove the item. The name of the item to remove.
EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_removeNamedItemNS ( IXML_NamedNodeMap nnMap,
const DOMString  namespaceURI,
const DOMString  localName 
)

Removes a { Node} from a { NamedNodeMap} specified by namespace URI and local name.

Returns:
[Node*] A pointer to the { Node}, if found, or { NULL} if it wasn't.
Parameters:
namespaceURI The { NamedNodeMap} from which to remove the { Node}.
localName The namespace URI of the { Node} to remove. The local name of the { Node} to remove.
EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_setNamedItem ( IXML_NamedNodeMap nnMap,
IXML_Node arg 
)

Adds a new { Node} to the { NamedNodeMap} using the { Node} name attribute.

Returns:
[Node*] The old { Node} if the new { Node} replaces it or { NULL} if the { Node} was not in the { NamedNodeMap} before.
Parameters:
arg The { NamedNodeMap} in which to add the new { Node}. The new { Node} to add to the { NamedNodeMap}.
EXPORT_SPEC IXML_Node* ixmlNamedNodeMap_setNamedItemNS ( IXML_NamedNodeMap nnMap,
IXML_Node arg 
)

Adds a new { Node} to the { NamedNodeMap} using the { Node} local name and namespace URI attributes.

Returns:
[Node*] The old { Node} if the new { Node} replaces it or { NULL} if the { Node} was not in the { NamedNodeMap} before.
Parameters:
arg The { NamedNodeMap} in which to add the { Node}. The { Node} to add to the map.
EXPORT_SPEC int ixmlNode_appendChild ( IXML_Node nodeptr,
IXML_Node newChild 
)

Appends a child { Node} to the list of children of a { Node}. If { newChild} is already in the tree, it is removed first.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { nodeptr} or { newChild} is { NULL}. { IXML_HIERARCHY_REQUEST_ERR}: { newChild} is of a type that cannot be added as a child of { nodeptr} or { newChild} is an ancestor of { nodeptr}. { IXML_WRONG_DOCUMENT_ERR}: { newChild} was created from a different document than { nodeptr}. { IXML_NO_MODIFICATION_ALLOWED_ERR}: { nodeptr} is a read-only { Node}.
Parameters:
newChild The { Node} in which to append the new child. The new child to append.
EXPORT_SPEC IXML_Node* ixmlNode_cloneNode ( IXML_Node nodeptr,
BOOL  deep 
)

Clones a { Node}. The new { Node} does not have a parent. The { deep} parameter controls whether the subtree of the { Node} is also cloned. For details on cloning specific types of { Node}s, refer to the DOM2-Core recommendation.

Returns:
[Node*] A clone of { nodeptr} or { NULL}.
Parameters:
deep The { Node} to clone. { TRUE} to clone the subtree also or { FALSE} to clone only { nodeptr}.
EXPORT_SPEC void ixmlNode_free ( IXML_Node IXML_Node  ) 

Frees a { Node} and all { Node}s in its subtree.

Returns:
[void] This function does not return a value.
Parameters:
IXML_Node The { Node} to free.
EXPORT_SPEC IXML_NamedNodeMap* ixmlNode_getAttributes ( IXML_Node nodeptr  ) 

Retrieves the attributes of a { Node}, if it is an { Element} node, in a { NamedNodeMap} structure.

Returns:
[NamedNodeMap*] A { NamedNodeMap} of the attributes or { NULL}.
Parameters:
nodeptr The { Node} from which to retrieve the attributes.
EXPORT_SPEC IXML_NodeList* ixmlNode_getChildNodes ( IXML_Node nodeptr  ) 

Retrieves the list of children of a { Node} in a { NodeList} structure. If a { Node} has no children, { ixmlNode_getChildNodes} returns a { NodeList} structure that contains no { Node}s.

Returns:
[NodeList*] A { NodeList} of the children of the { Node}.
Parameters:
nodeptr The { Node} from which to retrieve the children.
EXPORT_SPEC IXML_Node* ixmlNode_getFirstChild ( IXML_Node nodeptr  ) 

Retrieves the first child { Node} of a { Node}.

Returns:
[Node*] A pointer to the first child { Node} or { NULL} if the { Node} does not have any children.
Parameters:
nodeptr The { Node} from which to retrieve the first child.
EXPORT_SPEC IXML_Node* ixmlNode_getLastChild ( IXML_Node nodeptr  ) 

Retrieves the last child { Node} of a { Node}.

Returns:
[Node*] A pointer to the last child { Node} or { NULL} if the { Node} does not have any children.
Parameters:
nodeptr The { Node} from which to retrieve the last child.
EXPORT_SPEC const DOMString ixmlNode_getLocalName ( IXML_Node nodeptr  ) 

Retrieves the local name of a { Node}, if present. The local name is the tag name without the namespace prefix. Only { Node}s of type { eELEMENT_NODE} or { eATTRIBUTE_NODE} can have a local name. { Node}s created through the { Document} interface will only contain a local name if created using { ixmlDocument_createElementNS}.

Returns:
[const DOMString] A { DOMString} representing the local name of the { Element} or { NULL}.
Parameters:
nodeptr The { Node} from which to retrieve the local name.
EXPORT_SPEC const DOMString ixmlNode_getNamespaceURI ( IXML_Node nodeptr  ) 

Retrieves the namespace URI for a { Node} as a { DOMString}. Only { Node}s of type { eELEMENT_NODE} or { eATTRIBUTE_NODE} can have a namespace URI. { Node}s created through the { Document} interface will only contain a namespace if created using { ixmlDocument_createElementNS}.

Returns:
[const DOMString] A { DOMString} representing the URI of the namespace or { NULL}.
Parameters:
nodeptr The { Node} for which to retrieve the namespace.
EXPORT_SPEC IXML_Node* ixmlNode_getNextSibling ( IXML_Node nodeptr  ) 

Retrieves the sibling { Node} immediately following this { Node}.

Returns:
[Node*] A pointer to the next sibling { Node} or { NULL} if no such { Node} exists.
Parameters:
nodeptr The { Node} from which to retrieve the next sibling.
EXPORT_SPEC const DOMString ixmlNode_getNodeName ( IXML_Node nodeptr  ) 

Returns the name of the { Node}, depending on what type of { Node} it is, in a read-only string. Refer to the table in the DOM2-Core for a description of the node names for various interfaces.

Returns:
[const DOMString] A constant { DOMString} of the node name.
Parameters:
nodeptr Pointer to the node to retrieve the name.
EXPORT_SPEC unsigned short ixmlNode_getNodeType ( IXML_Node nodeptr  ) 

Retrieves the type of a { Node}. The defined { Node} constants are: {itemize} { eATTRIBUTE_NODE} { eCDATA_SECTION_NODE} { eCOMMENT_NODE} { eDOCUMENT_FRAGMENT_NODE} { eDOCUMENT_NODE} { eDOCUMENT_TYPE_NODE} { eELEMENT_NODE} { eENTITY_NODE} { eENTITY_REFERENCE_NODE} { eNOTATION_NODE} { ePROCESSING_INSTRUCTION_NODE} { eTEXT_NODE} {itemize}

Returns:
[const unsigned short] An integer representing the type of the { Node}.
Parameters:
nodeptr The { Node} from which to retrieve the type.
EXPORT_SPEC const DOMString ixmlNode_getNodeValue ( IXML_Node nodeptr  ) 

Returns the value of the { Node} as a string. Note that this string is not a copy and modifying it will modify the value of the { Node}.

Returns:
[DOMString] A { DOMString} of the { Node} value.
Parameters:
nodeptr Pointer to the { Node} to retrieve the value.
EXPORT_SPEC IXML_Document* ixmlNode_getOwnerDocument ( IXML_Node nodeptr  ) 

Retrieves the document object associated with this { Node}. This owner document { Node} allows other { Node}s to be created in the context of this document. Note that { Document} nodes do not have an owner document.

Returns:
[Document*] A pointer to the owning { Document} or { NULL}, if the { Node} does not have an owner.
Parameters:
nodeptr The { Node} from which to retrieve the owner document.
EXPORT_SPEC IXML_Node* ixmlNode_getParentNode ( IXML_Node nodeptr  ) 

Retrieves the parent { Node} for a { Node}.

Returns:
[Node*] A pointer to the parent { Node} or { NULL} if the { Node} has no parent.
Parameters:
nodeptr The { Node} from which to retrieve the parent.
EXPORT_SPEC const DOMString ixmlNode_getPrefix ( IXML_Node nodeptr  ) 

Retrieves the namespace prefix, if present. The prefix is the name used as an alias for the namespace URI for this element. Only { Node}s of type { eELEMENT_NODE} or { eATTRIBUTE_NODE} can have a prefix. { Node}s created through the { Document} interface will only contain a prefix if created using { ixmlDocument_createElementNS}.

Returns:
[DOMString] A { DOMString} representing the namespace prefix or { NULL}.
Parameters:
nodeptr The { Node} from which to retrieve the prefix.
EXPORT_SPEC IXML_Node* ixmlNode_getPreviousSibling ( IXML_Node nodeptr  ) 

Retrieves the sibling { Node} immediately preceding this { Node}.

Returns:
[Node*] A pointer to the previous sibling { Node} or { NULL} if no such { Node} exists.
Parameters:
nodeptr The { Node} for which to retrieve the previous sibling.
EXPORT_SPEC BOOL ixmlNode_hasAttributes ( IXML_Node node  ) 

Queries whether this { Node} has attributes. Note that only { Element} nodes have attributes.

Returns:
[BOOL] { TRUE} if the { Node} has attributes otherwise { FALSE}.
Parameters:
node The { Node} to query for attributes.
EXPORT_SPEC BOOL ixmlNode_hasChildNodes ( IXML_Node nodeptr  ) 

Queries whether or not a { Node} has children.

Returns:
[BOOL] { TRUE} if the { Node} has one or more children otherwise { FALSE}.
Parameters:
nodeptr The { Node} to query for children.
EXPORT_SPEC int ixmlNode_insertBefore ( IXML_Node nodeptr,
IXML_Node newChild,
IXML_Node refChild 
)

Inserts a new child { Node} before the existing child { Node}. { refChild} can be { NULL}, which inserts { newChild} at the end of the list of children. Note that the { Node} (or { Node}s) in { newChild} must already be owned by the owner document (or have no owner at all) of { nodeptr} for insertion. If not, the { Node} (or { Node}s) must be imported into the document using { ixmlDocument_importNode}. If { newChild} is already in the tree, it is removed first.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { nodeptr} or { newChild} is { NULL}. { IXML_HIERARCHY_REQUEST_ERR}: The type of the { Node} does not allow children of the type of { newChild}. { IXML_WRONG_DOCUMENT_ERR}: { newChild} has an owner document that does not match the owner of { nodeptr}. { IXML_NO_MODIFICATION_ALLOWED_ERR}: { nodeptr} is read-only or the parent of the { Node} being inserted is read-only. { IXML_NOT_FOUND_ERR}: { refChild} is not a child of { nodeptr}. {itemize}
Parameters:
newChild The parent of the { Node} before which to insert the new child.
refChild The { Node} to insert into the tree. The reference child where the new { Node} should be inserted. The new { Node} will appear directly before the reference child.
EXPORT_SPEC int ixmlNode_removeChild ( IXML_Node nodeptr,
IXML_Node oldChild,
IXML_Node **  returnNode 
)

Removes a child from the list of children of a { Node}. { returnNode} will contain the { oldChild} { Node}, appropriately removed from the tree (i.e. it will no longer have an owner document).

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: Either { nodeptr} or { oldChild} is { NULL}. { IXML_NO_MODIFICATION_ALLOWED_ERR}: { nodeptr} or its parent is read-only. { IXML_NOT_FOUND_ERR}: { oldChild} is not among the children of { nodeptr}. {itemize}
Parameters:
oldChild The parent of the child to remove.
returnNode The child { Node} to remove. Pointer to a { Node} to place the removed { oldChild} { Node}.
EXPORT_SPEC int ixmlNode_replaceChild ( IXML_Node nodeptr,
IXML_Node newChild,
IXML_Node oldChild,
IXML_Node **  returnNode 
)

Replaces an existing child { Node} with a new child { Node} in the list of children of a { Node}. If { newChild} is already in the tree, it will first be removed. { returnNode} will contain the { oldChild} { Node}, appropriately removed from the tree (i.e. it will no longer have an owner document).

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMTER: Either { nodeptr}, { newChild}, or { oldChild} is { NULL}. { IXML_HIERARCHY_REQUEST_ERR}: The { newChild} is not a type of { Node} that can be inserted into this tree or { newChild} is an ancestor of { nodePtr}. { IXML_WRONG_DOCUMENT_ERR}: { newChild} was created from a different document than { nodeptr}. { IXML_NO_MODIFICATION_ALLOWED_ERR}: { nodeptr} or its parent is read-only. { IXML_NOT_FOUND_ERR}: { oldChild} is not a child of { nodeptr}. {itemize}
Parameters:
newChild The parent of the { Node} which contains the child to replace.
oldChild The child with which to replace { oldChild}.
returnNode The child to replace with { newChild}. Pointer to a { Node} to place the removed { oldChild} { Node}.
EXPORT_SPEC int ixmlNode_setNodeValue ( IXML_Node nodeptr,
const char *  newNodeValue 
)

Assigns a new value to a { Node}. The { newNodeValue} string is duplicated and stored in the { Node} so that the original does not have to persist past this call.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: The { Node*} is not a valid pointer. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exists to complete this operation. {itemize}
Parameters:
newNodeValue The { Node} to which to assign a new value. The new value of the { Node}.
EXPORT_SPEC void ixmlNodeList_free ( IXML_NodeList nList  ) 

Frees a { NodeList} object. Since the underlying { Nodes} are references, they are not freed using this operating. This only frees the { NodeList} object.

Returns:
[void] This function does not return a value.
Parameters:
nList The { NodeList} to free.
EXPORT_SPEC IXML_Node* ixmlNodeList_item ( IXML_NodeList nList,
unsigned long  index 
)

Retrieves a { Node} from a { NodeList} specified by a numerical index.

Returns:
[Node*] A pointer to a { Node} or { NULL} if there was an error.
Parameters:
index The { NodeList} from which to retrieve the { Node}. The index into the { NodeList} to retrieve.
EXPORT_SPEC unsigned long ixmlNodeList_length ( IXML_NodeList nList  ) 

Returns the number of { Nodes} in a { NodeList}.

Returns:
[unsigned long] The number of { Nodes} in the { NodeList}.
Parameters:
nList The { NodeList} for which to retrieve the number of { Nodes}.
EXPORT_SPEC DOMString ixmlNodetoString ( IXML_Node doc  ) 

Renders a { Node} and all sub-elements into an XML text representation. The caller is required to free the { DOMString} returned from this function using { ixmlFreeDOMString} when it is no longer required.

Note that this function can be used for any { Node}-derived interface. The difference between { ixmlNodetoString} and { ixmlDocumenttoString} is { ixmlNodetoString} does not include the XML prolog, it only produces XML elements.

Returns:
[DOMString] A { DOMString} with the XML text representation of the DOM tree or { NULL} on an error.
Parameters:
doc The root of the { Node} tree to render to XML text.
EXPORT_SPEC IXML_Document* ixmlParseBuffer ( const char *  buffer  ) 

Parses an XML text buffer converting it into an IXML DOM representation.

Returns:
[Document*] A { Document} if the buffer correctly parses or { NULL} on an error.
Parameters:
buffer The buffer that contains the XML text to convert to a { Document}.
EXPORT_SPEC int ixmlParseBufferEx ( const char *  buffer,
IXML_Document **  doc 
)

Parses an XML text buffer converting it into an IXML DOM representation.

The { ixmlParseBufferEx} API differs from the { ixmlParseBuffer} API in that it returns an error code representing the actual failure rather than just { NULL}.

Returns:
[int] An integer representing one of the following: {itemize} { IXML_SUCCESS}: The operation completed successfully. { IXML_INVALID_PARAMETER}: The { buffer} is not a valid pointer. { IXML_INSUFFICIENT_MEMORY}: Not enough free memory exists to complete this operation. {itemize}
Parameters:
doc The buffer that contains the XML text to convert to a { Document}. A point to store the { Document} if file correctly parses or { NULL} on an error.

Referenced by ConnectionManagerService::process_subscription_request(), ContentDirectoryService::process_subscription_request(), ConnectionManagerService::subscription_update(), ContentDirectoryService::subscription_update(), and ActionRequest::update().

DOMString ixmlPrintDocument ( IXML_Document doc  ) 

Renders a { Node} and all sub-elements into an XML document representation. The caller is required to free the { DOMString} returned from this function using { ixmlFreeDOMString} when it is no longer required.

Note that this function can be used for any { Node}-derived interface. The difference between { ixmlPrintDocument} and { ixmlPrintNode} is { ixmlPrintDocument} includes the XML prolog while { ixmlPrintNode} only produces XML elements. An XML document is not well formed unless it includes the prolog and at least one element.

This function introduces lots of white space to print the { DOMString} in readable format.

Returns:
[DOMString] A { DOMString} with the XML document representation of the DOM tree or { NULL} on an error.

Referenced by ActionRequest::ActionRequest().

DOMString ixmlPrintNode ( IXML_Node doc  ) 

Renders a { Node} and all sub-elements into an XML text representation. The caller is required to free the { DOMString} returned from this function using { ixmlFreeDOMString} when it is no longer required.

Note that this function can be used for any { Node}-derived interface. A similar { ixmlPrintDocument} function is defined to avoid casting when printing whole documents. This function introduces lots of white space to print the { DOMString} in readable format.

Returns:
[DOMString] A { DOMString} with the XML text representation of the DOM tree or { NULL} on an error.
Parameters:
doc The root of the { Node} tree to render to XML text.
void ixmlRelaxParser ( char  errorChar  ) 

Makes the XML parser more tolerant to malformed text.

If { errorChar} is 0 (default), the parser is strict about XML encoding : invalid UTF-8 sequences or "&" entities are rejected, and the parsing aborts. If { errorChar} is not 0, the parser is relaxed : invalid UTF-8 characters are replaced by the { errorChar}, and invalid "&" entities are left untranslated. The parsing is then allowed to continue.


Generated on Fri Mar 26 20:16:54 2010 for MediaTomb by  doxygen 1.6.1