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