libUPnP 22.1.9
ixml.h
Go to the documentation of this file.
1/**************************************************************************
2 *
3 * Copyright (c) 2000-2003 Intel Corporation
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are met:
8 *
9 * - Redistributions of source code must retain the above copyright notice,
10 * this list of conditions and the following disclaimer.
11 * - Redistributions in binary form must reproduce the above copyright notice,
12 * this list of conditions and the following disclaimer in the documentation
13 * and/or other materials provided with the distribution.
14 * - Neither name of Intel Corporation nor the names of its contributors
15 * may be used to endorse or promote products derived from this software
16 * without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR
22 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
26 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 *
30 **************************************************************************/
31
32#ifndef IXML_H
33#define IXML_H
34
42
43#include "UpnpGlobal.h" /* For UPNP_EXPORT_SPEC */
44#include "upnpconfig.h" /* For IXML_HAVE_SCRIPTSUPPORT */
45
49#define DOMString char *
50/*typedef char *DOMString;*/
51
66
70typedef enum
71{
72 eINVALID_NODE = 0,
73 eELEMENT_NODE = 1,
74 eATTRIBUTE_NODE = 2,
75 eTEXT_NODE = 3,
76 eCDATA_SECTION_NODE = 4,
77 eENTITY_REFERENCE_NODE = 5,
78 eENTITY_NODE = 6,
79 ePROCESSING_INSTRUCTION_NODE = 7,
80 eCOMMENT_NODE = 8,
81 eDOCUMENT_NODE = 9,
82 eDOCUMENT_TYPE_NODE = 10,
83 eDOCUMENT_FRAGMENT_NODE = 11,
84 eNOTATION_NODE = 12
86
90typedef enum
91{
92 IXML_SUCCESS = 0,
93
94 IXML_INDEX_SIZE_ERR = 1,
95 IXML_DOMSTRING_SIZE_ERR = 2,
96 IXML_HIERARCHY_REQUEST_ERR = 3,
97 IXML_WRONG_DOCUMENT_ERR = 4,
98 IXML_INVALID_CHARACTER_ERR = 5,
99 IXML_NO_DATA_ALLOWED_ERR = 6,
100 IXML_NO_MODIFICATION_ALLOWED_ERR = 7,
101 IXML_NOT_FOUND_ERR = 8,
102 IXML_NOT_SUPPORTED_ERR = 9,
103 IXML_INUSE_ATTRIBUTE_ERR = 10,
104 IXML_INVALID_STATE_ERR = 11,
105 IXML_SYNTAX_ERR = 12,
106 IXML_INVALID_MODIFICATION_ERR = 13,
107 IXML_NAMESPACE_ERR = 14,
108 IXML_INVALID_ACCESS_ERR = 15,
109
110 IXML_NO_SUCH_FILE = 101,
111 IXML_INSUFFICIENT_MEMORY = 102,
112 IXML_FILE_DONE = 104,
113 IXML_INVALID_PARAMETER = 105,
114 IXML_FAILED = 106,
115 IXML_INVALID_ITEM_NUMBER = 107
117
118#define DOCUMENTNODENAME "#document"
119#define TEXTNODENAME "#text"
120#define CDATANODENAME "#cdata-section"
121
122typedef struct _IXML_Document *Docptr;
123
124typedef struct _IXML_Node *Nodeptr;
125
126#ifdef IXML_HAVE_SCRIPTSUPPORT
130typedef void (*IXML_BeforeFreeNode_t)(Nodeptr obj);
131#endif
132
136typedef struct _IXML_Node
137{
138 DOMString nodeName;
139 DOMString nodeValue;
140 IXML_NODE_TYPE nodeType;
141 DOMString namespaceURI;
142 DOMString prefix;
143 DOMString localName;
144 int readOnly;
145
146 Nodeptr parentNode;
147 Nodeptr firstChild;
148 Nodeptr prevSibling;
149 Nodeptr nextSibling;
150 Nodeptr firstAttr;
151 Docptr ownerDocument;
152#ifdef IXML_HAVE_SCRIPTSUPPORT
153 void *ctag; /* custom tag */
154#endif
156
160typedef struct _IXML_Document
161{
162 IXML_Node n;
164
172
176typedef struct _IXML_Element
177{
178 IXML_Node n;
179 DOMString tagName;
181
185typedef struct _IXML_ATTR
186{
187 IXML_Node n;
188 int specified;
189 IXML_Element *ownerElement;
191
195typedef struct _IXML_Text
196{
197 IXML_Node n;
199
203typedef struct _IXML_NodeList
204{
205 IXML_Node *nodeItem;
206 struct _IXML_NodeList *next;
208
212typedef struct _IXML_NamedNodeMap
213{
214 IXML_Node *nodeItem;
215 struct _IXML_NamedNodeMap *next;
217
218/* @} DOM Interfaces */
219
220#ifdef __cplusplus
221extern "C" {
222#endif
223
236
248 IXML_Node *nodeptr);
249
260 IXML_Node *nodeptr);
261
276 IXML_Node *nodeptr,
278 const char *newNodeValue);
279
288 IXML_Node *nodeptr);
289
298 IXML_Node *nodeptr);
299
311 IXML_Node *nodeptr);
312
321 IXML_Node *nodeptr);
322
331 IXML_Node *nodeptr);
332
341 IXML_Node *nodeptr);
342
351 IXML_Node *nodeptr);
352
361 IXML_Node *nodeptr);
362
375 IXML_Node *nodeptr);
376
388 IXML_Node *nodeptr);
389
402 IXML_Node *nodeptr);
403
417 IXML_Node *nodeptr);
418
447 IXML_Node *nodeptr,
449 IXML_Node *newChild,
452 IXML_Node *refChild);
453
479 IXML_Node *nodeptr,
481 IXML_Node *newChild,
483 IXML_Node *oldChild,
486 IXML_Node **returnNode);
487
506 IXML_Node *nodeptr,
508 IXML_Node *oldChild,
511 IXML_Node **returnNode);
512
532 IXML_Node *nodeptr,
534 IXML_Node *newChild);
535
543 IXML_Node *nodeptr);
544
558 IXML_Node *nodeptr,
561 int deep);
562
572 IXML_Node *nodeptr);
573
582 IXML_Node *nodeptr);
583
584#ifdef IXML_HAVE_SCRIPTSUPPORT
588UPNP_EXPORT_SPEC void ixmlNode_setCTag(
590 IXML_Node *nodeptr,
592 void *ctag);
593
597UPNP_EXPORT_SPEC void *ixmlNode_getCTag(
599 IXML_Node *nodeptr);
600#endif
601/* @} Interface Node */
602
615
621 IXML_Attr *attrNode);
622
623/* @} Interface Attr */
624
638
644 IXML_CDATASection *nodeptr);
645
651 IXML_CDATASection *nodeptr);
652
653/* @} Interface CDATASection */
654
667
673 IXML_Document *nodeptr);
674
690 IXML_Document **doc);
691
699
720 IXML_Document *doc,
722 const DOMString tagName,
725 IXML_Element **rtElement);
726
740 IXML_Document *doc,
742 const DOMString tagName);
743
760 IXML_Document *doc,
763 const DOMString data,
765 IXML_Node **textNode);
766
774 IXML_Document *doc,
777 const DOMString data);
778
795 IXML_Document *doc,
797 const DOMString data,
799 IXML_CDATASection **cdNode);
800
808 IXML_Document *doc,
810 const DOMString data);
811
823 IXML_Document *doc,
825 const DOMString name);
826
843 IXML_Document *doc,
845 const DOMString name,
847 IXML_Attr **attrNode);
848
859 IXML_Document *doc,
861 const DOMString tagName);
862
863/*
864 * introduced in DOM level 2
865 */
866
884 IXML_Document *doc,
886 const DOMString namespaceURI,
888 const DOMString qualifiedName,
891 IXML_Element **rtElement);
892
903 IXML_Document *doc,
905 const DOMString namespaceURI,
907 const DOMString qualifiedName);
908
926 IXML_Document *doc,
928 const DOMString namespaceURI,
930 const DOMString qualifiedName,
933 IXML_Attr **attrNode);
934
945 IXML_Document *doc,
947 const DOMString namespaceURI,
949 const DOMString qualifiedName);
950
964 IXML_Document *doc,
967 const DOMString namespaceURI,
970 const DOMString localName);
971
979 IXML_Document *doc,
981 const DOMString tagName);
982
992 IXML_Document *doc);
993
1026 IXML_Document *doc,
1028 IXML_Node *importNode,
1031 int deep,
1033 IXML_Node **rtNode);
1034
1035/* @} Interface Document */
1036
1048
1054 IXML_Element *element);
1055
1063 IXML_Element *element);
1064
1073 IXML_Element *element,
1075 const DOMString name);
1076
1095 IXML_Element *element,
1097 const DOMString name,
1100 const DOMString value);
1101
1112 IXML_Element *element,
1114 const DOMString name);
1115
1126 IXML_Element *element,
1128 const DOMString name);
1129
1149 IXML_Element *element,
1151 IXML_Attr *newAttr,
1154 IXML_Attr **rtAttr);
1155
1168 IXML_Element *element,
1170 IXML_Attr *oldAttr,
1173 IXML_Attr **rtAttr);
1174
1184 IXML_Element *element,
1186 const DOMString tagName);
1187
1188/*
1189 * Introduced in DOM 2
1190 */
1191
1200 IXML_Element *element,
1202 const DOMString namespaceURI,
1204 const DOMString localname);
1205
1230 IXML_Element *element,
1232 const DOMString namespaceURI,
1234 const DOMString qualifiedName,
1236 const DOMString value);
1237
1251 IXML_Element *element,
1253 const DOMString namespaceURI,
1255 const DOMString localName);
1256
1265 IXML_Element *element,
1267 const DOMString namespaceURI,
1269 const DOMString localName);
1270
1293 IXML_Element *element,
1295 IXML_Attr *newAttr,
1297 IXML_Attr **rcAttr);
1298
1308 IXML_Element *element,
1312 const DOMString namespaceURI,
1315 const DOMString localName);
1316
1326 IXML_Element *element,
1328 const DOMString name);
1329
1339 IXML_Element *element,
1341 const DOMString namespaceURI,
1343 const DOMString localName);
1344
1350 IXML_Element *element);
1351
1352/* @} Interface Element */
1353
1364
1372 IXML_NamedNodeMap *nnMap);
1373
1382 IXML_NamedNodeMap *nnMap,
1384 const DOMString name);
1385
1395 IXML_NamedNodeMap *nnMap,
1397 IXML_Node *arg);
1398
1406 IXML_NamedNodeMap *nnMap,
1408 const DOMString name);
1409
1419 IXML_NamedNodeMap *nnMap,
1421 unsigned long index);
1422
1423/*
1424 * Introduced in DOM level 2
1425 */
1426
1435 IXML_NamedNodeMap *nnMap,
1437 const DOMString *namespaceURI,
1439 const DOMString localName);
1440
1450 IXML_NamedNodeMap *nnMap,
1452 IXML_Node *arg);
1453
1462 IXML_NamedNodeMap *nnMap,
1464 const DOMString namespaceURI,
1466 const DOMString localName);
1467
1474 IXML_NamedNodeMap *nnMap);
1475
1476/* @} Interface NodeMap */
1477
1488
1497 IXML_NodeList *nList,
1499 unsigned long index);
1500
1509 IXML_NodeList *nList);
1510
1519 IXML_NodeList *nList);
1520
1521/* @} Interface NodeList */
1522
1533
1557 IXML_Document *doc);
1558
1578 IXML_Node *doc);
1579
1600 IXML_Document *doc);
1601
1618 IXML_Node *doc);
1619
1632 char errorChar);
1633
1634#ifdef IXML_HAVE_SCRIPTSUPPORT
1638UPNP_EXPORT_SPEC void ixmlSetBeforeFree(
1644 IXML_BeforeFreeNode_t handler);
1645#endif
1646
1656 const char *buffer);
1657
1676 const char *buffer,
1679 IXML_Document **doc);
1680
1688 const char *xmlFile);
1689
1706 const char *xmlFile,
1709 IXML_Document **doc);
1710
1719 const DOMString src);
1720
1726 DOMString buf);
1727
1728/* @} IXML API */
1729
1730#ifdef __cplusplus
1731}
1732#endif
1733
1734/* @} XMLAPI XML API */
1735
1736#endif /* IXML_H */
Defines constants that for some reason are not defined on some systems.
#define UPNP_EXPORT_SPEC
Export functions on WIN32 DLLs.
Definition UpnpGlobal.h:101
UPNP_EXPORT_SPEC const char * ixmlNode_getNodeValue(IXML_Node *nodeptr)
Returns the value of the Node as a string.
Definition node.c:309
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:190
UPNP_EXPORT_SPEC IXML_Attr * ixmlDocument_createAttribute(IXML_Document *doc, const char *name)
Creates a new Attr node with the given name.
Definition document.c:296
UPNP_EXPORT_SPEC void ixmlCDATASection_init(IXML_CDATASection *nodeptr)
Initializes a CDATASection node.
Definition node.c:53
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:554
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:1265
UPNP_EXPORT_SPEC IXML_Node * ixmlNode_cloneNode(IXML_Node *nodeptr, int deep)
Clones a Node.
Definition node.c:1174
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:54
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:646
UPNP_EXPORT_SPEC void ixmlNode_free(IXML_Node *nodeptr)
Frees a Node and all Nodes in its subtree.
Definition node.c:127
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.
Definition document.c:507
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:604
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:1195
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:348
UPNP_EXPORT_SPEC IXML_Node * ixmlDocument_createTextNode(IXML_Document *doc, const char *data)
Creates a new Text node with the given data.
Definition document.c:255
UPNP_EXPORT_SPEC IXML_Document * ixmlLoadDocument(const char *xmlFile)
Parses an XML text file converting it into an IXML DOM representation.
Definition ixml.c:384
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:466
#define DOMString
The type of DOM strings.
Definition ixml.h:49
UPNP_EXPORT_SPEC IXML_Document * ixmlDocument_createDocument(void)
Creates a new empty Document node.
Definition document.c:200
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:442
UPNP_EXPORT_SPEC IXML_Node * ixmlNamedNodeMap_item(IXML_NamedNodeMap *nnMap, unsigned long index)
Retrieves the index_th item in the map. If index is greater than or equal to the number of nodes in t...
Definition namedNodeMap.c:97
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.
Definition document.c:346
UPNP_EXPORT_SPEC void ixmlNamedNodeMap_free(IXML_NamedNodeMap *nnMap)
Frees a NamedNodeMap.
Definition namedNodeMap.c:135
UPNP_EXPORT_SPEC int ixmlNode_hasChildNodes(IXML_Node *nodeptr)
Queries whether or not a Node has children.
Definition node.c:1256
UPNP_EXPORT_SPEC const char * ixmlNode_getLocalName(IXML_Node *nodeptr)
Retrieves the local name of a Node, if present.
Definition node.c:199
UPNP_EXPORT_SPEC const char * ixmlElement_getTagName(IXML_Element *element)
Returns the name of the tag as a constant string.
Definition element.c:61
UPNP_EXPORT_SPEC IXML_CDATASection * ixmlDocument_createCDATASection(IXML_Document *doc, const char *data)
Creates a new CDATASection node with given data.
Definition document.c:400
UPNP_EXPORT_SPEC char * ixmlPrintDocument(IXML_Document *doc)
Renders a Node and all sub-elements into an XML document representation.
Definition ixml.c:393
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:357
IXML_ERRORCODE
Error codes returned by the XML API, see the DOM spec.
Definition ixml.h:91
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:355
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:339
UPNP_EXPORT_SPEC int ixmlDocument_createTextNodeEx(IXML_Document *doc, const char *data, IXML_Node **textNode)
Creates a new Text node with the given data.
Definition document.c:209
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.
Definition document.c:410
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:478
UPNP_EXPORT_SPEC IXML_Node * ixmlNode_getPreviousSibling(IXML_Node *nodeptr)
Retrieves the sibling Node immediately preceding this Node.
Definition node.c:384
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:375
UPNP_EXPORT_SPEC unsigned long ixmlNamedNodeMap_getLength(IXML_NamedNodeMap *nnMap)
Returns the number of items contained in this NamedNodeMap.
Definition namedNodeMap.c:120
IXML_NODE_TYPE
The type of the DOM node.
Definition ixml.h:71
UPNP_EXPORT_SPEC void ixmlCDATASection_free(IXML_CDATASection *nodeptr)
Frees a CDATASection node.
Definition node.c:58
UPNP_EXPORT_SPEC char * ixmlDocumenttoString(IXML_Document *doc)
Renders a Node and all sub-elements into an XML document representation.
Definition ixml.c:425
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:679
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:318
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:676
UPNP_EXPORT_SPEC int ixmlDocument_createAttributeEx(IXML_Document *doc, const char *name, IXML_Attr **attrNode)
Creates a new Attr node with the given name.
Definition document.c:264
UPNP_EXPORT_SPEC const char * ixmlNode_getPrefix(IXML_Node *nodeptr)
Retrieves the namespace prefix, if present.
Definition node.c:298
UPNP_EXPORT_SPEC IXML_Document * ixmlNode_getOwnerDocument(IXML_Node *nodeptr)
Retrieves the document object associated with this Node.
Definition node.c:402
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:457
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:120
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 qualified name and namespace URI.
UPNP_EXPORT_SPEC void ixmlAttr_free(IXML_Attr *attrNode)
Frees an Attr node.
Definition attr.c:45
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:287
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.
Definition document.c:308
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:339
UPNP_EXPORT_SPEC IXML_Node * ixmlNode_getNextSibling(IXML_Node *nodeptr)
Retrieves the sibling Node immediately following this Node.
Definition node.c:393
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...
Definition document.c:476
UPNP_EXPORT_SPEC void ixmlNodeList_free(IXML_NodeList *nList)
Frees a NodeList object.
Definition nodeList.c:134
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:51
UPNP_EXPORT_SPEC IXML_Element * ixmlDocument_createElement(IXML_Document *doc, const char *tagName)
Creates a new Element node with the given tag name.
Definition document.c:151
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.
Definition document.c:464
UPNP_EXPORT_SPEC IXML_Node * ixmlNode_getLastChild(IXML_Node *nodeptr)
Retrieves the last child Node of a Node.
Definition node.c:366
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:1222
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:612
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.
Definition document.c:107
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:410
UPNP_EXPORT_SPEC int ixmlDocument_createCDATASectionEx(IXML_Document *doc, const char *data, IXML_CDATASection **cdNode)
Creates a new CDATASection node with given data.
Definition document.c:358
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...
Definition document.c:491
Data structure representing an Attribute node.
Definition ixml.h:186
Data structure representing a CDATA section node.
Definition ixml.h:169
Data structure representing the DOM Document.
Definition ixml.h:161
Data structure representing an Element node.
Definition ixml.h:177
Data structure representing a list of named nodes.
Definition ixml.h:213
Data structure representing a list of nodes.
Definition ixml.h:204
Data structure common to all types of nodes.
Definition ixml.h:137
Data structure representing a Text node.
Definition ixml.h:196