tree.h revision f85ce8e334f448078a3d71a812824fa5b45d9b07
13473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
23473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * tree.h : describes the structures found in an tree resulting
33473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor *          from an XML parsing.
43473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor *
53473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * See Copyright for the status of this software.
63473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor *
7c5d64345cf19bfd72418eb0a837869b0462e9130Daniel Veillard * daniel@veillard.com
83473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor *
93473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifndef __XML_TREE_H__
123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define __XML_TREE_H__
133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#include <stdio.h>
153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#include <libxml/xmlversion.h>
167ae91bcd9e94946a7be41290cb67ffc9c2cf0a9fIgor Zlatkovic
173473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifdef __cplusplus
183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorextern "C" {
193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif
203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
218bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard/*
228bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard * Some of the basic types pointer to structures:
238bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard */
248bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard/* xmlIO.h */
258bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef struct _xmlParserInputBuffer xmlParserInputBuffer;
268bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef xmlParserInputBuffer *xmlParserInputBufferPtr;
278bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard
285a37bde34b693bc0296a2f03b775773e265b4c0eCETtypedef struct _xmlOutputBuffer xmlOutputBuffer;
295a37bde34b693bc0296a2f03b775773e265b4c0eCETtypedef xmlOutputBuffer *xmlOutputBufferPtr;
305a37bde34b693bc0296a2f03b775773e265b4c0eCET
318bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard/* parser.h */
328bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef struct _xmlParserInput xmlParserInput;
338bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef xmlParserInput *xmlParserInputPtr;
348bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard
358bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef struct _xmlParserCtxt xmlParserCtxt;
368bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillardtypedef xmlParserCtxt *xmlParserCtxtPtr;
378bdb91dd5c6c6c89cd1668ba78b1048239ca6ca6Daniel Veillard
386c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef struct _xmlSAXLocator xmlSAXLocator;
396c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef xmlSAXLocator *xmlSAXLocatorPtr;
406c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard
416c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef struct _xmlSAXHandler xmlSAXHandler;
426c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef xmlSAXHandler *xmlSAXHandlerPtr;
436c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard
446c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard/* entities.h */
456c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef struct _xmlEntity xmlEntity;
466c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillardtypedef xmlEntity *xmlEntityPtr;
476c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard
489d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard/**
499d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard * BASE_BUFFER_SIZE:
509d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard *
5161f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * default buffer size 4000.
529d06d300a5c4146907b3af8fcbf67d8e7d868567Daniel Veillard */
536155d8aafa3cc60b5fdaaf75b423e489ea8280c4Daniel Veillard#define BASE_BUFFER_SIZE 4096
54d0463560300f1d8b3e41d70c3728ed84fdc8dd30Daniel Veillard
555e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard/**
565e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * XML_XML_NAMESPACE:
575e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard *
585e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * This is the namespace for the special xml: prefix predefined in the
5961f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * XML Namespace specification.
605e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard */
613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define XML_XML_NAMESPACE \
623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    (const xmlChar *) "http://www.w3.org/XML/1998/namespace"
633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
6561f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * The different element types carried by an XML tree.
663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor *
673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * NOTE: This is synchronized with DOM Level1 values
683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor *       See http://www.w3.org/TR/REC-DOM-Level-1/
693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor *
703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * be deprecated to use an XML_DTD_NODE.
723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum {
743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_NODE=		1,
753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_NODE=		2,
763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_TEXT_NODE=		3,
773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_CDATA_SECTION_NODE=	4,
783473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ENTITY_REF_NODE=	5,
793473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ENTITY_NODE=		6,
803473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_PI_NODE=		7,
813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_COMMENT_NODE=		8,
823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_DOCUMENT_NODE=		9,
833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_DOCUMENT_TYPE_NODE=	10,
843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_DOCUMENT_FRAG_NODE=	11,
853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_NOTATION_NODE=		12,
863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_HTML_DOCUMENT_NODE=	13,
873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_DTD_NODE=		14,
883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_DECL=		15,
893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_DECL=		16,
903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ENTITY_DECL=		17,
913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_NAMESPACE_DECL=		18,
923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_XINCLUDE_START=		19,
933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_XINCLUDE_END=		20
94eae522a0d8aa9f830d2e447f29b504030dbb6bbdDaniel Veillard#ifdef LIBXML_DOCB_ENABLED
95eae522a0d8aa9f830d2e447f29b504030dbb6bbdDaniel Veillard   ,XML_DOCB_DOCUMENT_NODE=	21
963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif
973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementType;
983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
99bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
100bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlChar:
1013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor *
102bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * This is a basic byte in an UTF-8 encoded string.
103bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * It's unsigned allowing to pinpoint case where char * are assigned
104bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * to xmlChar * (possibly making serialization back impossible).
1053473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
1063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
1073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef unsigned char xmlChar;
1083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
109bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
110bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * BAD_CAST:
111bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
112bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * Macro to cast a string to an xmlChar * when one know its safe.
113bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */
1143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define BAD_CAST (xmlChar *)
1153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
116bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
117bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlNotation:
118bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
11961f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * A DTD Notation definition.
1203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
1213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
1223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlNotation xmlNotation;
1233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlNotation *xmlNotationPtr;
1243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlNotation {
1259e7160d45a18bfa26d708e22ba991f7670d0128bDaniel Veillard    const xmlChar               *name;	        /* Notation name */
1263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar               *PublicID;	/* Public identifier, if any */
1273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar               *SystemID;	/* System identifier, if any */
1283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
1293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
130bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
131bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttributeType:
132bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
13361f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * A DTD Attribute type definition.
1343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
1353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
1363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum {
1373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_CDATA = 1,
1383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_ID,
1393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_IDREF	,
1403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_IDREFS,
1413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_ENTITY,
1423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_ENTITIES,
1433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_NMTOKEN,
1443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_NMTOKENS,
1453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_ENUMERATION,
1463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_NOTATION
1473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlAttributeType;
1483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
149bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
150bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttributeDefault:
151bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
15261f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * A DTD Attribute default definition.
153bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */
154bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard
1553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum {
1563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_NONE = 1,
1573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_REQUIRED,
1583473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_IMPLIED,
1593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ATTRIBUTE_FIXED
1603473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlAttributeDefault;
1613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
162bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
163bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlEnumeration:
164bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
16561f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * List structure used when there is an enumeration in DTDs.
166bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */
167bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard
1683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlEnumeration xmlEnumeration;
1693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlEnumeration *xmlEnumerationPtr;
1703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlEnumeration {
1713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlEnumeration    *next;	/* next one */
1723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar            *name;	/* Enumeration name */
1733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
1743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
175bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
176bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttribute:
177bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
17861f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * An Attribute declaration in a DTD.
179bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */
180bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard
1813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlAttribute xmlAttribute;
1823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlAttribute *xmlAttributePtr;
1833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlAttribute {
1840ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard    void           *_private;	        /* application data */
1853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlElementType          type;       /* XML_ATTRIBUTE_DECL, must be second ! */
1863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar          *name;	/* Attribute name */
1873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode    *children;	/* NULL */
1883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode        *last;	/* NULL */
1893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlDtd       *parent;	/* -> DTD */
1903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode        *next;	/* next sibling link  */
1913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode        *prev;	/* previous sibling link  */
1923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlDoc          *doc;       /* the containing document */
1933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
1943473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlAttribute  *nexth;	/* next in hash table */
1953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlAttributeType       atype;	/* The attribute type */
1963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlAttributeDefault      def;	/* the default */
1973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar  *defaultValue;	/* or the default value */
1983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlEnumerationPtr       tree;       /* or the enumeration tree if any */
1993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar        *prefix;	/* the namespace prefix if any */
2003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar          *elem;	/* Element holding the attribute */
2013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
2023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
203bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
204bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementContentType:
205bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
20661f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Possible definitions of element content types.
2073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
2083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum {
2093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_CONTENT_PCDATA = 1,
2103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_CONTENT_ELEMENT,
2113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_CONTENT_SEQ,
2123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_CONTENT_OR
2133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementContentType;
2143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
215bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
216bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementContentOccur:
217bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
21861f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Possible definitions of element content occurrences.
219bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */
2203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum {
2213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_CONTENT_ONCE = 1,
2223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_CONTENT_OPT,
2233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_CONTENT_MULT,
2243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_CONTENT_PLUS
2253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementContentOccur;
2263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
227bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
228bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementContent:
229bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
23061f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * An XML Element content as stored after parsing an element definition
231bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * in a DTD.
232bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */
233bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard
2343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlElementContent xmlElementContent;
2353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlElementContent *xmlElementContentPtr;
2363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlElementContent {
2373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlElementContentType     type;	/* PCDATA, ELEMENT, SEQ or OR */
2383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlElementContentOccur    ocur;	/* ONCE, OPT, MULT or PLUS */
239be480fbbe3e061a28f8719175a124ddc8575e0a8Daniel Veillard    const xmlChar             *name;	/* Element name */
2403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlElementContent *c1;	/* first child */
2413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlElementContent *c2;	/* second child */
242dab4cb37d8fceb7457c40effc1ae43559221610bDaniel Veillard    struct _xmlElementContent *parent;	/* parent */
243a9b66d00b5fbae2381f59c0be4d8c7b8e3c16cf7Daniel Veillard    const xmlChar             *prefix;	/* Namespace prefix */
2443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
2453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
246bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
247bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElementTypeVal:
248bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
24961f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * The different possibilities for an element content type.
250bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */
251bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard
2523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum {
253a10efa8aa6e8a89ad1f5fa05bd591fed02c88dbaDaniel Veillard    XML_ELEMENT_TYPE_UNDEFINED = 0,
2543473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_TYPE_EMPTY = 1,
2553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_TYPE_ANY,
2563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_TYPE_MIXED,
2573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_ELEMENT_TYPE_ELEMENT
2583473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlElementTypeVal;
2593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
260aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard
261aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#ifdef __cplusplus
262aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard}
263aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#endif
264aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#include <libxml/xmlregexp.h>
265aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#ifdef __cplusplus
266aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillardextern "C" {
267aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#endif
268aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard
269bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
270bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlElement:
271bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
27261f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * An XML Element declaration from a DTD.
273bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */
274bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard
2753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlElement xmlElement;
2763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlElement *xmlElementPtr;
2773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlElement {
2780ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard    void           *_private;	        /* application data */
2793473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlElementType          type;       /* XML_ELEMENT_DECL, must be second ! */
2803473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar          *name;	/* Element name */
2813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode    *children;	/* NULL */
2823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode        *last;	/* NULL */
2833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlDtd       *parent;	/* -> DTD */
2843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode        *next;	/* next sibling link  */
2853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode        *prev;	/* previous sibling link  */
2863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlDoc          *doc;       /* the containing document */
2873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
2883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlElementTypeVal      etype;	/* The type */
2893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlElementContentPtr content;	/* the allowed element content */
2903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlAttributePtr   attributes;	/* List of the declared attributes */
2913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar        *prefix;	/* the namespace prefix if any */
292aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#ifdef LIBXML_REGEXP_ENABLED
293aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard    xmlRegexpPtr       contModel;	/* the validating regexp */
294aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#else
295aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard    void	      *contModel;
296aeb258a9ca9206070e912d8a3ce201777333748eDaniel Veillard#endif
2973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
2983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
299bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard
3005e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard/**
3015e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * XML_LOCAL_NAMESPACE:
3025e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard *
30361f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * A namespace declaration node.
3045e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard */
305bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
306bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillardtypedef xmlElementType xmlNsType;
307bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard
308bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
309bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlNs:
310bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
3113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML namespace.
3123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Note that prefix == NULL is valid, it defines the default namespace
313d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard * within the subtree (until overridden).
3143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor *
31561f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * xmlNsType is unified with xmlElementType.
3163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
3173473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
3183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlNs xmlNs;
3193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlNs *xmlNsPtr;
3203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlNs {
3213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNs  *next;	/* next Ns link for this node  */
3223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlNsType      type;	/* global or local */
3233473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar *href;	/* URL for the namespace */
3243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar *prefix;	/* prefix for the namespace */
3258e8a703c767abfd43fdc89794f009a443096236ePDT    void           *_private;   /* application data */
3263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
3273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
328bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
329bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlDtd:
330bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
331d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard * An XML DTD, as defined by <!DOCTYPE ... There is actually one for
33261f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * the internal subset and for the external subset.
3333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
3343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlDtd xmlDtd;
3353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlDtd *xmlDtdPtr;
3363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlDtd {
3370ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard    void           *_private;	/* application data */
3383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlElementType  type;       /* XML_DTD_NODE, must be second ! */
3393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar *name;	/* Name of the DTD */
3403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *children;	/* the value of the property link */
3413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *last;	/* last child link */
3423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlDoc  *parent;	/* child->parent link */
3433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *next;	/* next sibling link  */
3443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *prev;	/* previous sibling link  */
3453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlDoc  *doc;	/* the containing document */
3463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
3473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    /* End of common part */
3483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    void          *notations;   /* Hash table for notations if any */
3493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    void          *elements;    /* Hash table for elements if any */
3503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    void          *attributes;  /* Hash table for attributes if any */
3513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    void          *entities;    /* Hash table for entities if any */
3523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
3533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
3543473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    void          *pentities;   /* Hash table for param entities if any */
3553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
3563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
357bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
358bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlAttr:
359bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
36061f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * An attribute on an XML node.
3613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
3623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlAttr xmlAttr;
3633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlAttr *xmlAttrPtr;
3643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlAttr {
3650ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard    void           *_private;	/* application data */
3663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlElementType   type;      /* XML_ATTRIBUTE_NODE, must be second ! */
3673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar   *name;      /* the name of the property */
3683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *children;	/* the value of the property */
3693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *last;	/* NULL */
3703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *parent;	/* child->parent link */
3713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlAttr *next;	/* next sibling link  */
3723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlAttr *prev;	/* previous sibling link  */
3733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlDoc  *doc;	/* the containing document */
3743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlNs           *ns;        /* pointer to the associated namespace */
3753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlAttributeType atype;     /* the attribute type if validating */
3763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
3773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
378bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
379bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlID:
380bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
3813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML ID instance.
3823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
3833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
3843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlID xmlID;
3853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlID *xmlIDPtr;
3863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlID {
3873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlID    *next;	/* next ID */
3883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar    *value;	/* The ID name */
389d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard    xmlAttrPtr        attr;	/* The attribute holding it */
390ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard    const xmlChar    *name;	/* The attribute if attr is not available */
391ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard    int               lineno;	/* The line number if attr is not available */
3923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
3933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
394bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
395bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlRef:
396bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
3973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML IDREF instance.
3983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
3993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
4003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlRef xmlRef;
4013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlRef *xmlRefPtr;
4023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlRef {
4033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlRef    *next;	/* next Ref */
4043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar     *value;	/* The Ref name */
405d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard    xmlAttrPtr        attr;	/* The attribute holding it */
406ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard    const xmlChar    *name;	/* The attribute if attr is not available */
407ea7751d53bf497e873dca39b2c305e300e2574f9Daniel Veillard    int               lineno;	/* The line number if attr is not available */
4083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
4093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
410bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
411bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlBufferAllocationScheme:
412bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
413bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * A buffer allocation scheme can be defined to either match exactly the
41461f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * need or double it's allocated size each time it is found too small.
4153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
4163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
4173473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef enum {
4183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    XML_BUFFER_ALLOC_DOUBLEIT,
4195335055ef698595d4a4b7e4613fd057a45166849Daniel Veillard    XML_BUFFER_ALLOC_EXACT,
4205335055ef698595d4a4b7e4613fd057a45166849Daniel Veillard    XML_BUFFER_ALLOC_IMMUTABLE
4213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor} xmlBufferAllocationScheme;
4223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
423bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
424bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlBuffer:
425bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
42661f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * A buffer structure.
427bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */
4283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlBuffer xmlBuffer;
4293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlBuffer *xmlBufferPtr;
4303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlBuffer {
4313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlChar *content;		/* The buffer content UTF8 */
4323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    unsigned int use;		/* The buffer size used */
4333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    unsigned int size;		/* The buffer size */
4343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlBufferAllocationScheme alloc; /* The realloc method */
4353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
4363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
437f69bb4b5bf3df1982f63a331b02cd7187456492fDaniel Veillard/**
438f69bb4b5bf3df1982f63a331b02cd7187456492fDaniel Veillard * xmlNode:
439f69bb4b5bf3df1982f63a331b02cd7187456492fDaniel Veillard *
4403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * A node in an XML tree.
4413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
4423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlNode xmlNode;
4433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlNode *xmlNodePtr;
4443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlNode {
4450ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard    void           *_private;	/* application data */
4463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlElementType   type;	/* type number, must be second ! */
4473473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar   *name;      /* the name of the node, or the entity */
4483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *children;	/* parent->childs link */
4493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *last;	/* last child link */
4503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *parent;	/* child->parent link */
4513473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *next;	/* next sibling link  */
4523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *prev;	/* previous sibling link  */
4533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlDoc  *doc;	/* the containing document */
454cbaf399537a1fb69ef97b079e4cb553869aaa4d9Daniel Veillard
455cbaf399537a1fb69ef97b079e4cb553869aaa4d9Daniel Veillard    /* End of common part */
4563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlNs           *ns;        /* pointer to the associated namespace */
4573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlChar         *content;   /* the content */
4583473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlAttr *properties;/* properties list */
4593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlNs           *nsDef;     /* namespace definitions on this node */
4603473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
4613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
4625e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard/**
4635e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * XML_GET_CONTENT:
4645e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard *
46561f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Macro to extract the content pointer of a node.
4665e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard */
4675e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard#define XML_GET_CONTENT(n)					\
468566d4dfac3ff5f7b235738f6f63bd369533874bfDaniel Veillard    ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)
4695e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard
4705e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard/**
4715e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard * XML_GET_LINE:
4725e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard *
47361f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Macro to extract the line number of an element node.
474566d4dfac3ff5f7b235738f6f63bd369533874bfDaniel Veillard * This will work only if line numbering is activated by
47561f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * calling xmlLineNumbersDefault(1) before parsing.
4765e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard */
4775e2dace1ca6fbb023d1ce848d4e98deefbbfec31Daniel Veillard#define XML_GET_LINE(n)						\
478566d4dfac3ff5f7b235738f6f63bd369533874bfDaniel Veillard    ((n)->type == XML_ELEMENT_NODE ? (int) (n)->content : 0)
4797db3773a5cdafd122df5b69ba90be82535d46069Daniel Veillard
48040412cda44b2689b509a8665fb9d76e1a260e28fDaniel Veillard
481bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
482bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlDoc:
483bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
4843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * An XML document.
4853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
4863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef struct _xmlDoc xmlDoc;
4873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylortypedef xmlDoc *xmlDocPtr;
4883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylorstruct _xmlDoc {
4890ec986359adc04677529d5e704ff30bf8e5d3a05Daniel Veillard    void           *_private;	/* application data */
4903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    xmlElementType  type;       /* XML_DOCUMENT_NODE, must be second ! */
4913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    char           *name;	/* name/filename/URI of the document */
4923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *children;	/* the document tree */
4933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *last;	/* last child link */
4943473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *parent;	/* child->parent link */
4953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *next;	/* next sibling link  */
4963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNode *prev;	/* previous sibling link  */
4973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlDoc  *doc;	/* autoreference to itself */
4983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
4993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    /* End of common part */
5003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    int             compression;/* level of zlib compression */
5013473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    int             standalone; /* standalone document (no external refs) */
5023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlDtd  *intSubset;	/* the document internal subset */
5033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlDtd  *extSubset;	/* the document external subset */
5043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    struct _xmlNs   *oldNs;	/* Global namespace, the old way */
5053473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar  *version;	/* the XML version string */
5063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar  *encoding;   /* external initial encoding, if any */
5073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    void           *ids;        /* Hash table for ID attributes if any */
5083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    void           *refs;       /* Hash table for IDREFs attributes if any */
5093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    const xmlChar  *URL;	/* The URI for that document */
5103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor    int             charset;    /* encoding of the in-memory content
5113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor				   actually an xmlCharEncoding */
51240412cda44b2689b509a8665fb9d76e1a260e28fDaniel Veillard    struct _xmlDict *dict;      /* dict used to allocate names or NULL */
5133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor};
5143473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
515bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
516bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlChildrenNode:
517bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
51861f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Macro for compatibility naming layer with libxml1.
5193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
5203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifndef xmlChildrenNode
5213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define xmlChildrenNode children
522bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard#endif
523bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard
524bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard/**
525bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard * xmlRootNode:
526bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard *
52761f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Macro for compatibility naming layer with libxml1.
528bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard */
529bed7b052a318695f5e0856f12fc0c86f66472cb3Daniel Veillard#ifndef xmlRootNode
5303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#define xmlRootNode children
5313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif
5323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
5333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
5343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Variables.
5353473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
5360ba59239d92a0ea82d6515f15cc0723a61ef7400Daniel Veillard#if 0
5373473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorLIBXML_DLL_IMPORT extern int oldXMLWDcompatibility;/* maintain compatibility with old WD */
5383473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorLIBXML_DLL_IMPORT extern int xmlIndentTreeOutput;  /* try to indent the tree dumps */
5393473f88a7abdf4e585e267288fb77e898c580d2bOwen TaylorLIBXML_DLL_IMPORT extern xmlBufferAllocationScheme xmlBufferAllocScheme; /* alloc scheme to use */
540e356c280069914f0052891861a55fdfaff6dcf65Daniel VeillardLIBXML_DLL_IMPORT extern int xmlSaveNoEmptyTags; /* save empty tags as <empty></empty> */
541e356c280069914f0052891861a55fdfaff6dcf65Daniel VeillardLIBXML_DLL_IMPORT extern int xmlDefaultBufferSize; /* default buffer size */
5420ba59239d92a0ea82d6515f15cc0723a61ef7400Daniel Veillard#endif
5433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
544c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard/*
545c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard * Some helper functions
546c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard */
54776874e4516a1d7b467d400604f8aef77be015727Igor ZlatkovicXMLPUBFUN int XMLCALL
54876874e4516a1d7b467d400604f8aef77be015727Igor Zlatkovic		xmlValidateNCName	(const xmlChar *value,
549c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard					 int space);
550aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
551aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlValidateQName	(const xmlChar *value,
552c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard					 int space);
553aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
554aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlValidateName		(const xmlChar *value,
555c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard					 int space);
556aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
557aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlValidateNMToken	(const xmlChar *value,
558c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard					 int space);
559c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard
560aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
561aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBuildQName		(const xmlChar *ncname,
562c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard					 const xmlChar *prefix,
563c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard					 xmlChar *memory,
564c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard					 int len);
565aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
566aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSplitQName2		(const xmlChar *name,
567c00cda8c065beba24706c9e8719f08e9de420274Daniel Veillard					 xmlChar **prefix);
568aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN const xmlChar * XMLCALL
569aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSplitQName3		(const xmlChar *name,
5708d73bcb50f91dacb48c2ad61169cb2adc18c1eaeDaniel Veillard					 int *len);
5718d73bcb50f91dacb48c2ad61169cb2adc18c1eaeDaniel Veillard
5723473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
5733473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Handling Buffers.
5743473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
5753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
576aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
577aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
578aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlBufferAllocationScheme XMLCALL
579aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlGetBufferAllocationScheme(void);
580aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic
581aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlBufferPtr XMLCALL
582aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferCreate		(void);
583aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlBufferPtr XMLCALL
584aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferCreateSize	(size_t size);
5855335055ef698595d4a4b7e4613fd057a45166849Daniel VeillardXMLPUBFUN xmlBufferPtr XMLCALL
5865335055ef698595d4a4b7e4613fd057a45166849Daniel Veillard		xmlBufferCreateStatic	(void *mem,
5875335055ef698595d4a4b7e4613fd057a45166849Daniel Veillard					 size_t size);
588aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
589aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferResize		(xmlBufferPtr buf,
59056a4cb8c4d3eab4ab3295a61c87e8e92483922c6Daniel Veillard					 unsigned int size);
591aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
592aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferFree		(xmlBufferPtr buf);
593aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
594aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferDump		(FILE *file,
5953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlBufferPtr buf);
596aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
597aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferAdd		(xmlBufferPtr buf,
5983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *str,
5993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int len);
600aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
601aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferAddHead	(xmlBufferPtr buf,
6023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *str,
6033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int len);
604aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
605aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferCat		(xmlBufferPtr buf,
6063473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *str);
607aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
608aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferCCat		(xmlBufferPtr buf,
6093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const char *str);
610aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
611aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferShrink		(xmlBufferPtr buf,
6123473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 unsigned int len);
613aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
614aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferGrow		(xmlBufferPtr buf,
6153473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 unsigned int len);
616aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
617aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferEmpty		(xmlBufferPtr buf);
618aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN const xmlChar* XMLCALL
619aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferContent	(const xmlBufferPtr buf);
620aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
621aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferSetAllocationScheme(xmlBufferPtr buf,
6223473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlBufferAllocationScheme scheme);
623aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
624aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferLength		(const xmlBufferPtr buf);
6253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
6263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
62761f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Creating/freeing new structures.
6283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
629aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDtdPtr XMLCALL
630aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlCreateIntSubset	(xmlDocPtr doc,
6313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
6323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *ExternalID,
6333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *SystemID);
634aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDtdPtr XMLCALL
635aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewDtd		(xmlDocPtr doc,
6363473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
6373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *ExternalID,
6383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *SystemID);
639aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDtdPtr XMLCALL
640aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlGetIntSubset		(xmlDocPtr doc);
641aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
642aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlFreeDtd		(xmlDtdPtr cur);
643aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL
644aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewGlobalNs		(xmlDocPtr doc,
6453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *href,
6463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *prefix);
647aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL
648aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewNs		(xmlNodePtr node,
6493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *href,
6503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *prefix);
651aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
652aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlFreeNs		(xmlNsPtr cur);
653aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
654aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlFreeNsList		(xmlNsPtr cur);
655aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDocPtr XMLCALL
656aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewDoc		(const xmlChar *version);
657aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
658aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlFreeDoc		(xmlDocPtr cur);
659aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL
660aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewDocProp		(xmlDocPtr doc,
6613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
6623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *value);
663aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL
664aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewProp		(xmlNodePtr node,
6653473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
6663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *value);
667aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL
668aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewNsProp		(xmlNodePtr node,
6693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNsPtr ns,
6703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
6713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *value);
672aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL
673aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewNsPropEatName	(xmlNodePtr node,
67446de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard					 xmlNsPtr ns,
67546de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard					 xmlChar *name,
67646de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard					 const xmlChar *value);
677aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
678aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlFreePropList		(xmlAttrPtr cur);
679aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
680aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlFreeProp		(xmlAttrPtr cur);
681aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL
682aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlCopyProp		(xmlNodePtr target,
6833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlAttrPtr cur);
684aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL
685aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlCopyPropList		(xmlNodePtr target,
6863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlAttrPtr cur);
687aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDtdPtr XMLCALL
688aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlCopyDtd		(xmlDtdPtr dtd);
689aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlDocPtr XMLCALL
690aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlCopyDoc		(xmlDocPtr doc,
6913473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int recursive);
6923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
6933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
69461f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Creating new nodes.
6953473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
696aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
697aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewDocNode		(xmlDocPtr doc,
6983473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNsPtr ns,
6993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
7003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content);
701aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
702aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewDocNodeEatName	(xmlDocPtr doc,
70346de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard					 xmlNsPtr ns,
70446de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard					 xmlChar *name,
70546de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard					 const xmlChar *content);
706aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
707aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewDocRawNode	(xmlDocPtr doc,
7083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNsPtr ns,
7093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
7103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content);
711aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
712aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewNode		(xmlNsPtr ns,
7133473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name);
714aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
715aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewNodeEatName	(xmlNsPtr ns,
71646de64e9c01af2dc20bd49482716746b33737f5eDaniel Veillard					 xmlChar *name);
717aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
718aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewChild		(xmlNodePtr parent,
7193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNsPtr ns,
7203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
7213473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content);
722aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
723aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewTextChild		(xmlNodePtr parent,
7243473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNsPtr ns,
7253473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
7263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content);
727aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
728aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewDocText		(xmlDocPtr doc,
7293473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content);
730aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
731aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewText		(const xmlChar *content);
732aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
733aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewPI		(const xmlChar *name,
7343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content);
735aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
736aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewDocTextLen	(xmlDocPtr doc,
7373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content,
7383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int len);
739aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
740aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewTextLen		(const xmlChar *content,
7413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int len);
742aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
743aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewDocComment	(xmlDocPtr doc,
7443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content);
745aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
746aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewComment		(const xmlChar *content);
747aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
748aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewCDataBlock	(xmlDocPtr doc,
7493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content,
7503473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int len);
751aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
752aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewCharRef		(xmlDocPtr doc,
7533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name);
754aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
755aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewReference		(xmlDocPtr doc,
7563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name);
757aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
758aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlCopyNode		(const xmlNodePtr node,
7593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int recursive);
760aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
761aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlDocCopyNode		(const xmlNodePtr node,
76282daa81a8bf6877bafc69716ce5e9ae6897108c7Daniel Veillard					 xmlDocPtr doc,
76382daa81a8bf6877bafc69716ce5e9ae6897108c7Daniel Veillard					 int recursive);
764aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
765aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlCopyNodeList		(const xmlNodePtr node);
766aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
767aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNewDocFragment	(xmlDocPtr doc);
7683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
7693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
77061f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Navigating.
7713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
772aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN long XMLCALL
773aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlGetLineNo		(xmlNodePtr node);
774aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
775aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlGetNodePath		(xmlNodePtr node);
776aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
777aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlDocGetRootElement	(xmlDocPtr doc);
778aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
779aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlGetLastChild		(xmlNodePtr parent);
780aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
781aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeIsText		(xmlNodePtr node);
782aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
783aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlIsBlankNode		(xmlNodePtr node);
7843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
7853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
78661f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Changing the structure.
7873473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
788aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
789aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlDocSetRootElement	(xmlDocPtr doc,
7903473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr root);
791aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
792aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeSetName		(xmlNodePtr cur,
7933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name);
794aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
795aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlAddChild		(xmlNodePtr parent,
7963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr cur);
797aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
798aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlAddChildList		(xmlNodePtr parent,
7993473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr cur);
800aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
801aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlReplaceNode		(xmlNodePtr old,
8023473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr cur);
803aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
804aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlAddSibling		(xmlNodePtr cur,
8053473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr elem);
806aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
807aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlAddPrevSibling	(xmlNodePtr cur,
8083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr elem);
809aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
810aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlAddNextSibling	(xmlNodePtr cur,
8113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr elem);
812aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
813aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlUnlinkNode		(xmlNodePtr cur);
814aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
815aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlTextMerge		(xmlNodePtr first,
8163473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr second);
817aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
818aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlTextConcat		(xmlNodePtr node,
8193473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content,
8203473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int len);
821aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
822aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlFreeNodeList		(xmlNodePtr cur);
823aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
824aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlFreeNode		(xmlNodePtr cur);
825aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
826aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSetTreeDoc		(xmlNodePtr tree,
8273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlDocPtr doc);
828aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
829aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSetListDoc		(xmlNodePtr list,
8303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlDocPtr doc);
8313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
8323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
83361f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Namespaces.
8343473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
835aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL
836aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSearchNs		(xmlDocPtr doc,
8373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr node,
8383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *nameSpace);
839aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL
840aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSearchNsByHref	(xmlDocPtr doc,
8413473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr node,
8423473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *href);
843aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr * XMLCALL
844aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlGetNsList		(xmlDocPtr doc,
8453473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr node);
846aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
847aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSetNs		(xmlNodePtr node,
8483473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNsPtr ns);
849aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL
850aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlCopyNamespace	(xmlNsPtr cur);
851aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNsPtr XMLCALL
852aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlCopyNamespaceList	(xmlNsPtr cur);
8533473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
8543473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
8553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Changing the content.
8563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
857aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL
858aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSetProp		(xmlNodePtr node,
8593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
8603473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *value);
861aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
862aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlGetProp		(xmlNodePtr node,
8633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name);
864aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
865aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlGetNoNsProp		(xmlNodePtr node,
86671531f33450f9a809eab050104e55c84b77b2a9eDaniel Veillard					 const xmlChar *name);
867aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL
868aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlHasProp		(xmlNodePtr node,
8693473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name);
870aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL
871aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlHasNsProp		(xmlNodePtr node,
872e95e2396f34e7e7c5f472ad018d7207974074225Daniel Veillard					 const xmlChar *name,
873ca2366aafd4c9ff3bf7c166bde18ce9af50e6995Daniel Veillard					 const xmlChar *nameSpace);
874aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlAttrPtr XMLCALL
875aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSetNsProp		(xmlNodePtr node,
8763473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNsPtr ns,
8773473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
8783473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *value);
879aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
880aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlGetNsProp		(xmlNodePtr node,
8813473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *name,
8823473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *nameSpace);
883aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
884aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlStringGetNodeList	(xmlDocPtr doc,
8853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *value);
886aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlNodePtr XMLCALL
887aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlStringLenGetNodeList	(xmlDocPtr doc,
8883473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *value,
8893473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int len);
890aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
891aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeListGetString	(xmlDocPtr doc,
8923473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr list,
8933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int inLine);
894aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
895aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeListGetRawString	(xmlDocPtr doc,
8963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr list,
8973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int inLine);
898aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
899aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeSetContent	(xmlNodePtr cur,
9003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content);
901aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
902aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeSetContentLen	(xmlNodePtr cur,
9033473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content,
9043473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int len);
905aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
906aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeAddContent	(xmlNodePtr cur,
9073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content);
908aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
909aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeAddContentLen	(xmlNodePtr cur,
9103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *content,
9113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int len);
912aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
913aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeGetContent	(xmlNodePtr cur);
914aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
915aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeGetLang		(xmlNodePtr cur);
916aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
917aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeSetLang		(xmlNodePtr cur,
9183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *lang);
919aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
920aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeGetSpacePreserve	(xmlNodePtr cur);
921aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
922aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeSetSpacePreserve (xmlNodePtr cur,
923d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard					 int val);
924aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN xmlChar * XMLCALL
925aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeGetBase		(xmlDocPtr doc,
9263473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr cur);
927aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
928aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeSetBase		(xmlNodePtr cur,
929f85ce8e334f448078a3d71a812824fa5b45d9b07Daniel Veillard					 const xmlChar *uri);
9303473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
9313473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
9323473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor * Removing content.
9333473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
934aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
935aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlRemoveProp		(xmlAttrPtr cur);
936aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
937aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlUnsetProp		(xmlNodePtr node,
9389403a0495dcbdfa430b669b4e3d689d8e208c687Daniel Veillard					 const xmlChar *name);
939aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
940aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlUnsetNsProp		(xmlNodePtr node,
9419403a0495dcbdfa430b669b4e3d689d8e208c687Daniel Veillard					 xmlNsPtr ns,
9429403a0495dcbdfa430b669b4e3d689d8e208c687Daniel Veillard					 const xmlChar *name);
9433473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
9443473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
94561f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Internal, don't use.
9463473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
947aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
948aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferWriteCHAR	(xmlBufferPtr buf,
9493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *string);
950aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
951aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferWriteChar	(xmlBufferPtr buf,
9523473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const char *string);
953aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
954aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlBufferWriteQuotedString(xmlBufferPtr buf,
9553473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const xmlChar *string);
9563473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
9573473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
95861f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Namespace handling.
9593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
960aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
961aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlReconciliateNs	(xmlDocPtr doc,
9623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr tree);
9633473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
9643473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
96561f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Saving.
9663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
967aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
968aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlDocDumpFormatMemory	(xmlDocPtr cur,
969963d2ae41574066f9b44bcae610dd280c1e57dd8Daniel Veillard					 xmlChar **mem,
9703473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int *size,
9713473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int format);
972aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
973aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlDocDumpMemory	(xmlDocPtr cur,
974963d2ae41574066f9b44bcae610dd280c1e57dd8Daniel Veillard					 xmlChar **mem,
9753473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int *size);
976aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
977aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlDocDumpMemoryEnc	(xmlDocPtr out_doc,
9783473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlChar **doc_txt_ptr,
9793473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int * doc_txt_len,
9803473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const char *txt_encoding);
981aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
982aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
9833473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlChar **doc_txt_ptr,
9843473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int * doc_txt_len,
9853473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const char *txt_encoding,
9863473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int format);
987aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
988aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlDocFormatDump	(FILE *f,
9899e4123023a930924e26ca965ef14ea67bff7dfc3Daniel Veillard					 xmlDocPtr cur,
9909e4123023a930924e26ca965ef14ea67bff7dfc3Daniel Veillard					 int format);
991aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
992aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlDocDump		(FILE *f,
9933473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlDocPtr cur);
994aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
995aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlElemDump		(FILE *f,
9963473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlDocPtr doc,
9973473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr cur);
998aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
999aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSaveFile		(const char *filename,
10003473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlDocPtr cur);
1001aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
1002aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSaveFormatFile	(const char *filename,
100367fee94e53838c397f53c1ea4d098a5b9d728896Daniel Veillard					 xmlDocPtr cur,
100467fee94e53838c397f53c1ea4d098a5b9d728896Daniel Veillard					 int format);
1005aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
1006aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeDump		(xmlBufferPtr buf,
10073473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlDocPtr doc,
10083473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlNodePtr cur,
10093473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int level,
10103473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int format);
10113473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
1012aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
1013aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSaveFileTo		(xmlOutputBufferPtr buf,
10145a37bde34b693bc0296a2f03b775773e265b4c0eCET					 xmlDocPtr cur,
10155a37bde34b693bc0296a2f03b775773e265b4c0eCET					 const char *encoding);
1016aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
1017aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSaveFormatFileTo     (xmlOutputBufferPtr buf,
10183473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlDocPtr cur,
10195a37bde34b693bc0296a2f03b775773e265b4c0eCET				         const char *encoding,
10205a37bde34b693bc0296a2f03b775773e265b4c0eCET				         int format);
1021aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
1022aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlNodeDumpOutput	(xmlOutputBufferPtr buf,
10235a37bde34b693bc0296a2f03b775773e265b4c0eCET					 xmlDocPtr doc,
10245a37bde34b693bc0296a2f03b775773e265b4c0eCET					 xmlNodePtr cur,
10255a37bde34b693bc0296a2f03b775773e265b4c0eCET					 int level,
10265a37bde34b693bc0296a2f03b775773e265b4c0eCET					 int format,
10273473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const char *encoding);
10283473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
1029aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
1030aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSaveFormatFileEnc    (const char *filename,
1031d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard					 xmlDocPtr cur,
1032d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard					 const char *encoding,
1033d16409207aa547c9249caf0f424250657a0065ddDaniel Veillard					 int format);
1034f012a64d13d85d53eac0d4d6625508109e7c9e9dDaniel Veillard
1035aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
1036aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSaveFileEnc		(const char *filename,
10373473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 xmlDocPtr cur,
10383473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 const char *encoding);
10393473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
10403473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor/*
1041d5c2f92df449ae53e31a81f268aa8aa608a4f633Daniel Veillard * XHTML
1042d5c2f92df449ae53e31a81f268aa8aa608a4f633Daniel Veillard */
1043aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
1044aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlIsXHTML		(const xmlChar *systemID,
1045d5c2f92df449ae53e31a81f268aa8aa608a4f633Daniel Veillard					 const xmlChar *publicID);
1046d5c2f92df449ae53e31a81f268aa8aa608a4f633Daniel Veillard
1047d5c2f92df449ae53e31a81f268aa8aa608a4f633Daniel Veillard/*
104861f261749f44d6e6f938441598bc724cd1375c51Daniel Veillard * Compression.
10493473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor */
1050aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
1051aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlGetDocCompressMode	(xmlDocPtr doc);
1052aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
1053aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSetDocCompressMode	(xmlDocPtr doc,
10543473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor					 int mode);
1055aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN int XMLCALL
1056aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlGetCompressMode	(void);
1057aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor ZlatkovicXMLPUBFUN void XMLCALL
1058aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic		xmlSetCompressMode	(int mode);
10593473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
10603473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#ifdef __cplusplus
10613473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor}
10623473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif
10636c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard#ifndef __XML_PARSER_H__
10646c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard#include <libxml/xmlmemory.h>
10656c4ffafd8f34fafa594694c83148ecf25fc529e8Daniel Veillard#endif
10663473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
10673473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor#endif /* __XML_TREE_H__ */
10683473f88a7abdf4e585e267288fb77e898c580d2bOwen Taylor
1069