48#define DOMString char *
75 eCDATA_SECTION_NODE = 4,
76 eENTITY_REFERENCE_NODE = 5,
78 ePROCESSING_INSTRUCTION_NODE = 7,
81 eDOCUMENT_TYPE_NODE = 10,
82 eDOCUMENT_FRAGMENT_NODE = 11,
93 IXML_INDEX_SIZE_ERR = 1,
94 IXML_DOMSTRING_SIZE_ERR = 2,
95 IXML_HIERARCHY_REQUEST_ERR = 3,
96 IXML_WRONG_DOCUMENT_ERR = 4,
97 IXML_INVALID_CHARACTER_ERR = 5,
98 IXML_NO_DATA_ALLOWED_ERR = 6,
99 IXML_NO_MODIFICATION_ALLOWED_ERR = 7,
100 IXML_NOT_FOUND_ERR = 8,
101 IXML_NOT_SUPPORTED_ERR = 9,
102 IXML_INUSE_ATTRIBUTE_ERR = 10,
103 IXML_INVALID_STATE_ERR = 11,
104 IXML_SYNTAX_ERR = 12,
105 IXML_INVALID_MODIFICATION_ERR = 13,
106 IXML_NAMESPACE_ERR = 14,
107 IXML_INVALID_ACCESS_ERR = 15,
109 IXML_NO_SUCH_FILE = 101,
110 IXML_INSUFFICIENT_MEMORY = 102,
111 IXML_FILE_DONE = 104,
112 IXML_INVALID_PARAMETER = 105,
114 IXML_INVALID_ITEM_NUMBER = 107
117#define DOCUMENTNODENAME "#document"
118#define TEXTNODENAME "#text"
119#define CDATANODENAME "#cdata-section"
125#ifdef IXML_HAVE_SCRIPTSUPPORT
129typedef void (*IXML_BeforeFreeNode_t)(
Nodeptr obj);
151#ifdef IXML_HAVE_SCRIPTSUPPORT
277 const char *newNodeValue);
583#ifdef IXML_HAVE_SCRIPTSUPPORT
1420 unsigned long index);
1498 unsigned long index);
1633#ifdef IXML_HAVE_SCRIPTSUPPORT
1643 IXML_BeforeFreeNode_t hndlr);
1655 const char *buffer);
1687 const char *xmlFile);
1705 const char *xmlFile,
Defines constants that for some reason are not defined on some systems.
#define UPNP_EXPORT_SPEC
Export functions on WIN32 DLLs.
Definition UpnpGlobal.h:98
UPNP_EXPORT_SPEC const char * ixmlNode_getNodeValue(IXML_Node *nodeptr)
Returns the value of the Node as a string.
Definition node.c:310
UPNP_EXPORT_SPEC const char * ixmlNode_getNodeName(IXML_Node *nodeptr)
Returns the name of the Node, depending on what type of Node it is, in a read-only string.
Definition node.c:186
UPNP_EXPORT_SPEC IXML_Attr * ixmlDocument_createAttribute(IXML_Document *doc, const char *name)
Creates a new Attr node with the given name.
UPNP_EXPORT_SPEC void ixmlCDATASection_init(IXML_CDATASection *nodeptr)
Initializes a CDATASection node.
Definition node.c:52
UPNP_EXPORT_SPEC int ixmlElement_removeAttribute(IXML_Element *element, const char *name)
Removes an attribute value by name. The attribute node is not removed.
struct _IXML_Node IXML_Node
Data structure common to all types of nodes.
UPNP_EXPORT_SPEC int ixmlNode_insertBefore(IXML_Node *nodeptr, IXML_Node *newChild, IXML_Node *refChild)
Inserts a new child Node before the existing child Node.
Definition node.c:536
UPNP_EXPORT_SPEC IXML_Node * ixmlNamedNodeMap_getNamedItem(IXML_NamedNodeMap *nnMap, const char *name)
Retrieves a Node from the NamedNodeMap by name.
UPNP_EXPORT_SPEC int ixmlNode_hasAttributes(IXML_Node *nodeptr)
Queries whether this Node has attributes.
Definition node.c:1227
UPNP_EXPORT_SPEC IXML_Node * ixmlNode_cloneNode(IXML_Node *nodeptr, int deep)
Clones a Node.
Definition node.c:1129
UPNP_EXPORT_SPEC const char * ixmlElement_getAttributeNS(IXML_Element *element, const char *namespaceURI, const char *localname)
Retrieves an attribute value using the local name and namespace URI.
struct _IXML_CDATASection IXML_CDATASection
Data structure representing a CDATA section node.
UPNP_EXPORT_SPEC IXML_Attr * ixmlElement_getAttributeNode(IXML_Element *element, const char *name)
Retrieves an attribute node by name. See ixmlElement_getAttributeNodeNS to retrieve an attribute node...
UPNP_EXPORT_SPEC void ixmlElement_init(IXML_Element *element)
Initializes a IXML_Element node.
Definition element.c:45
UPNP_EXPORT_SPEC IXML_Node * ixmlNamedNodeMap_getNamedItemNS(IXML_NamedNodeMap *nnMap, const char **namespaceURI, const char *localName)
Retrieves a Node from a NamedNodeMap specified by namespace URI and local name.
UPNP_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.
Definition node.c:622
UPNP_EXPORT_SPEC void ixmlNode_free(IXML_Node *nodeptr)
Frees a Node and all Nodes in its subtree.
Definition node.c:126
UPNP_EXPORT_SPEC int ixmlDocument_createDocumentEx(IXML_Document **doc)
Creates a new empty Document node.
Definition document.c:169
UPNP_EXPORT_SPEC IXML_Element * ixmlDocument_getElementById(IXML_Document *doc, const char *tagName)
Returns the Element whose ID matches that given id.
UPNP_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.
Definition node.c:584
struct _IXML_NodeList IXML_NodeList
Data structure representing a list of nodes.
UPNP_EXPORT_SPEC IXML_NodeList * ixmlNode_getChildNodes(IXML_Node *nodeptr)
Retrieves the list of children of a Node in a NodeList structure.
Definition node.c:1151
UPNP_EXPORT_SPEC void ixmlDocument_free(IXML_Document *doc)
Frees a Document object and all Nodes associated with it.
Definition document.c:51
UPNP_EXPORT_SPEC IXML_Node * ixmlNode_getParentNode(IXML_Node *nodeptr)
Retrieves the parent Node for a Node.
Definition node.c:351
UPNP_EXPORT_SPEC IXML_Node * ixmlDocument_createTextNode(IXML_Document *doc, const char *data)
Creates a new Text node with the given data.
UPNP_EXPORT_SPEC IXML_Document * ixmlLoadDocument(const char *xmlFile)
Parses an XML text file converting it into an IXML DOM representation.
Definition ixml.c:336
UPNP_EXPORT_SPEC const char * ixmlElement_getAttribute(IXML_Element *element, const char *name)
Retrieves an attribute of an Element by name.
UPNP_EXPORT_SPEC int ixmlParseBufferEx(const char *buffer, IXML_Document **doc)
Parses an XML text buffer converting it into an IXML DOM representation.
Definition ixml.c:418
#define DOMString
The type of DOM strings.
Definition ixml.h:48
UPNP_EXPORT_SPEC IXML_Document * ixmlDocument_createDocument(void)
Creates a new empty Document node.
Definition document.c:199
UPNP_EXPORT_SPEC char * ixmlNodetoString(IXML_Node *doc)
Renders a Node and all sub-elements into an XML text representation. The caller is required to free t...
Definition ixml.c:394
UPNP_EXPORT_SPEC IXML_Node * ixmlNamedNodeMap_item(IXML_NamedNodeMap *nnMap, unsigned long index)
Retrieves the indexth item in the map. If index is greater than or equal to the number of nodes in th...
Definition namedNodeMap.c:96
struct _IXML_Document IXML_Document
Data structure representing the DOM Document.
UPNP_EXPORT_SPEC IXML_Attr * ixmlDocument_createAttributeNS(IXML_Document *doc, const char *namespaceURI, const char *qualifiedName)
Creates a new Attribute node with the given qualified name and namespace URI.
UPNP_EXPORT_SPEC void ixmlNamedNodeMap_free(IXML_NamedNodeMap *nnMap)
Frees a NamedNodeMap.
Definition namedNodeMap.c:134
UPNP_EXPORT_SPEC int ixmlNode_hasChildNodes(IXML_Node *nodeptr)
Queries whether or not a Node has children.
Definition node.c:1218
UPNP_EXPORT_SPEC const char * ixmlNode_getLocalName(IXML_Node *nodeptr)
Retrieves the local name of a Node, if present.
Definition node.c:195
UPNP_EXPORT_SPEC const char * ixmlElement_getTagName(IXML_Element *element)
Returns the name of the tag as a constant string.
Definition element.c:52
UPNP_EXPORT_SPEC IXML_CDATASection * ixmlDocument_createCDATASection(IXML_Document *doc, const char *data)
Creates a new CDATASection node with given data.
UPNP_EXPORT_SPEC char * ixmlPrintDocument(IXML_Document *doc)
Renders a Node and all sub-elements into an XML document representation.
Definition ixml.c:345
UPNP_EXPORT_SPEC int ixmlElement_setAttribute(IXML_Element *element, const char *name, const char *value)
Adds a new attribute to an Element.
UPNP_EXPORT_SPEC IXML_Node * ixmlNode_getFirstChild(IXML_Node *nodeptr)
Retrieves the first child Node of a Node.
Definition node.c:360
IXML_ERRORCODE
Error codes returned by the XML API, see the DOM spec.
Definition ixml.h:90
UPNP_EXPORT_SPEC int ixmlElement_removeAttributeNode(IXML_Element *element, IXML_Attr *oldAttr, IXML_Attr **rtAttr)
Removes the specified attribute node from an Element.
Definition element.c:315
struct _IXML_ATTR IXML_Attr
Data structure representing an Attribute node.
UPNP_EXPORT_SPEC void ixmlFreeDOMString(char *buf)
Frees a DOMString.
UPNP_EXPORT_SPEC int ixmlElement_setAttributeNode(IXML_Element *element, IXML_Attr *newAttr, IXML_Attr **rtAttr)
Adds a new attribute node to an Element.
Definition element.c:219
UPNP_EXPORT_SPEC int ixmlDocument_createTextNodeEx(IXML_Document *doc, const char *data, IXML_Node **textNode)
Creates a new Text node with the given data.
UPNP_EXPORT_SPEC int ixmlDocument_createElementNSEx(IXML_Document *doc, const char *namespaceURI, const char *qualifiedName, IXML_Element **rtElement)
Creates a new Element node in the given qualified name and namespace URI.
UPNP_EXPORT_SPEC int ixmlElement_hasAttributeNS(IXML_Element *element, const char *namespaceURI, const char *localName)
Queries whether the Element has an attribute with the given local name and namespace URI or has a def...
UPNP_EXPORT_SPEC int ixmlElement_hasAttribute(IXML_Element *element, const char *name)
Queries whether the Element has an attribute with the given name or a default value.
UPNP_EXPORT_SPEC IXML_Document * ixmlParseBuffer(const char *buffer)
Parses an XML text buffer converting it into an IXML DOM representation.
Definition ixml.c:431
UPNP_EXPORT_SPEC IXML_Node * ixmlNode_getPreviousSibling(IXML_Node *nodeptr)
Retrieves the sibling Node immediately preceding this Node.
Definition node.c:387
UPNP_EXPORT_SPEC int ixmlLoadDocumentEx(const char *xmlFile, IXML_Document **doc)
Parses an XML text file converting it into an IXML DOM representation.
Definition ixml.c:327
UPNP_EXPORT_SPEC unsigned long ixmlNamedNodeMap_getLength(IXML_NamedNodeMap *nnMap)
Returns the number of items contained in this NamedNodeMap.
Definition namedNodeMap.c:119
IXML_NODE_TYPE
The type of the DOM node.
Definition ixml.h:70
UPNP_EXPORT_SPEC void ixmlCDATASection_free(IXML_CDATASection *nodeptr)
Frees a CDATASection node.
Definition node.c:57
UPNP_EXPORT_SPEC char * ixmlDocumenttoString(IXML_Document *doc)
Renders a Node and all sub-elements into an XML document representation.
Definition ixml.c:377
UPNP_EXPORT_SPEC IXML_Node * ixmlNamedNodeMap_removeNamedItemNS(IXML_NamedNodeMap *nnMap, const char *namespaceURI, const char *localName)
Removes a Node from a NamedNodeMap specified by namespace URI and local name.
UPNP_EXPORT_SPEC void ixmlElement_free(IXML_Element *element)
Frees the given Element and any subtree of the Element.
Definition element.c:684
struct _IXML_NamedNodeMap IXML_NamedNodeMap
Data structure representing a list of named nodes.
struct _IXML_Element IXML_Element
Data structure representing an Element node.
UPNP_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.
UPNP_EXPORT_SPEC int ixmlNode_setNodeValue(IXML_Node *nodeptr, const char *newNodeValue)
Assigns a new value to a Node.
Definition node.c:319
struct _IXML_Text IXML_Text
Data structure representing a Text node.
UPNP_EXPORT_SPEC int ixmlNode_appendChild(IXML_Node *nodeptr, IXML_Node *newChild)
Appends a child Node to the list of children of a Node.
Definition node.c:646
UPNP_EXPORT_SPEC int ixmlDocument_createAttributeEx(IXML_Document *doc, const char *name, IXML_Attr **attrNode)
Creates a new Attr node with the given name.
UPNP_EXPORT_SPEC const char * ixmlNode_getPrefix(IXML_Node *nodeptr)
Retrieves the namespace prefix, if present.
Definition node.c:299
UPNP_EXPORT_SPEC IXML_Document * ixmlNode_getOwnerDocument(IXML_Node *nodeptr)
Retrieves the document object associated with this Node.
Definition node.c:405
UPNP_EXPORT_SPEC IXML_NodeList * ixmlElement_getElementsByTagName(IXML_Element *element, const char *tagName)
Returns a NodeList of all descendant Elements with a given tag name, in the order in which they are e...
UPNP_EXPORT_SPEC void ixmlRelaxParser(char errorChar)
Makes the XML parser more tolerant to malformed text.
Definition ixml.c:409
UPNP_EXPORT_SPEC IXML_NodeList * ixmlElement_getElementsByTagNameNS(IXML_Element *element, const char *namespaceURI, const char *localName)
Returns a NodeList of all descendant Elements with a given local name and namespace in the order in w...
UPNP_EXPORT_SPEC unsigned long ixmlNodeList_length(IXML_NodeList *nList)
Returns the number of Nodes in a NodeList.
Definition nodeList.c:118
UPNP_EXPORT_SPEC int ixmlElement_setAttributeNS(IXML_Element *element, const char *namespaceURI, const char *qualifiedName, const char *value)
Adds a new attribute to an Element using the local name and namespace URI.
UPNP_EXPORT_SPEC void ixmlAttr_free(IXML_Attr *attrNode)
Frees an Attr node.
Definition attr.c:44
UPNP_EXPORT_SPEC int ixmlDocument_importNode(IXML_Document *doc, IXML_Node *importNode, int deep, IXML_Node **rtNode)
Imports a Node from another Document into this Document.
Definition document.c:79
UPNP_EXPORT_SPEC IXML_Attr * ixmlElement_getAttributeNodeNS(IXML_Element *element, const char *namespaceURI, const char *localName)
Retrieves an Attr node by local name and namespace URI.
UPNP_EXPORT_SPEC const char * ixmlNode_getNamespaceURI(IXML_Node *nodeptr)
Retrieves the namespace URI for a Node as a DOMString.
Definition node.c:288
UPNP_EXPORT_SPEC int ixmlElement_removeAttributeNS(IXML_Element *element, const char *namespaceURI, const char *localName)
Removes an attribute using the namespace URI and local name.
UPNP_EXPORT_SPEC void ixmlDocument_init(IXML_Document *nodeptr)
Initializes a Document node.
Definition document.c:46
UPNP_EXPORT_SPEC int ixmlDocument_createAttributeNSEx(IXML_Document *doc, const char *namespaceURI, const char *qualifiedName, IXML_Attr **attrNode)
Creates a new Attr node with the given qualified name and namespace URI.
UPNP_EXPORT_SPEC IXML_Node * ixmlNamedNodeMap_removeNamedItem(IXML_NamedNodeMap *nnMap, const char *name)
Removes a Node from a NamedNodeMap specified by name.
UPNP_EXPORT_SPEC unsigned short ixmlNode_getNodeType(IXML_Node *nodeptr)
Retrieves the type of a Node. Note that not all possible return values are actually implemented.
Definition node.c:342
UPNP_EXPORT_SPEC IXML_Node * ixmlNode_getNextSibling(IXML_Node *nodeptr)
Retrieves the sibling Node immediately following this Node.
Definition node.c:396
UPNP_EXPORT_SPEC IXML_NodeList * ixmlDocument_getElementsByTagName(IXML_Document *doc, const char *tagName)
Returns a NodeList of all Elements that match the given tag name in the order in which they were enco...
UPNP_EXPORT_SPEC void ixmlNodeList_free(IXML_NodeList *nList)
Frees a NodeList object.
Definition nodeList.c:132
UPNP_EXPORT_SPEC IXML_Node * ixmlNodeList_item(IXML_NodeList *nList, unsigned long index)
Retrieves a Node from a NodeList specified by a numerical index.
Definition nodeList.c:49
UPNP_EXPORT_SPEC IXML_Element * ixmlDocument_createElement(IXML_Document *doc, const char *tagName)
Creates a new Element node with the given tag name.
UPNP_EXPORT_SPEC IXML_Element * ixmlDocument_createElementNS(IXML_Document *doc, const char *namespaceURI, const char *qualifiedName)
Creates a new Element node in the given qualified name and namespace URI.
UPNP_EXPORT_SPEC IXML_Node * ixmlNode_getLastChild(IXML_Node *nodeptr)
Retrieves the last child Node of a Node.
Definition node.c:369
UPNP_EXPORT_SPEC IXML_Node * ixmlNamedNodeMap_setNamedItem(IXML_NamedNodeMap *nnMap, IXML_Node *arg)
Adds a new Node to the NamedNodeMap using the Node name attribute.
UPNP_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.
Definition node.c:1181
UPNP_EXPORT_SPEC int ixmlElement_setAttributeNodeNS(IXML_Element *element, IXML_Attr *newAttr, IXML_Attr **rcAttr)
Adds a new attribute node to the element node specified.
Definition element.c:549
UPNP_EXPORT_SPEC int ixmlDocument_createElementEx(IXML_Document *doc, const char *tagName, IXML_Element **rtElement)
Creates a new Element node with the given tag name.
UPNP_EXPORT_SPEC char * ixmlCloneDOMString(const char *src)
Clones an existing DOMString.
UPNP_EXPORT_SPEC char * ixmlPrintNode(IXML_Node *doc)
Renders a Node and all sub-elements into an XML text representation.
Definition ixml.c:362
UPNP_EXPORT_SPEC int ixmlDocument_createCDATASectionEx(IXML_Document *doc, const char *data, IXML_CDATASection **cdNode)
Creates a new CDATASection node with given data.
UPNP_EXPORT_SPEC IXML_NodeList * ixmlDocument_getElementsByTagNameNS(IXML_Document *doc, const char *namespaceURI, const char *localName)
Returns a NodeList of Elements that match the given local name and namespace URI in the order they ar...
Data structure representing an Attribute node.
Definition ixml.h:185
Data structure representing a CDATA section node.
Definition ixml.h:168
Data structure representing the DOM Document.
Definition ixml.h:160
Data structure representing an Element node.
Definition ixml.h:176
Data structure representing a list of named nodes.
Definition ixml.h:212
Data structure representing a list of nodes.
Definition ixml.h:203
Data structure common to all types of nodes.
Definition ixml.h:136
Data structure representing a Text node.
Definition ixml.h:195