tree.h revision 978039bbd89fa2daada209e270524d20c9e3ca7e
13473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 2be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Summary: interfaces for tree manipulation 3be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Description: this module describes the structures found in an tree resulting 4be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * from an XML or HTML parsing, as well as the API provided for 5be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * various processing on that tree 63473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 7be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Copy: See Copyright for the status of this software. 83473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 9be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Author: Daniel Veillard 103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifndef __XML_TREE_H__ 133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define __XML_TREE_H__ 143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#include <stdio.h> 163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#include <libxml/xmlversion.h> 17a2e844a3b3503367a4418187e77ccc977f186909William M. Brack#include <libxml/xmlstring.h> 187ae91bcd9e94946a7be41290cb67ffc9c2cf0a9fIgor Zlatkovic 193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifdef __cplusplus 203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorextern "C" { 213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif 223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 238bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard/* 248bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard * Some of the basic types pointer to structures: 258bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard */ 268bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard/* xmlIO.h */ 278bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef struct _xmlParserInputBuffer xmlParserInputBuffer; 288bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef xmlParserInputBuffer *xmlParserInputBufferPtr; 298bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard 305a37bde34b693bc0296a2f03b775773e265b4c0eCETtypedef struct _xmlOutputBuffer xmlOutputBuffer; 315a37bde34b693bc0296a2f03b775773e265b4c0eCETtypedef xmlOutputBuffer *xmlOutputBufferPtr; 325a37bde34b693bc0296a2f03b775773e265b4c0eCET 338bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard/* parser.h */ 348bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef struct _xmlParserInput xmlParserInput; 358bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef xmlParserInput *xmlParserInputPtr; 368bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard 378bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef struct _xmlParserCtxt xmlParserCtxt; 388bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef xmlParserCtxt *xmlParserCtxtPtr; 398bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard 406c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef struct _xmlSAXLocator xmlSAXLocator; 416c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef xmlSAXLocator *xmlSAXLocatorPtr; 426c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard 436c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef struct _xmlSAXHandler xmlSAXHandler; 446c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef xmlSAXHandler *xmlSAXHandlerPtr; 456c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard 466c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard/* entities.h */ 476c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef struct _xmlEntity xmlEntity; 486c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef xmlEntity *xmlEntityPtr; 496c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard 509d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/** 519d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * BASE_BUFFER_SIZE: 529d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * 5361f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * default buffer size 4000. 549d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */ 556155d8aafa3cc60b5fdaaf75b423e489ea8280c4Daniel Veillard#define BASE_BUFFER_SIZE 4096 56d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard 575e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard/** 58978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * LIBXML_NAMESPACE_DICT: 59978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * 60978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * Defines experimental behaviour: 61978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * 1) xmlNs gets an additional field @context (a xmlDoc) 62978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc. 63978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik */ 64978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik/* #define LIBXML_NAMESPACE_DICT */ 65978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik 66978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik/** 67465a000b1080427bd62d89a925409b7db78616acDaniel Veillard * xmlBufferAllocationScheme: 68465a000b1080427bd62d89a925409b7db78616acDaniel Veillard * 69465a000b1080427bd62d89a925409b7db78616acDaniel Veillard * A buffer allocation scheme can be defined to either match exactly the 70465a000b1080427bd62d89a925409b7db78616acDaniel Veillard * need or double it's allocated size each time it is found too small. 71465a000b1080427bd62d89a925409b7db78616acDaniel Veillard */ 72465a000b1080427bd62d89a925409b7db78616acDaniel Veillard 73465a000b1080427bd62d89a925409b7db78616acDaniel Veillardtypedef enum { 74465a000b1080427bd62d89a925409b7db78616acDaniel Veillard XML_BUFFER_ALLOC_DOUBLEIT, 75465a000b1080427bd62d89a925409b7db78616acDaniel Veillard XML_BUFFER_ALLOC_EXACT, 76465a000b1080427bd62d89a925409b7db78616acDaniel Veillard XML_BUFFER_ALLOC_IMMUTABLE 77465a000b1080427bd62d89a925409b7db78616acDaniel Veillard} xmlBufferAllocationScheme; 78465a000b1080427bd62d89a925409b7db78616acDaniel Veillard 79465a000b1080427bd62d89a925409b7db78616acDaniel Veillard/** 80465a000b1080427bd62d89a925409b7db78616acDaniel Veillard * xmlBuffer: 81465a000b1080427bd62d89a925409b7db78616acDaniel Veillard * 82465a000b1080427bd62d89a925409b7db78616acDaniel Veillard * A buffer structure. 83465a000b1080427bd62d89a925409b7db78616acDaniel Veillard */ 84465a000b1080427bd62d89a925409b7db78616acDaniel Veillardtypedef struct _xmlBuffer xmlBuffer; 85465a000b1080427bd62d89a925409b7db78616acDaniel Veillardtypedef xmlBuffer *xmlBufferPtr; 86465a000b1080427bd62d89a925409b7db78616acDaniel Veillardstruct _xmlBuffer { 87465a000b1080427bd62d89a925409b7db78616acDaniel Veillard xmlChar *content; /* The buffer content UTF8 */ 88465a000b1080427bd62d89a925409b7db78616acDaniel Veillard unsigned int use; /* The buffer size used */ 89465a000b1080427bd62d89a925409b7db78616acDaniel Veillard unsigned int size; /* The buffer size */ 90465a000b1080427bd62d89a925409b7db78616acDaniel Veillard xmlBufferAllocationScheme alloc; /* The realloc method */ 91465a000b1080427bd62d89a925409b7db78616acDaniel Veillard}; 92465a000b1080427bd62d89a925409b7db78616acDaniel Veillard 93465a000b1080427bd62d89a925409b7db78616acDaniel Veillard/** 945e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * XML_XML_NAMESPACE: 955e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * 965e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * This is the namespace for the special xml: prefix predefined in the 9761f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * XML Namespace specification. 985e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard */ 993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define XML_XML_NAMESPACE \ 1003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor (const xmlChar *) "http://www.w3.org/XML/1998/namespace" 1013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 10267f8b1cd960d809819342ada338444ed24739a55Daniel Veillard/** 10367f8b1cd960d809819342ada338444ed24739a55Daniel Veillard * XML_XML_ID: 10467f8b1cd960d809819342ada338444ed24739a55Daniel Veillard * 10567f8b1cd960d809819342ada338444ed24739a55Daniel Veillard * This is the name for the special xml:id attribute 10667f8b1cd960d809819342ada338444ed24739a55Daniel Veillard */ 10767f8b1cd960d809819342ada338444ed24739a55Daniel Veillard#define XML_XML_ID (const xmlChar *) "xml:id" 10867f8b1cd960d809819342ada338444ed24739a55Daniel Veillard 1093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 11061f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * The different element types carried by an XML tree. 1113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 1123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * NOTE: This is synchronized with DOM Level1 values 1133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * See http://www.w3.org/TR/REC-DOM-Level-1/ 1143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 1153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should 1163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * be deprecated to use an XML_DTD_NODE. 1173473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 1183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 1193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_NODE= 1, 1203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_NODE= 2, 1213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_TEXT_NODE= 3, 1223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_CDATA_SECTION_NODE= 4, 1233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ENTITY_REF_NODE= 5, 1243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ENTITY_NODE= 6, 1253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_PI_NODE= 7, 1263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_COMMENT_NODE= 8, 1273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_DOCUMENT_NODE= 9, 1283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_DOCUMENT_TYPE_NODE= 10, 1293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_DOCUMENT_FRAG_NODE= 11, 1303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_NOTATION_NODE= 12, 1313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_HTML_DOCUMENT_NODE= 13, 1323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_DTD_NODE= 14, 1333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_DECL= 15, 1343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_DECL= 16, 1353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ENTITY_DECL= 17, 1363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_NAMESPACE_DECL= 18, 1373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_XINCLUDE_START= 19, 1383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_XINCLUDE_END= 20 139eae522a0d8aa9f830d2e447f29b504030dbb6bbdDaniel Veillard#ifdef LIBXML_DOCB_ENABLED 140eae522a0d8aa9f830d2e447f29b504030dbb6bbdDaniel Veillard ,XML_DOCB_DOCUMENT_NODE= 21 1413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif 1423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementType; 1433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 1443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 145bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 146bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlNotation: 147bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 14861f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * A DTD Notation definition. 1493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 1503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 1513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlNotation xmlNotation; 1523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlNotation *xmlNotationPtr; 1533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlNotation { 1549e7160d45a18bfa26d708e22ba991f7670d0128bDaniel Veillard const xmlChar *name; /* Notation name */ 1553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *PublicID; /* Public identifier, if any */ 1563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *SystemID; /* System identifier, if any */ 1573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 1583473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 159bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 160bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttributeType: 161bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 16261f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * A DTD Attribute type definition. 1633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 1643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 1653473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 1663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_CDATA = 1, 1673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_ID, 1683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_IDREF , 1693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_IDREFS, 1703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_ENTITY, 1713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_ENTITIES, 1723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_NMTOKEN, 1733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_NMTOKENS, 1743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_ENUMERATION, 1753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_NOTATION 1763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlAttributeType; 1773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 178bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 179bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttributeDefault: 180bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 18161f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * A DTD Attribute default definition. 182bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 183bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 1843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 1853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_NONE = 1, 1863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_REQUIRED, 1873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_IMPLIED, 1883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ATTRIBUTE_FIXED 1893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlAttributeDefault; 1903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 191bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 192bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlEnumeration: 193bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 19461f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * List structure used when there is an enumeration in DTDs. 195bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 196bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 1973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlEnumeration xmlEnumeration; 1983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlEnumeration *xmlEnumerationPtr; 1993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlEnumeration { 2003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlEnumeration *next; /* next one */ 2013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* Enumeration name */ 2023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 2033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 204bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 205bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttribute: 206bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 20761f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * An Attribute declaration in a DTD. 208bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 209bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 2103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlAttribute xmlAttribute; 2113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlAttribute *xmlAttributePtr; 2123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlAttribute { 2130ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard void *_private; /* application data */ 2143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* XML_ATTRIBUTE_DECL, must be second ! */ 2153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* Attribute name */ 2163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* NULL */ 2173473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* NULL */ 2183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDtd *parent; /* -> DTD */ 2193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *next; /* next sibling link */ 2203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *prev; /* previous sibling link */ 2213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* the containing document */ 2223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 2233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlAttribute *nexth; /* next in hash table */ 2243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttributeType atype; /* The attribute type */ 2253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttributeDefault def; /* the default */ 2263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *defaultValue; /* or the default value */ 2273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlEnumerationPtr tree; /* or the enumeration tree if any */ 2283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *prefix; /* the namespace prefix if any */ 2293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *elem; /* Element holding the attribute */ 2303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 2313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 232bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 233bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementContentType: 234bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 23561f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Possible definitions of element content types. 2363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 2373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 2383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_PCDATA = 1, 2393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_ELEMENT, 2403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_SEQ, 2413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_OR 2423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementContentType; 2433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 244bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 245bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementContentOccur: 246bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 24761f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Possible definitions of element content occurrences. 248bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 2493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 2503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_ONCE = 1, 2513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_OPT, 2523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_MULT, 2533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_CONTENT_PLUS 2543473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementContentOccur; 2553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 256bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 257bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementContent: 258bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 25961f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * An XML Element content as stored after parsing an element definition 260bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * in a DTD. 261bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 262bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 2633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlElementContent xmlElementContent; 2643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlElementContent *xmlElementContentPtr; 2653473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlElementContent { 2663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */ 2673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */ 268be480fbbe3e061a28f8719175a124ddc8575e0a8Daniel Veillard const xmlChar *name; /* Element name */ 2693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlElementContent *c1; /* first child */ 2703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlElementContent *c2; /* second child */ 271dab4cb37d8fceb7457c40effc1ae43559221610bDaniel Veillard struct _xmlElementContent *parent; /* parent */ 272a9b66d00b5fbae2381f59c0be4d8c7b8e3c16cf7Daniel Veillard const xmlChar *prefix; /* Namespace prefix */ 2733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 2743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 275bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 276bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementTypeVal: 277bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 27861f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * The different possibilities for an element content type. 279bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 280bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 2813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum { 282a10efa8aa6e8a89ad1f5fa05bd591fed02c88dbaDaniel Veillard XML_ELEMENT_TYPE_UNDEFINED = 0, 2833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_TYPE_EMPTY = 1, 2843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_TYPE_ANY, 2853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_TYPE_MIXED, 2863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor XML_ELEMENT_TYPE_ELEMENT 2873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementTypeVal; 2883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 289aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#ifdef __cplusplus 290aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard} 291aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#endif 292aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#include <libxml/xmlregexp.h> 293aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#ifdef __cplusplus 294aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillardextern "C" { 295aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#endif 296aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard 297bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 298bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElement: 299bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 30061f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * An XML Element declaration from a DTD. 301bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 302bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 3033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlElement xmlElement; 3043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlElement *xmlElementPtr; 3053473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlElement { 3060ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard void *_private; /* application data */ 3073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* XML_ELEMENT_DECL, must be second ! */ 3083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* Element name */ 3093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* NULL */ 3103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* NULL */ 3113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDtd *parent; /* -> DTD */ 3123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *next; /* next sibling link */ 3133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *prev; /* previous sibling link */ 3143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* the containing document */ 3153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 3163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementTypeVal etype; /* The type */ 3173473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementContentPtr content; /* the allowed element content */ 3183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttributePtr attributes; /* List of the declared attributes */ 3193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *prefix; /* the namespace prefix if any */ 320aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#ifdef LIBXML_REGEXP_ENABLED 321aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard xmlRegexpPtr contModel; /* the validating regexp */ 322aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#else 323aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard void *contModel; 324aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#endif 3253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 3263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 327bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 3285e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard/** 3295e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * XML_LOCAL_NAMESPACE: 3305e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * 33161f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * A namespace declaration node. 3325e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard */ 333bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL 334bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillardtypedef xmlElementType xmlNsType; 335bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 336bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 337bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlNs: 338bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 3393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML namespace. 3403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Note that prefix == NULL is valid, it defines the default namespace 341d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard * within the subtree (until overridden). 3423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * 34361f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * xmlNsType is unified with xmlElementType. 3443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 3453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 3463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlNs xmlNs; 3473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlNs *xmlNsPtr; 3483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlNs { 3493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNs *next; /* next Ns link for this node */ 3503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsType type; /* global or local */ 3513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *href; /* URL for the namespace */ 3523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *prefix; /* prefix for the namespace */ 3538e8a703c767abfd43fdc89794f009a443096236ePDT void *_private; /* application data */ 354978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik struct _xmlDoc *context; /* normally an xmlDoc */ 3553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 3563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 357bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 358bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlDtd: 359bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 360d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard * An XML DTD, as defined by <!DOCTYPE ... There is actually one for 36161f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * the internal subset and for the external subset. 3623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 3633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlDtd xmlDtd; 3643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlDtd *xmlDtdPtr; 3653473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlDtd { 3660ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard void *_private; /* application data */ 3673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* XML_DTD_NODE, must be second ! */ 3683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* Name of the DTD */ 3693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* the value of the property link */ 3703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* last child link */ 3713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *parent; /* child->parent link */ 3723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *next; /* next sibling link */ 3733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *prev; /* previous sibling link */ 3743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* the containing document */ 3753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 3763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor /* End of common part */ 3773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *notations; /* Hash table for notations if any */ 3783473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *elements; /* Hash table for elements if any */ 3793473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *attributes; /* Hash table for attributes if any */ 3803473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *entities; /* Hash table for entities if any */ 3813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */ 3823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */ 3833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *pentities; /* Hash table for param entities if any */ 3843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 3853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 386bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 387bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttr: 388bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 38961f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * An attribute on an XML node. 3903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 3913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlAttr xmlAttr; 3923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlAttr *xmlAttrPtr; 3933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlAttr { 3940ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard void *_private; /* application data */ 3953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* XML_ATTRIBUTE_NODE, must be second ! */ 3963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* the name of the property */ 3973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* the value of the property */ 3983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* NULL */ 3993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *parent; /* child->parent link */ 4003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlAttr *next; /* next sibling link */ 4013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlAttr *prev; /* previous sibling link */ 4023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* the containing document */ 4033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNs *ns; /* pointer to the associated namespace */ 4043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttributeType atype; /* the attribute type if validating */ 405d8850403bcacef78deb02ea41adbc0618ce3372cDaniel Veillard void *psvi; /* for type/PSVI informations */ 4063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 4073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 408bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 409bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlID: 410bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 4113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML ID instance. 4123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 4133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 4143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlID xmlID; 4153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlID *xmlIDPtr; 4163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlID { 4173473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlID *next; /* next ID */ 4183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value; /* The ID name */ 419d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard xmlAttrPtr attr; /* The attribute holding it */ 420ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard const xmlChar *name; /* The attribute if attr is not available */ 421ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard int lineno; /* The line number if attr is not available */ 4228d7b5c7ecdebc775257495bcdaa855916f2dfbb0Daniel Veillard struct _xmlDoc *doc; /* The document holding the ID */ 4233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 4243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 425bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 426bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlRef: 427bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 4283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML IDREF instance. 4293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 4303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 4313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlRef xmlRef; 4323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlRef *xmlRefPtr; 4333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlRef { 4343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlRef *next; /* next Ref */ 4353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value; /* The Ref name */ 436d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard xmlAttrPtr attr; /* The attribute holding it */ 437ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard const xmlChar *name; /* The attribute if attr is not available */ 438ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard int lineno; /* The line number if attr is not available */ 4393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 4403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 441bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 442f69bb4b5bf3df1982f63a331b02cd7187456492fDaniel Veillard * xmlNode: 443f69bb4b5bf3df1982f63a331b02cd7187456492fDaniel Veillard * 4443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * A node in an XML tree. 4453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 4463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlNode xmlNode; 4473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlNode *xmlNodePtr; 4483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlNode { 4490ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard void *_private; /* application data */ 4503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* type number, must be second ! */ 4513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name; /* the name of the node, or the entity */ 4523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* parent->childs link */ 4533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* last child link */ 4543473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *parent; /* child->parent link */ 4553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *next; /* next sibling link */ 4563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *prev; /* previous sibling link */ 4573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* the containing document */ 458cbaf399537a1fb69ef97b079e4cb553869aaa4d9Daniel Veillard 459cbaf399537a1fb69ef97b079e4cb553869aaa4d9Daniel Veillard /* End of common part */ 4603473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNs *ns; /* pointer to the associated namespace */ 4613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlChar *content; /* the content */ 4623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlAttr *properties;/* properties list */ 4633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNs *nsDef; /* namespace definitions on this node */ 464d8850403bcacef78deb02ea41adbc0618ce3372cDaniel Veillard void *psvi; /* for type/PSVI informations */ 4651d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard unsigned short line; /* line number */ 4661d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard unsigned short extra; /* extra data for XPath/XSLT */ 4673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 4683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 4695e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard/** 4705e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * XML_GET_CONTENT: 4715e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * 47261f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Macro to extract the content pointer of a node. 4735e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard */ 4745e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard#define XML_GET_CONTENT(n) \ 475566d4dfac3ff5f7b235738f6f63bd369533874bfDaniel Veillard ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content) 4765e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard 4775e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard/** 4785e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * XML_GET_LINE: 4795e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * 48061f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Macro to extract the line number of an element node. 4815e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard */ 4825e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard#define XML_GET_LINE(n) \ 483c76440fcf8ccc826df1792a093cf66b099881418Daniel Veillard (xmlGetLineNo(n)) 4847db3773a5cdafd122df5b69ba90be82535d46069Daniel Veillard 48540412cda44b2689b509a8665fb9d76e1a260e28fDaniel Veillard 486bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 487bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlDoc: 488bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 4893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML document. 4903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 4913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlDoc xmlDoc; 4923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlDoc *xmlDocPtr; 4933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlDoc { 4940ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard void *_private; /* application data */ 4953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlElementType type; /* XML_DOCUMENT_NODE, must be second ! */ 4963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor char *name; /* name/filename/URI of the document */ 4973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *children; /* the document tree */ 4983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *last; /* last child link */ 4993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *parent; /* child->parent link */ 5003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *next; /* next sibling link */ 5013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNode *prev; /* previous sibling link */ 5023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDoc *doc; /* autoreference to itself */ 5033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 5043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor /* End of common part */ 5053473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int compression;/* level of zlib compression */ 5063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int standalone; /* standalone document (no external refs) */ 5073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDtd *intSubset; /* the document internal subset */ 5083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlDtd *extSubset; /* the document external subset */ 5093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor struct _xmlNs *oldNs; /* Global namespace, the old way */ 5103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *version; /* the XML version string */ 5113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *encoding; /* external initial encoding, if any */ 5123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *ids; /* Hash table for ID attributes if any */ 5133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor void *refs; /* Hash table for IDREFs attributes if any */ 5143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *URL; /* The URI for that document */ 5153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int charset; /* encoding of the in-memory content 5163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor actually an xmlCharEncoding */ 51740412cda44b2689b509a8665fb9d76e1a260e28fDaniel Veillard struct _xmlDict *dict; /* dict used to allocate names or NULL */ 518d8850403bcacef78deb02ea41adbc0618ce3372cDaniel Veillard void *psvi; /* for type/PSVI informations */ 5193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}; 5203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 521978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik 522bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchciktypedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt; 523bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchciktypedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr; 524978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik 525978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik/** 526978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * xmlDOMWrapAcquireNsFunction: 527978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * @ctxt: a DOM wrapper context 528978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * @node: the context node (element or attribute) 529978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * @nsName: the requested namespace name 530978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * @nsPrefix: the requested namespace prefix 531978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * 532978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * A function called to acquire namespaces (xmlNs) from the wrapper. 533978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * 534978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * Returns an xmlNsPtr or NULL in case of an error. 535978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik */ 536978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchciktypedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt, 537978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik xmlNodePtr node, 538978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik const xmlChar *nsName, 539978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik const xmlChar *nsPrefix); 540978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik 541978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik/** 542978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * xmlDOMWrapCtxt: 543978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * 544978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * Context for DOM wrapper-operations. 545978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik */ 546bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcikstruct _xmlDOMWrapCtxt { 547bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik void * _private; 548978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik /* 549978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * The type of this context, just in case we need specialized 550978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * contexts in the future. 551978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik */ 552978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik int type; 553978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik /* 554978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * Internal namespace map used for various operations. 555978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik */ 556978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik void * namespaceMap; 557978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik /* 558978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * Use this one to acquire an xmlNsPtr intended for node->ns. 559978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik * (Note that this is not intended for elem->nsDef). 560978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik */ 561978039bbd89fa2daada209e270524d20c9e3ca7eKasimier T. Buchcik xmlDOMWrapAcquireNsFunction getNsForNodeFunc; 562bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik}; 563bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik 564bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 565bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlChildrenNode: 566bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 567a0e7e9346492edd1b67d57efa305ddfec1768b3aMST * Macro for compatibility naming layer with libxml1. Maps 568a0e7e9346492edd1b67d57efa305ddfec1768b3aMST * to "children." 5693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 5703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifndef xmlChildrenNode 5713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define xmlChildrenNode children 572bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard#endif 573bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard 574bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/** 575bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlRootNode: 576bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * 577a0e7e9346492edd1b67d57efa305ddfec1768b3aMST * Macro for compatibility naming layer with libxml1. Maps 578a0e7e9346492edd1b67d57efa305ddfec1768b3aMST * to "children". 579bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */ 580bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard#ifndef xmlRootNode 5813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define xmlRootNode children 5823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif 5833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 5843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 5853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Variables. 5863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 5873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 588c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard/* 589c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard * Some helper functions 590c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard */ 5911f33c4d61f3cc9820643ef726b373ec3044bcac3Daniel Veillard#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) 59276874e4516a1d7b467d400604f8aef77be015727Igor ZlatkovicXMLPUBFUN int XMLCALL 59376874e4516a1d7b467d400604f8aef77be015727Igor Zlatkovic xmlValidateNCName (const xmlChar *value, 594c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard int space); 59521e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif 59621e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack 59721e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) 598aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 599aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlValidateQName (const xmlChar *value, 600c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard int space); 601aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 602aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlValidateName (const xmlChar *value, 603c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard int space); 604aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 605aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlValidateNMToken (const xmlChar *value, 606c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard int space); 60721e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif 608c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard 609aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 610aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBuildQName (const xmlChar *ncname, 611c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard const xmlChar *prefix, 612c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard xmlChar *memory, 613c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard int len); 614aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 615aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSplitQName2 (const xmlChar *name, 616c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard xmlChar **prefix); 617aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN const xmlChar * XMLCALL 618aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSplitQName3 (const xmlChar *name, 6198d73bcb50f91dacb48c2ad61169cb2adc18c1eaeDaniel Veillard int *len); 6208d73bcb50f91dacb48c2ad61169cb2adc18c1eaeDaniel Veillard 6213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 6223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Handling Buffers. 6233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 6243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 625aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 626aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme); 627aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlBufferAllocationScheme XMLCALL 628aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlGetBufferAllocationScheme(void); 629aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic 630aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlBufferPtr XMLCALL 631aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferCreate (void); 632aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlBufferPtr XMLCALL 633aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferCreateSize (size_t size); 6345335055ef698595d4a4b7e4613fd057a45166849Daniel VeillardXMLPUBFUN xmlBufferPtr XMLCALL 6355335055ef698595d4a4b7e4613fd057a45166849Daniel Veillard xmlBufferCreateStatic (void *mem, 6365335055ef698595d4a4b7e4613fd057a45166849Daniel Veillard size_t size); 637aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 638aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferResize (xmlBufferPtr buf, 63956a4cb8c4d3eab4ab3295a61c87e8e92483922c6Daniel Veillard unsigned int size); 640aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 641aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferFree (xmlBufferPtr buf); 642aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 643aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferDump (FILE *file, 6443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlBufferPtr buf); 645a3215c7ae6b1441ceb046c61cc93a70a74bd7f9cWilliam M. BrackXMLPUBFUN int XMLCALL 646aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferAdd (xmlBufferPtr buf, 6473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *str, 6483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 649a3215c7ae6b1441ceb046c61cc93a70a74bd7f9cWilliam M. BrackXMLPUBFUN int XMLCALL 650aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferAddHead (xmlBufferPtr buf, 6513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *str, 6523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 653a3215c7ae6b1441ceb046c61cc93a70a74bd7f9cWilliam M. BrackXMLPUBFUN int XMLCALL 654aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferCat (xmlBufferPtr buf, 6553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *str); 656a3215c7ae6b1441ceb046c61cc93a70a74bd7f9cWilliam M. BrackXMLPUBFUN int XMLCALL 657aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferCCat (xmlBufferPtr buf, 6583473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *str); 659aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 660aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferShrink (xmlBufferPtr buf, 6613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor unsigned int len); 662aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 663aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferGrow (xmlBufferPtr buf, 6643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor unsigned int len); 665aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 666aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferEmpty (xmlBufferPtr buf); 667aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN const xmlChar* XMLCALL 668aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferContent (const xmlBufferPtr buf); 669aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 670aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferSetAllocationScheme(xmlBufferPtr buf, 6713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlBufferAllocationScheme scheme); 672aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 673aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferLength (const xmlBufferPtr buf); 6743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 6753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 67661f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Creating/freeing new structures. 6773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 678aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDtdPtr XMLCALL 679aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlCreateIntSubset (xmlDocPtr doc, 6803473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 6813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *ExternalID, 6823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *SystemID); 683aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDtdPtr XMLCALL 684aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewDtd (xmlDocPtr doc, 6853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 6863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *ExternalID, 6873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *SystemID); 688aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDtdPtr XMLCALL 689aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlGetIntSubset (xmlDocPtr doc); 690aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 691aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlFreeDtd (xmlDtdPtr cur); 69221e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#ifdef LIBXML_LEGACY_ENABLED 693aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL 694aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewGlobalNs (xmlDocPtr doc, 6953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *href, 6963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *prefix); 69721e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* LIBXML_LEGACY_ENABLED */ 698aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL 699aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewNs (xmlNodePtr node, 7003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *href, 7013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *prefix); 702aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 703aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlFreeNs (xmlNsPtr cur); 704aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 705aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlFreeNsList (xmlNsPtr cur); 706aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDocPtr XMLCALL 707aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewDoc (const xmlChar *version); 708aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 709aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlFreeDoc (xmlDocPtr cur); 710aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL 711aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewDocProp (xmlDocPtr doc, 7123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 7133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value); 71421e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ 71521e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack defined(LIBXML_SCHEMAS_ENABLED) 716aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL 717aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewProp (xmlNodePtr node, 7183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 7193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value); 72021e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif 721aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL 722aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewNsProp (xmlNodePtr node, 7233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsPtr ns, 7243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 7253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value); 726aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL 727aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewNsPropEatName (xmlNodePtr node, 72846de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard xmlNsPtr ns, 72946de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard xmlChar *name, 73046de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard const xmlChar *value); 731aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 732aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlFreePropList (xmlAttrPtr cur); 733aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 734aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlFreeProp (xmlAttrPtr cur); 735aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL 736aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlCopyProp (xmlNodePtr target, 7373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttrPtr cur); 738aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL 739aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlCopyPropList (xmlNodePtr target, 7403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlAttrPtr cur); 741652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard#ifdef LIBXML_TREE_ENABLED 742aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDtdPtr XMLCALL 743aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlCopyDtd (xmlDtdPtr dtd); 74421e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* LIBXML_TREE_ENABLED */ 74521e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) 746aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDocPtr XMLCALL 747aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlCopyDoc (xmlDocPtr doc, 7483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int recursive); 74921e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */ 7503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 75161f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Creating new nodes. 7523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 753aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 754aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewDocNode (xmlDocPtr doc, 7553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsPtr ns, 7563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 7573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 758aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 759aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewDocNodeEatName (xmlDocPtr doc, 76046de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard xmlNsPtr ns, 76146de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard xmlChar *name, 76246de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard const xmlChar *content); 763aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 764aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewNode (xmlNsPtr ns, 7653473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 766aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 767aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewNodeEatName (xmlNsPtr ns, 76846de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard xmlChar *name); 76921e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) 770aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 771aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewChild (xmlNodePtr parent, 7723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsPtr ns, 7733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 7743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 77521e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif 776aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 777aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewDocText (xmlDocPtr doc, 7783473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 779aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 780aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewText (const xmlChar *content); 781aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 78203a53c34db279cbe4a305d58969beb1f26ff3d19Daniel Veillard xmlNewDocPI (xmlDocPtr doc, 78303a53c34db279cbe4a305d58969beb1f26ff3d19Daniel Veillard const xmlChar *name, 78403a53c34db279cbe4a305d58969beb1f26ff3d19Daniel Veillard const xmlChar *content); 78503a53c34db279cbe4a305d58969beb1f26ff3d19Daniel VeillardXMLPUBFUN xmlNodePtr XMLCALL 786aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewPI (const xmlChar *name, 7873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 788aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 789aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewDocTextLen (xmlDocPtr doc, 7903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content, 7913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 792aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 793aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewTextLen (const xmlChar *content, 7943473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 795aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 796aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewDocComment (xmlDocPtr doc, 7973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 798aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 799aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewComment (const xmlChar *content); 800aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 801aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewCDataBlock (xmlDocPtr doc, 8023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content, 8033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 804aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 805aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewCharRef (xmlDocPtr doc, 8063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 807aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 808aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewReference (xmlDocPtr doc, 8093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 810aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 811aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlCopyNode (const xmlNodePtr node, 8123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int recursive); 813aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 814aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlDocCopyNode (const xmlNodePtr node, 81582daa81a8bf6877bafc69716ce5e9ae6897108c7Daniel Veillard xmlDocPtr doc, 81682daa81a8bf6877bafc69716ce5e9ae6897108c7Daniel Veillard int recursive); 817aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 81803a53c34db279cbe4a305d58969beb1f26ff3d19Daniel Veillard xmlDocCopyNodeList (xmlDocPtr doc, 81903a53c34db279cbe4a305d58969beb1f26ff3d19Daniel Veillard const xmlNodePtr node); 82003a53c34db279cbe4a305d58969beb1f26ff3d19Daniel VeillardXMLPUBFUN xmlNodePtr XMLCALL 821aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlCopyNodeList (const xmlNodePtr node); 822652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard#ifdef LIBXML_TREE_ENABLED 823aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 82421e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack xmlNewTextChild (xmlNodePtr parent, 82521e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack xmlNsPtr ns, 82621e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack const xmlChar *name, 82721e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack const xmlChar *content); 82821e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. BrackXMLPUBFUN xmlNodePtr XMLCALL 82921e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack xmlNewDocRawNode (xmlDocPtr doc, 83021e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack xmlNsPtr ns, 83121e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack const xmlChar *name, 83221e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack const xmlChar *content); 83321e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. BrackXMLPUBFUN xmlNodePtr XMLCALL 834aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNewDocFragment (xmlDocPtr doc); 835652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard#endif /* LIBXML_TREE_ENABLED */ 8363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 8373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 83861f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Navigating. 8393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 840aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN long XMLCALL 841aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlGetLineNo (xmlNodePtr node); 84221e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) 843aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 844aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlGetNodePath (xmlNodePtr node); 84521e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */ 846aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 847aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlDocGetRootElement (xmlDocPtr doc); 848aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 849aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlGetLastChild (xmlNodePtr parent); 850aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 851aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeIsText (xmlNodePtr node); 852aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 853aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlIsBlankNode (xmlNodePtr node); 8543473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 8553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 85661f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Changing the structure. 8573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 85821e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) 859aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 860aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlDocSetRootElement (xmlDocPtr doc, 8613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr root); 86221e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */ 86321e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#ifdef LIBXML_TREE_ENABLED 864aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 865aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeSetName (xmlNodePtr cur, 8663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 867652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard#endif /* LIBXML_TREE_ENABLED */ 868aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 869aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlAddChild (xmlNodePtr parent, 8703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur); 871aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 872aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlAddChildList (xmlNodePtr parent, 8733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur); 87421e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) 875aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 876aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlReplaceNode (xmlNodePtr old, 8773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur); 87821e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */ 87921e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \ 88021e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack defined(LIBXML_SCHEMAS_ENABLED) 881aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 882652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard xmlAddPrevSibling (xmlNodePtr cur, 8833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr elem); 88421e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */ 885aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 886652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard xmlAddSibling (xmlNodePtr cur, 8873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr elem); 888aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 889aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlAddNextSibling (xmlNodePtr cur, 8903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr elem); 891aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 892aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlUnlinkNode (xmlNodePtr cur); 893aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 894aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextMerge (xmlNodePtr first, 8953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr second); 896aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 897aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlTextConcat (xmlNodePtr node, 8983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content, 8993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 900aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 901aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlFreeNodeList (xmlNodePtr cur); 902aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 903aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlFreeNode (xmlNodePtr cur); 904aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 905aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSetTreeDoc (xmlNodePtr tree, 9063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr doc); 907aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 908aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSetListDoc (xmlNodePtr list, 9093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr doc); 9103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 91161f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Namespaces. 9123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 913aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL 914aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSearchNs (xmlDocPtr doc, 9153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr node, 9163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *nameSpace); 917aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL 918aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSearchNsByHref (xmlDocPtr doc, 9193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr node, 9203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *href); 92121e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) 922aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr * XMLCALL 923aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlGetNsList (xmlDocPtr doc, 9243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr node); 92521e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */ 926652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard 927aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 928aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSetNs (xmlNodePtr node, 9293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNsPtr ns); 930aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL 931aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlCopyNamespace (xmlNsPtr cur); 932aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL 933aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlCopyNamespaceList (xmlNsPtr cur); 9343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 9353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 9363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Changing the content. 9373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 93821e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) 939aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL 940aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSetProp (xmlNodePtr node, 9413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 9423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value); 94321e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. BrackXMLPUBFUN xmlAttrPtr XMLCALL 94421e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack xmlSetNsProp (xmlNodePtr node, 94521e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack xmlNsPtr ns, 94621e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack const xmlChar *name, 94721e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack const xmlChar *value); 94821e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */ 949aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 950652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard xmlGetNoNsProp (xmlNodePtr node, 9513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 952aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 953652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard xmlGetProp (xmlNodePtr node, 95471531f33450f9a809eab050104e55c84b77b2a9eDaniel Veillard const xmlChar *name); 955aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL 956aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlHasProp (xmlNodePtr node, 9573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name); 958aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL 959aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlHasNsProp (xmlNodePtr node, 960e95e2396f34e7e7c5f472ad018d7207974074225Daniel Veillard const xmlChar *name, 961ca2366aafd4c9ff3bf7c166bde18ce9af50e6995Daniel Veillard const xmlChar *nameSpace); 962aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 963aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlGetNsProp (xmlNodePtr node, 9643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *name, 9653473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *nameSpace); 966aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 967aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlStringGetNodeList (xmlDocPtr doc, 9683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value); 969aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL 970aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlStringLenGetNodeList (xmlDocPtr doc, 9713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *value, 9723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 973aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 974aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeListGetString (xmlDocPtr doc, 9753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr list, 9763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int inLine); 977652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard#ifdef LIBXML_TREE_ENABLED 978aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 979aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeListGetRawString (xmlDocPtr doc, 9803473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr list, 9813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int inLine); 982652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard#endif /* LIBXML_TREE_ENABLED */ 983aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 984aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeSetContent (xmlNodePtr cur, 9853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 986652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard#ifdef LIBXML_TREE_ENABLED 987aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 988aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeSetContentLen (xmlNodePtr cur, 9893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content, 9903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 991652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard#endif /* LIBXML_TREE_ENABLED */ 992aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 993aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeAddContent (xmlNodePtr cur, 9943473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content); 995aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 996aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeAddContentLen (xmlNodePtr cur, 9973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *content, 9983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int len); 999aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 1000aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeGetContent (xmlNodePtr cur); 10017869729c8e344b3675994877155efe1c4260683dDaniel VeillardXMLPUBFUN int XMLCALL 10027869729c8e344b3675994877155efe1c4260683dDaniel Veillard xmlNodeBufGetContent (xmlBufferPtr buffer, 10037869729c8e344b3675994877155efe1c4260683dDaniel Veillard xmlNodePtr cur); 1004aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 1005aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeGetLang (xmlNodePtr cur); 1006652327a727000b7e1a32d596e05471003c2d3d87Daniel VeillardXMLPUBFUN int XMLCALL 1007652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard xmlNodeGetSpacePreserve (xmlNodePtr cur); 1008652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard#ifdef LIBXML_TREE_ENABLED 1009aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1010aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeSetLang (xmlNodePtr cur, 10113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *lang); 1012aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1013aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeSetSpacePreserve (xmlNodePtr cur, 1014d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard int val); 1015652327a727000b7e1a32d596e05471003c2d3d87Daniel Veillard#endif /* LIBXML_TREE_ENABLED */ 1016aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL 1017aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeGetBase (xmlDocPtr doc, 10183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur); 101921e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) 1020aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1021aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeSetBase (xmlNodePtr cur, 1022f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard const xmlChar *uri); 102321e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif 10243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 10253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 10263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Removing content. 10273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 1028aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1029aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlRemoveProp (xmlAttrPtr cur); 103021e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) 1031aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1032aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlUnsetNsProp (xmlNodePtr node, 10339403a0495dcbdfa430b669b4e3d689d8e208c687Daniel Veillard xmlNsPtr ns, 10349403a0495dcbdfa430b669b4e3d689d8e208c687Daniel Veillard const xmlChar *name); 103521e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. BrackXMLPUBFUN int XMLCALL 103621e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack xmlUnsetProp (xmlNodePtr node, 103721e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack const xmlChar *name); 103821e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */ 10393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 10403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 104161f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Internal, don't use. 10423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 1043aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1044aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferWriteCHAR (xmlBufferPtr buf, 10453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *string); 1046aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1047aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferWriteChar (xmlBufferPtr buf, 10483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *string); 1049aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1050aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlBufferWriteQuotedString(xmlBufferPtr buf, 10513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const xmlChar *string); 10523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 105321e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#ifdef LIBXML_OUTPUT_ENABLED 1054a9c612c3ee115278fb8dc0cac1b2f2e362f0c052William M. BrackXMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf, 1055a9c612c3ee115278fb8dc0cac1b2f2e362f0c052William M. Brack xmlDocPtr doc, 1056a9c612c3ee115278fb8dc0cac1b2f2e362f0c052William M. Brack xmlAttrPtr attr, 1057a9c612c3ee115278fb8dc0cac1b2f2e362f0c052William M. Brack const xmlChar *string); 105821e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif /* LIBXML_OUTPUT_ENABLED */ 1059a9c612c3ee115278fb8dc0cac1b2f2e362f0c052William M. Brack 106021e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#ifdef LIBXML_TREE_ENABLED 10613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 106261f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Namespace handling. 10633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 1064aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1065aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlReconciliateNs (xmlDocPtr doc, 10663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr tree); 106721e4ef20f64ebd740ebac0ead5d85a5631d2db5eWilliam M. Brack#endif 10683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 1069a9cce9cd0d7aff3ec318b5d8d376da131b6aaad4Daniel Veillard#ifdef LIBXML_OUTPUT_ENABLED 10703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 107161f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Saving. 10723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 1073aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1074aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlDocDumpFormatMemory (xmlDocPtr cur, 1075963d2ae41574066f9b44bcae610dd280c1e57dd8Daniel Veillard xmlChar **mem, 10763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int *size, 10773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int format); 1078aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1079aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlDocDumpMemory (xmlDocPtr cur, 1080963d2ae41574066f9b44bcae610dd280c1e57dd8Daniel Veillard xmlChar **mem, 10813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int *size); 1082aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1083aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlDocDumpMemoryEnc (xmlDocPtr out_doc, 10843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlChar **doc_txt_ptr, 10853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int * doc_txt_len, 10863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *txt_encoding); 1087aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1088aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc, 10893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlChar **doc_txt_ptr, 10903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int * doc_txt_len, 10913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *txt_encoding, 10923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int format); 1093aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1094aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlDocFormatDump (FILE *f, 10959e4123023a930924e26ca965ef14ea67bff7dfc3Daniel Veillard xmlDocPtr cur, 10969e4123023a930924e26ca965ef14ea67bff7dfc3Daniel Veillard int format); 1097aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1098aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlDocDump (FILE *f, 10993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr cur); 1100aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1101aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlElemDump (FILE *f, 11023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr doc, 11033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur); 1104aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1105aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSaveFile (const char *filename, 11063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr cur); 1107aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1108aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSaveFormatFile (const char *filename, 110967fee94e53838c397f53c1ea4d098a5b9d728896Daniel Veillard xmlDocPtr cur, 111067fee94e53838c397f53c1ea4d098a5b9d728896Daniel Veillard int format); 1111aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1112aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeDump (xmlBufferPtr buf, 11133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr doc, 11143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlNodePtr cur, 11153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int level, 11163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int format); 11173473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 1118aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1119aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSaveFileTo (xmlOutputBufferPtr buf, 11205a37bde34b693bc0296a2f03b775773e265b4c0eCET xmlDocPtr cur, 11215a37bde34b693bc0296a2f03b775773e265b4c0eCET const char *encoding); 1122aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1123aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSaveFormatFileTo (xmlOutputBufferPtr buf, 11243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr cur, 11255a37bde34b693bc0296a2f03b775773e265b4c0eCET const char *encoding, 11265a37bde34b693bc0296a2f03b775773e265b4c0eCET int format); 1127aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1128aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlNodeDumpOutput (xmlOutputBufferPtr buf, 11295a37bde34b693bc0296a2f03b775773e265b4c0eCET xmlDocPtr doc, 11305a37bde34b693bc0296a2f03b775773e265b4c0eCET xmlNodePtr cur, 11315a37bde34b693bc0296a2f03b775773e265b4c0eCET int level, 11325a37bde34b693bc0296a2f03b775773e265b4c0eCET int format, 11333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *encoding); 11343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 1135aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1136aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSaveFormatFileEnc (const char *filename, 1137d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard xmlDocPtr cur, 1138d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard const char *encoding, 1139d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard int format); 1140f012a64d13d85d53eac0d4d6625508109e7c9e9dDaniel Veillard 1141aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1142aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSaveFileEnc (const char *filename, 11433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor xmlDocPtr cur, 11443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor const char *encoding); 11453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 1146a9cce9cd0d7aff3ec318b5d8d376da131b6aaad4Daniel Veillard#endif /* LIBXML_OUTPUT_ENABLED */ 11473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/* 1148d5c2f92df449ae53e31a81f268aa8aa608a4f633Daniel Veillard * XHTML 1149d5c2f92df449ae53e31a81f268aa8aa608a4f633Daniel Veillard */ 1150aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1151aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlIsXHTML (const xmlChar *systemID, 1152d5c2f92df449ae53e31a81f268aa8aa608a4f633Daniel Veillard const xmlChar *publicID); 1153d5c2f92df449ae53e31a81f268aa8aa608a4f633Daniel Veillard 1154d5c2f92df449ae53e31a81f268aa8aa608a4f633Daniel Veillard/* 115561f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Compression. 11563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */ 1157aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1158aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlGetDocCompressMode (xmlDocPtr doc); 1159aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1160aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSetDocCompressMode (xmlDocPtr doc, 11613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor int mode); 1162aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL 1163aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlGetCompressMode (void); 1164aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL 1165aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSetCompressMode (int mode); 11663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 1167bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik/* 1168bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik* DOM-wrapper helper functions. 1169bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik*/ 11704d9c948fd7d189834381361395c5b38e1b0a7b87Kasimier T. BuchcikXMLPUBFUN xmlDOMWrapCtxtPtr XMLCALL 11714d9c948fd7d189834381361395c5b38e1b0a7b87Kasimier T. Buchcik xmlDOMWrapNewCtxt (void); 11724d9c948fd7d189834381361395c5b38e1b0a7b87Kasimier T. BuchcikXMLPUBFUN void XMLCALL 11734d9c948fd7d189834381361395c5b38e1b0a7b87Kasimier T. Buchcik xmlDOMWrapFreeCtxt (xmlDOMWrapCtxtPtr ctxt); 1174bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. BuchcikXMLPUBFUN int XMLCALL 1175bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt, 1176bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik xmlNodePtr elem, 1177bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik int options); 1178bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. BuchcikXMLPUBFUN int XMLCALL 1179bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik xmlDOMWrapAdoptNode (xmlDOMWrapCtxtPtr ctxt, 1180bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik xmlDocPtr sourceDoc, 1181bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik xmlNodePtr node, 1182bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik xmlDocPtr destDoc, 1183bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik xmlNodePtr destParent, 1184bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik int options); 1185bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. BuchcikXMLPUBFUN int XMLCALL 1186bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik xmlDOMWrapRemoveNode (xmlDOMWrapCtxtPtr ctxt, 1187bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik xmlDocPtr doc, 1188bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik xmlNodePtr node, 1189bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik int options); 1190a81d9199c6d152d4789217f7c45563e9155dd457Kasimier T. BuchcikXMLPUBFUN int XMLCALL 1191a81d9199c6d152d4789217f7c45563e9155dd457Kasimier T. Buchcik xmlDOMWrapCloneNode (xmlDOMWrapCtxtPtr ctxt, 1192a81d9199c6d152d4789217f7c45563e9155dd457Kasimier T. Buchcik xmlDocPtr sourceDoc, 1193a81d9199c6d152d4789217f7c45563e9155dd457Kasimier T. Buchcik xmlNodePtr node, 1194a81d9199c6d152d4789217f7c45563e9155dd457Kasimier T. Buchcik xmlNodePtr *clonedNode, 1195a81d9199c6d152d4789217f7c45563e9155dd457Kasimier T. Buchcik xmlDocPtr destDoc, 1196a81d9199c6d152d4789217f7c45563e9155dd457Kasimier T. Buchcik xmlNodePtr destParent, 1197a81d9199c6d152d4789217f7c45563e9155dd457Kasimier T. Buchcik int deep, 1198a81d9199c6d152d4789217f7c45563e9155dd457Kasimier T. Buchcik int options); 1199bc0e3c6b1a1ac598aedb5ee171c60b7e08a982a5Kasimier T. Buchcik 12003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifdef __cplusplus 12013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} 12023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif 12036c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard#ifndef __XML_PARSER_H__ 12046c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard#include <libxml/xmlmemory.h> 12056c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard#endif 12063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 12073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif /* __XML_TREE_H__ */ 12083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor 1209