xref: /aosp_15_r20/external/libxml2/include/libxml/tree.h (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker /*
2*7c568831SAndroid Build Coastguard Worker  * Summary: interfaces for tree manipulation
3*7c568831SAndroid Build Coastguard Worker  * Description: this module describes the structures found in an tree resulting
4*7c568831SAndroid Build Coastguard Worker  *              from an XML or HTML parsing, as well as the API provided for
5*7c568831SAndroid Build Coastguard Worker  *              various processing on that tree
6*7c568831SAndroid Build Coastguard Worker  *
7*7c568831SAndroid Build Coastguard Worker  * Copy: See Copyright for the status of this software.
8*7c568831SAndroid Build Coastguard Worker  *
9*7c568831SAndroid Build Coastguard Worker  * Author: Daniel Veillard
10*7c568831SAndroid Build Coastguard Worker  */
11*7c568831SAndroid Build Coastguard Worker 
12*7c568831SAndroid Build Coastguard Worker #ifndef XML_TREE_INTERNALS
13*7c568831SAndroid Build Coastguard Worker 
14*7c568831SAndroid Build Coastguard Worker /*
15*7c568831SAndroid Build Coastguard Worker  * Emulate circular dependency for backward compatibility
16*7c568831SAndroid Build Coastguard Worker  */
17*7c568831SAndroid Build Coastguard Worker #include <libxml/parser.h>
18*7c568831SAndroid Build Coastguard Worker 
19*7c568831SAndroid Build Coastguard Worker #else /* XML_TREE_INTERNALS */
20*7c568831SAndroid Build Coastguard Worker 
21*7c568831SAndroid Build Coastguard Worker #ifndef __XML_TREE_H__
22*7c568831SAndroid Build Coastguard Worker #define __XML_TREE_H__
23*7c568831SAndroid Build Coastguard Worker 
24*7c568831SAndroid Build Coastguard Worker #include <stdio.h>
25*7c568831SAndroid Build Coastguard Worker #include <limits.h>
26*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlversion.h>
27*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlstring.h>
28*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlmemory.h>
29*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlregexp.h>
30*7c568831SAndroid Build Coastguard Worker 
31*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus
32*7c568831SAndroid Build Coastguard Worker extern "C" {
33*7c568831SAndroid Build Coastguard Worker #endif
34*7c568831SAndroid Build Coastguard Worker 
35*7c568831SAndroid Build Coastguard Worker /*
36*7c568831SAndroid Build Coastguard Worker  * Some of the basic types pointer to structures:
37*7c568831SAndroid Build Coastguard Worker  */
38*7c568831SAndroid Build Coastguard Worker /* xmlIO.h */
39*7c568831SAndroid Build Coastguard Worker typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
40*7c568831SAndroid Build Coastguard Worker typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
41*7c568831SAndroid Build Coastguard Worker 
42*7c568831SAndroid Build Coastguard Worker typedef struct _xmlOutputBuffer xmlOutputBuffer;
43*7c568831SAndroid Build Coastguard Worker typedef xmlOutputBuffer *xmlOutputBufferPtr;
44*7c568831SAndroid Build Coastguard Worker 
45*7c568831SAndroid Build Coastguard Worker /* parser.h */
46*7c568831SAndroid Build Coastguard Worker typedef struct _xmlParserInput xmlParserInput;
47*7c568831SAndroid Build Coastguard Worker typedef xmlParserInput *xmlParserInputPtr;
48*7c568831SAndroid Build Coastguard Worker 
49*7c568831SAndroid Build Coastguard Worker typedef struct _xmlParserCtxt xmlParserCtxt;
50*7c568831SAndroid Build Coastguard Worker typedef xmlParserCtxt *xmlParserCtxtPtr;
51*7c568831SAndroid Build Coastguard Worker 
52*7c568831SAndroid Build Coastguard Worker typedef struct _xmlSAXLocator xmlSAXLocator;
53*7c568831SAndroid Build Coastguard Worker typedef xmlSAXLocator *xmlSAXLocatorPtr;
54*7c568831SAndroid Build Coastguard Worker 
55*7c568831SAndroid Build Coastguard Worker typedef struct _xmlSAXHandler xmlSAXHandler;
56*7c568831SAndroid Build Coastguard Worker typedef xmlSAXHandler *xmlSAXHandlerPtr;
57*7c568831SAndroid Build Coastguard Worker 
58*7c568831SAndroid Build Coastguard Worker /* entities.h */
59*7c568831SAndroid Build Coastguard Worker typedef struct _xmlEntity xmlEntity;
60*7c568831SAndroid Build Coastguard Worker typedef xmlEntity *xmlEntityPtr;
61*7c568831SAndroid Build Coastguard Worker 
62*7c568831SAndroid Build Coastguard Worker /**
63*7c568831SAndroid Build Coastguard Worker  * BASE_BUFFER_SIZE:
64*7c568831SAndroid Build Coastguard Worker  *
65*7c568831SAndroid Build Coastguard Worker  * default buffer size 4000.
66*7c568831SAndroid Build Coastguard Worker  */
67*7c568831SAndroid Build Coastguard Worker #define BASE_BUFFER_SIZE 4096
68*7c568831SAndroid Build Coastguard Worker 
69*7c568831SAndroid Build Coastguard Worker /**
70*7c568831SAndroid Build Coastguard Worker  * LIBXML_NAMESPACE_DICT:
71*7c568831SAndroid Build Coastguard Worker  *
72*7c568831SAndroid Build Coastguard Worker  * Defines experimental behaviour:
73*7c568831SAndroid Build Coastguard Worker  * 1) xmlNs gets an additional field @context (a xmlDoc)
74*7c568831SAndroid Build Coastguard Worker  * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc.
75*7c568831SAndroid Build Coastguard Worker  */
76*7c568831SAndroid Build Coastguard Worker /* #define LIBXML_NAMESPACE_DICT */
77*7c568831SAndroid Build Coastguard Worker 
78*7c568831SAndroid Build Coastguard Worker /**
79*7c568831SAndroid Build Coastguard Worker  * xmlBufferAllocationScheme:
80*7c568831SAndroid Build Coastguard Worker  *
81*7c568831SAndroid Build Coastguard Worker  * A buffer allocation scheme can be defined to either match exactly the
82*7c568831SAndroid Build Coastguard Worker  * need or double it's allocated size each time it is found too small.
83*7c568831SAndroid Build Coastguard Worker  */
84*7c568831SAndroid Build Coastguard Worker 
85*7c568831SAndroid Build Coastguard Worker typedef enum {
86*7c568831SAndroid Build Coastguard Worker     XML_BUFFER_ALLOC_DOUBLEIT,	/* double each time one need to grow */
87*7c568831SAndroid Build Coastguard Worker     XML_BUFFER_ALLOC_EXACT,	/* grow only to the minimal size */
88*7c568831SAndroid Build Coastguard Worker     XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer, deprecated */
89*7c568831SAndroid Build Coastguard Worker     XML_BUFFER_ALLOC_IO,	/* special allocation scheme used for I/O */
90*7c568831SAndroid Build Coastguard Worker     XML_BUFFER_ALLOC_HYBRID,	/* exact up to a threshold, and doubleit thereafter */
91*7c568831SAndroid Build Coastguard Worker     XML_BUFFER_ALLOC_BOUNDED	/* limit the upper size of the buffer */
92*7c568831SAndroid Build Coastguard Worker } xmlBufferAllocationScheme;
93*7c568831SAndroid Build Coastguard Worker 
94*7c568831SAndroid Build Coastguard Worker /**
95*7c568831SAndroid Build Coastguard Worker  * xmlBuffer:
96*7c568831SAndroid Build Coastguard Worker  *
97*7c568831SAndroid Build Coastguard Worker  * A buffer structure, this old construct is limited to 2GB and
98*7c568831SAndroid Build Coastguard Worker  * is being deprecated, use API with xmlBuf instead
99*7c568831SAndroid Build Coastguard Worker  */
100*7c568831SAndroid Build Coastguard Worker typedef struct _xmlBuffer xmlBuffer;
101*7c568831SAndroid Build Coastguard Worker typedef xmlBuffer *xmlBufferPtr;
102*7c568831SAndroid Build Coastguard Worker struct _xmlBuffer {
103*7c568831SAndroid Build Coastguard Worker     /* The buffer content UTF8 */
104*7c568831SAndroid Build Coastguard Worker     xmlChar *content XML_DEPRECATED_MEMBER;
105*7c568831SAndroid Build Coastguard Worker     /* The buffer size used */
106*7c568831SAndroid Build Coastguard Worker     unsigned int use XML_DEPRECATED_MEMBER;
107*7c568831SAndroid Build Coastguard Worker     /* The buffer size */
108*7c568831SAndroid Build Coastguard Worker     unsigned int size XML_DEPRECATED_MEMBER;
109*7c568831SAndroid Build Coastguard Worker     /* The realloc method */
110*7c568831SAndroid Build Coastguard Worker     xmlBufferAllocationScheme alloc XML_DEPRECATED_MEMBER;
111*7c568831SAndroid Build Coastguard Worker     /* in IO mode we may have a different base */
112*7c568831SAndroid Build Coastguard Worker     xmlChar *contentIO XML_DEPRECATED_MEMBER;
113*7c568831SAndroid Build Coastguard Worker };
114*7c568831SAndroid Build Coastguard Worker 
115*7c568831SAndroid Build Coastguard Worker /**
116*7c568831SAndroid Build Coastguard Worker  * xmlBuf:
117*7c568831SAndroid Build Coastguard Worker  *
118*7c568831SAndroid Build Coastguard Worker  * A buffer structure, new one, the actual structure internals are not public
119*7c568831SAndroid Build Coastguard Worker  */
120*7c568831SAndroid Build Coastguard Worker 
121*7c568831SAndroid Build Coastguard Worker typedef struct _xmlBuf xmlBuf;
122*7c568831SAndroid Build Coastguard Worker 
123*7c568831SAndroid Build Coastguard Worker /**
124*7c568831SAndroid Build Coastguard Worker  * xmlBufPtr:
125*7c568831SAndroid Build Coastguard Worker  *
126*7c568831SAndroid Build Coastguard Worker  * A pointer to a buffer structure, the actual structure internals are not
127*7c568831SAndroid Build Coastguard Worker  * public
128*7c568831SAndroid Build Coastguard Worker  */
129*7c568831SAndroid Build Coastguard Worker 
130*7c568831SAndroid Build Coastguard Worker typedef xmlBuf *xmlBufPtr;
131*7c568831SAndroid Build Coastguard Worker 
132*7c568831SAndroid Build Coastguard Worker /*
133*7c568831SAndroid Build Coastguard Worker  * A few public routines for xmlBuf. As those are expected to be used
134*7c568831SAndroid Build Coastguard Worker  * mostly internally the bulk of the routines are internal in buf.h
135*7c568831SAndroid Build Coastguard Worker  */
136*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar*       xmlBufContent	(const xmlBuf* buf);
137*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar*       xmlBufEnd      (xmlBufPtr buf);
138*7c568831SAndroid Build Coastguard Worker XMLPUBFUN size_t         xmlBufUse      (const xmlBufPtr buf);
139*7c568831SAndroid Build Coastguard Worker XMLPUBFUN size_t         xmlBufShrink	(xmlBufPtr buf, size_t len);
140*7c568831SAndroid Build Coastguard Worker 
141*7c568831SAndroid Build Coastguard Worker /*
142*7c568831SAndroid Build Coastguard Worker  * LIBXML2_NEW_BUFFER:
143*7c568831SAndroid Build Coastguard Worker  *
144*7c568831SAndroid Build Coastguard Worker  * Macro used to express that the API use the new buffers for
145*7c568831SAndroid Build Coastguard Worker  * xmlParserInputBuffer and xmlOutputBuffer. The change was
146*7c568831SAndroid Build Coastguard Worker  * introduced in 2.9.0.
147*7c568831SAndroid Build Coastguard Worker  */
148*7c568831SAndroid Build Coastguard Worker #define LIBXML2_NEW_BUFFER
149*7c568831SAndroid Build Coastguard Worker 
150*7c568831SAndroid Build Coastguard Worker /**
151*7c568831SAndroid Build Coastguard Worker  * XML_XML_NAMESPACE:
152*7c568831SAndroid Build Coastguard Worker  *
153*7c568831SAndroid Build Coastguard Worker  * This is the namespace for the special xml: prefix predefined in the
154*7c568831SAndroid Build Coastguard Worker  * XML Namespace specification.
155*7c568831SAndroid Build Coastguard Worker  */
156*7c568831SAndroid Build Coastguard Worker #define XML_XML_NAMESPACE \
157*7c568831SAndroid Build Coastguard Worker     (const xmlChar *) "http://www.w3.org/XML/1998/namespace"
158*7c568831SAndroid Build Coastguard Worker 
159*7c568831SAndroid Build Coastguard Worker /**
160*7c568831SAndroid Build Coastguard Worker  * XML_XML_ID:
161*7c568831SAndroid Build Coastguard Worker  *
162*7c568831SAndroid Build Coastguard Worker  * This is the name for the special xml:id attribute
163*7c568831SAndroid Build Coastguard Worker  */
164*7c568831SAndroid Build Coastguard Worker #define XML_XML_ID (const xmlChar *) "xml:id"
165*7c568831SAndroid Build Coastguard Worker 
166*7c568831SAndroid Build Coastguard Worker /*
167*7c568831SAndroid Build Coastguard Worker  * The different element types carried by an XML tree.
168*7c568831SAndroid Build Coastguard Worker  *
169*7c568831SAndroid Build Coastguard Worker  * NOTE: This is synchronized with DOM Level1 values
170*7c568831SAndroid Build Coastguard Worker  *       See http://www.w3.org/TR/REC-DOM-Level-1/
171*7c568831SAndroid Build Coastguard Worker  *
172*7c568831SAndroid Build Coastguard Worker  * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
173*7c568831SAndroid Build Coastguard Worker  * be deprecated to use an XML_DTD_NODE.
174*7c568831SAndroid Build Coastguard Worker  */
175*7c568831SAndroid Build Coastguard Worker typedef enum {
176*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_NODE=		1,
177*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_NODE=		2,
178*7c568831SAndroid Build Coastguard Worker     XML_TEXT_NODE=		3,
179*7c568831SAndroid Build Coastguard Worker     XML_CDATA_SECTION_NODE=	4,
180*7c568831SAndroid Build Coastguard Worker     XML_ENTITY_REF_NODE=	5,
181*7c568831SAndroid Build Coastguard Worker     XML_ENTITY_NODE=		6,  /* unused */
182*7c568831SAndroid Build Coastguard Worker     XML_PI_NODE=		7,
183*7c568831SAndroid Build Coastguard Worker     XML_COMMENT_NODE=		8,
184*7c568831SAndroid Build Coastguard Worker     XML_DOCUMENT_NODE=		9,
185*7c568831SAndroid Build Coastguard Worker     XML_DOCUMENT_TYPE_NODE=	10, /* unused */
186*7c568831SAndroid Build Coastguard Worker     XML_DOCUMENT_FRAG_NODE=	11,
187*7c568831SAndroid Build Coastguard Worker     XML_NOTATION_NODE=		12, /* unused */
188*7c568831SAndroid Build Coastguard Worker     XML_HTML_DOCUMENT_NODE=	13,
189*7c568831SAndroid Build Coastguard Worker     XML_DTD_NODE=		14,
190*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_DECL=		15,
191*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_DECL=		16,
192*7c568831SAndroid Build Coastguard Worker     XML_ENTITY_DECL=		17,
193*7c568831SAndroid Build Coastguard Worker     XML_NAMESPACE_DECL=		18,
194*7c568831SAndroid Build Coastguard Worker     XML_XINCLUDE_START=		19,
195*7c568831SAndroid Build Coastguard Worker     XML_XINCLUDE_END=		20
196*7c568831SAndroid Build Coastguard Worker     /* XML_DOCB_DOCUMENT_NODE=	21 */ /* removed */
197*7c568831SAndroid Build Coastguard Worker } xmlElementType;
198*7c568831SAndroid Build Coastguard Worker 
199*7c568831SAndroid Build Coastguard Worker /** DOC_DISABLE */
200*7c568831SAndroid Build Coastguard Worker /* For backward compatibility */
201*7c568831SAndroid Build Coastguard Worker #define XML_DOCB_DOCUMENT_NODE 21
202*7c568831SAndroid Build Coastguard Worker /** DOC_ENABLE */
203*7c568831SAndroid Build Coastguard Worker 
204*7c568831SAndroid Build Coastguard Worker /**
205*7c568831SAndroid Build Coastguard Worker  * xmlNotation:
206*7c568831SAndroid Build Coastguard Worker  *
207*7c568831SAndroid Build Coastguard Worker  * A DTD Notation definition.
208*7c568831SAndroid Build Coastguard Worker  */
209*7c568831SAndroid Build Coastguard Worker 
210*7c568831SAndroid Build Coastguard Worker typedef struct _xmlNotation xmlNotation;
211*7c568831SAndroid Build Coastguard Worker typedef xmlNotation *xmlNotationPtr;
212*7c568831SAndroid Build Coastguard Worker struct _xmlNotation {
213*7c568831SAndroid Build Coastguard Worker     const xmlChar               *name;	        /* Notation name */
214*7c568831SAndroid Build Coastguard Worker     const xmlChar               *PublicID;	/* Public identifier, if any */
215*7c568831SAndroid Build Coastguard Worker     const xmlChar               *SystemID;	/* System identifier, if any */
216*7c568831SAndroid Build Coastguard Worker };
217*7c568831SAndroid Build Coastguard Worker 
218*7c568831SAndroid Build Coastguard Worker /**
219*7c568831SAndroid Build Coastguard Worker  * xmlAttributeType:
220*7c568831SAndroid Build Coastguard Worker  *
221*7c568831SAndroid Build Coastguard Worker  * A DTD Attribute type definition.
222*7c568831SAndroid Build Coastguard Worker  */
223*7c568831SAndroid Build Coastguard Worker 
224*7c568831SAndroid Build Coastguard Worker typedef enum {
225*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_CDATA = 1,
226*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_ID,
227*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_IDREF	,
228*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_IDREFS,
229*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_ENTITY,
230*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_ENTITIES,
231*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_NMTOKEN,
232*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_NMTOKENS,
233*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_ENUMERATION,
234*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_NOTATION
235*7c568831SAndroid Build Coastguard Worker } xmlAttributeType;
236*7c568831SAndroid Build Coastguard Worker 
237*7c568831SAndroid Build Coastguard Worker /**
238*7c568831SAndroid Build Coastguard Worker  * xmlAttributeDefault:
239*7c568831SAndroid Build Coastguard Worker  *
240*7c568831SAndroid Build Coastguard Worker  * A DTD Attribute default definition.
241*7c568831SAndroid Build Coastguard Worker  */
242*7c568831SAndroid Build Coastguard Worker 
243*7c568831SAndroid Build Coastguard Worker typedef enum {
244*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_NONE = 1,
245*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_REQUIRED,
246*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_IMPLIED,
247*7c568831SAndroid Build Coastguard Worker     XML_ATTRIBUTE_FIXED
248*7c568831SAndroid Build Coastguard Worker } xmlAttributeDefault;
249*7c568831SAndroid Build Coastguard Worker 
250*7c568831SAndroid Build Coastguard Worker /**
251*7c568831SAndroid Build Coastguard Worker  * xmlEnumeration:
252*7c568831SAndroid Build Coastguard Worker  *
253*7c568831SAndroid Build Coastguard Worker  * List structure used when there is an enumeration in DTDs.
254*7c568831SAndroid Build Coastguard Worker  */
255*7c568831SAndroid Build Coastguard Worker 
256*7c568831SAndroid Build Coastguard Worker typedef struct _xmlEnumeration xmlEnumeration;
257*7c568831SAndroid Build Coastguard Worker typedef xmlEnumeration *xmlEnumerationPtr;
258*7c568831SAndroid Build Coastguard Worker struct _xmlEnumeration {
259*7c568831SAndroid Build Coastguard Worker     struct _xmlEnumeration    *next;	/* next one */
260*7c568831SAndroid Build Coastguard Worker     const xmlChar            *name;	/* Enumeration name */
261*7c568831SAndroid Build Coastguard Worker };
262*7c568831SAndroid Build Coastguard Worker 
263*7c568831SAndroid Build Coastguard Worker /**
264*7c568831SAndroid Build Coastguard Worker  * xmlAttribute:
265*7c568831SAndroid Build Coastguard Worker  *
266*7c568831SAndroid Build Coastguard Worker  * An Attribute declaration in a DTD.
267*7c568831SAndroid Build Coastguard Worker  */
268*7c568831SAndroid Build Coastguard Worker 
269*7c568831SAndroid Build Coastguard Worker typedef struct _xmlAttribute xmlAttribute;
270*7c568831SAndroid Build Coastguard Worker typedef xmlAttribute *xmlAttributePtr;
271*7c568831SAndroid Build Coastguard Worker struct _xmlAttribute {
272*7c568831SAndroid Build Coastguard Worker     void           *_private;	        /* application data */
273*7c568831SAndroid Build Coastguard Worker     xmlElementType          type;       /* XML_ATTRIBUTE_DECL, must be second ! */
274*7c568831SAndroid Build Coastguard Worker     const xmlChar          *name;	/* Attribute name */
275*7c568831SAndroid Build Coastguard Worker     struct _xmlNode    *children;	/* NULL */
276*7c568831SAndroid Build Coastguard Worker     struct _xmlNode        *last;	/* NULL */
277*7c568831SAndroid Build Coastguard Worker     struct _xmlDtd       *parent;	/* -> DTD */
278*7c568831SAndroid Build Coastguard Worker     struct _xmlNode        *next;	/* next sibling link  */
279*7c568831SAndroid Build Coastguard Worker     struct _xmlNode        *prev;	/* previous sibling link  */
280*7c568831SAndroid Build Coastguard Worker     struct _xmlDoc          *doc;       /* the containing document */
281*7c568831SAndroid Build Coastguard Worker 
282*7c568831SAndroid Build Coastguard Worker     struct _xmlAttribute  *nexth;	/* next in hash table */
283*7c568831SAndroid Build Coastguard Worker     xmlAttributeType       atype;	/* The attribute type */
284*7c568831SAndroid Build Coastguard Worker     xmlAttributeDefault      def;	/* the default */
285*7c568831SAndroid Build Coastguard Worker     const xmlChar  *defaultValue;	/* or the default value */
286*7c568831SAndroid Build Coastguard Worker     xmlEnumerationPtr       tree;       /* or the enumeration tree if any */
287*7c568831SAndroid Build Coastguard Worker     const xmlChar        *prefix;	/* the namespace prefix if any */
288*7c568831SAndroid Build Coastguard Worker     const xmlChar          *elem;	/* Element holding the attribute */
289*7c568831SAndroid Build Coastguard Worker };
290*7c568831SAndroid Build Coastguard Worker 
291*7c568831SAndroid Build Coastguard Worker /**
292*7c568831SAndroid Build Coastguard Worker  * xmlElementContentType:
293*7c568831SAndroid Build Coastguard Worker  *
294*7c568831SAndroid Build Coastguard Worker  * Possible definitions of element content types.
295*7c568831SAndroid Build Coastguard Worker  */
296*7c568831SAndroid Build Coastguard Worker typedef enum {
297*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_CONTENT_PCDATA = 1,
298*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_CONTENT_ELEMENT,
299*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_CONTENT_SEQ,
300*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_CONTENT_OR
301*7c568831SAndroid Build Coastguard Worker } xmlElementContentType;
302*7c568831SAndroid Build Coastguard Worker 
303*7c568831SAndroid Build Coastguard Worker /**
304*7c568831SAndroid Build Coastguard Worker  * xmlElementContentOccur:
305*7c568831SAndroid Build Coastguard Worker  *
306*7c568831SAndroid Build Coastguard Worker  * Possible definitions of element content occurrences.
307*7c568831SAndroid Build Coastguard Worker  */
308*7c568831SAndroid Build Coastguard Worker typedef enum {
309*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_CONTENT_ONCE = 1,
310*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_CONTENT_OPT,
311*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_CONTENT_MULT,
312*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_CONTENT_PLUS
313*7c568831SAndroid Build Coastguard Worker } xmlElementContentOccur;
314*7c568831SAndroid Build Coastguard Worker 
315*7c568831SAndroid Build Coastguard Worker /**
316*7c568831SAndroid Build Coastguard Worker  * xmlElementContent:
317*7c568831SAndroid Build Coastguard Worker  *
318*7c568831SAndroid Build Coastguard Worker  * An XML Element content as stored after parsing an element definition
319*7c568831SAndroid Build Coastguard Worker  * in a DTD.
320*7c568831SAndroid Build Coastguard Worker  */
321*7c568831SAndroid Build Coastguard Worker 
322*7c568831SAndroid Build Coastguard Worker typedef struct _xmlElementContent xmlElementContent;
323*7c568831SAndroid Build Coastguard Worker typedef xmlElementContent *xmlElementContentPtr;
324*7c568831SAndroid Build Coastguard Worker struct _xmlElementContent {
325*7c568831SAndroid Build Coastguard Worker     xmlElementContentType     type;	/* PCDATA, ELEMENT, SEQ or OR */
326*7c568831SAndroid Build Coastguard Worker     xmlElementContentOccur    ocur;	/* ONCE, OPT, MULT or PLUS */
327*7c568831SAndroid Build Coastguard Worker     const xmlChar             *name;	/* Element name */
328*7c568831SAndroid Build Coastguard Worker     struct _xmlElementContent *c1;	/* first child */
329*7c568831SAndroid Build Coastguard Worker     struct _xmlElementContent *c2;	/* second child */
330*7c568831SAndroid Build Coastguard Worker     struct _xmlElementContent *parent;	/* parent */
331*7c568831SAndroid Build Coastguard Worker     const xmlChar             *prefix;	/* Namespace prefix */
332*7c568831SAndroid Build Coastguard Worker };
333*7c568831SAndroid Build Coastguard Worker 
334*7c568831SAndroid Build Coastguard Worker /**
335*7c568831SAndroid Build Coastguard Worker  * xmlElementTypeVal:
336*7c568831SAndroid Build Coastguard Worker  *
337*7c568831SAndroid Build Coastguard Worker  * The different possibilities for an element content type.
338*7c568831SAndroid Build Coastguard Worker  */
339*7c568831SAndroid Build Coastguard Worker 
340*7c568831SAndroid Build Coastguard Worker typedef enum {
341*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_TYPE_UNDEFINED = 0,
342*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_TYPE_EMPTY = 1,
343*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_TYPE_ANY,
344*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_TYPE_MIXED,
345*7c568831SAndroid Build Coastguard Worker     XML_ELEMENT_TYPE_ELEMENT
346*7c568831SAndroid Build Coastguard Worker } xmlElementTypeVal;
347*7c568831SAndroid Build Coastguard Worker 
348*7c568831SAndroid Build Coastguard Worker /**
349*7c568831SAndroid Build Coastguard Worker  * xmlElement:
350*7c568831SAndroid Build Coastguard Worker  *
351*7c568831SAndroid Build Coastguard Worker  * An XML Element declaration from a DTD.
352*7c568831SAndroid Build Coastguard Worker  */
353*7c568831SAndroid Build Coastguard Worker 
354*7c568831SAndroid Build Coastguard Worker typedef struct _xmlElement xmlElement;
355*7c568831SAndroid Build Coastguard Worker typedef xmlElement *xmlElementPtr;
356*7c568831SAndroid Build Coastguard Worker struct _xmlElement {
357*7c568831SAndroid Build Coastguard Worker     void           *_private;	        /* application data */
358*7c568831SAndroid Build Coastguard Worker     xmlElementType          type;       /* XML_ELEMENT_DECL, must be second ! */
359*7c568831SAndroid Build Coastguard Worker     const xmlChar          *name;	/* Element name */
360*7c568831SAndroid Build Coastguard Worker     struct _xmlNode    *children;	/* NULL */
361*7c568831SAndroid Build Coastguard Worker     struct _xmlNode        *last;	/* NULL */
362*7c568831SAndroid Build Coastguard Worker     struct _xmlDtd       *parent;	/* -> DTD */
363*7c568831SAndroid Build Coastguard Worker     struct _xmlNode        *next;	/* next sibling link  */
364*7c568831SAndroid Build Coastguard Worker     struct _xmlNode        *prev;	/* previous sibling link  */
365*7c568831SAndroid Build Coastguard Worker     struct _xmlDoc          *doc;       /* the containing document */
366*7c568831SAndroid Build Coastguard Worker 
367*7c568831SAndroid Build Coastguard Worker     xmlElementTypeVal      etype;	/* The type */
368*7c568831SAndroid Build Coastguard Worker     xmlElementContentPtr content;	/* the allowed element content */
369*7c568831SAndroid Build Coastguard Worker     xmlAttributePtr   attributes;	/* List of the declared attributes */
370*7c568831SAndroid Build Coastguard Worker     const xmlChar        *prefix;	/* the namespace prefix if any */
371*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_REGEXP_ENABLED
372*7c568831SAndroid Build Coastguard Worker     xmlRegexpPtr       contModel;	/* the validating regexp */
373*7c568831SAndroid Build Coastguard Worker #else
374*7c568831SAndroid Build Coastguard Worker     void	      *contModel;
375*7c568831SAndroid Build Coastguard Worker #endif
376*7c568831SAndroid Build Coastguard Worker };
377*7c568831SAndroid Build Coastguard Worker 
378*7c568831SAndroid Build Coastguard Worker 
379*7c568831SAndroid Build Coastguard Worker /**
380*7c568831SAndroid Build Coastguard Worker  * XML_LOCAL_NAMESPACE:
381*7c568831SAndroid Build Coastguard Worker  *
382*7c568831SAndroid Build Coastguard Worker  * A namespace declaration node.
383*7c568831SAndroid Build Coastguard Worker  */
384*7c568831SAndroid Build Coastguard Worker #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
385*7c568831SAndroid Build Coastguard Worker typedef xmlElementType xmlNsType;
386*7c568831SAndroid Build Coastguard Worker 
387*7c568831SAndroid Build Coastguard Worker /**
388*7c568831SAndroid Build Coastguard Worker  * xmlNs:
389*7c568831SAndroid Build Coastguard Worker  *
390*7c568831SAndroid Build Coastguard Worker  * An XML namespace.
391*7c568831SAndroid Build Coastguard Worker  * Note that prefix == NULL is valid, it defines the default namespace
392*7c568831SAndroid Build Coastguard Worker  * within the subtree (until overridden).
393*7c568831SAndroid Build Coastguard Worker  *
394*7c568831SAndroid Build Coastguard Worker  * xmlNsType is unified with xmlElementType.
395*7c568831SAndroid Build Coastguard Worker  */
396*7c568831SAndroid Build Coastguard Worker 
397*7c568831SAndroid Build Coastguard Worker typedef struct _xmlNs xmlNs;
398*7c568831SAndroid Build Coastguard Worker typedef xmlNs *xmlNsPtr;
399*7c568831SAndroid Build Coastguard Worker struct _xmlNs {
400*7c568831SAndroid Build Coastguard Worker     struct _xmlNs  *next;	/* next Ns link for this node  */
401*7c568831SAndroid Build Coastguard Worker     xmlNsType      type;	/* global or local */
402*7c568831SAndroid Build Coastguard Worker     const xmlChar *href;	/* URL for the namespace */
403*7c568831SAndroid Build Coastguard Worker     const xmlChar *prefix;	/* prefix for the namespace */
404*7c568831SAndroid Build Coastguard Worker     void           *_private;   /* application data */
405*7c568831SAndroid Build Coastguard Worker     struct _xmlDoc *context;		/* normally an xmlDoc */
406*7c568831SAndroid Build Coastguard Worker };
407*7c568831SAndroid Build Coastguard Worker 
408*7c568831SAndroid Build Coastguard Worker /**
409*7c568831SAndroid Build Coastguard Worker  * xmlDtd:
410*7c568831SAndroid Build Coastguard Worker  *
411*7c568831SAndroid Build Coastguard Worker  * An XML DTD, as defined by <!DOCTYPE ... There is actually one for
412*7c568831SAndroid Build Coastguard Worker  * the internal subset and for the external subset.
413*7c568831SAndroid Build Coastguard Worker  */
414*7c568831SAndroid Build Coastguard Worker typedef struct _xmlDtd xmlDtd;
415*7c568831SAndroid Build Coastguard Worker typedef xmlDtd *xmlDtdPtr;
416*7c568831SAndroid Build Coastguard Worker struct _xmlDtd {
417*7c568831SAndroid Build Coastguard Worker     void           *_private;	/* application data */
418*7c568831SAndroid Build Coastguard Worker     xmlElementType  type;       /* XML_DTD_NODE, must be second ! */
419*7c568831SAndroid Build Coastguard Worker     const xmlChar *name;	/* Name of the DTD */
420*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *children;	/* the value of the property link */
421*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *last;	/* last child link */
422*7c568831SAndroid Build Coastguard Worker     struct _xmlDoc  *parent;	/* child->parent link */
423*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *next;	/* next sibling link  */
424*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *prev;	/* previous sibling link  */
425*7c568831SAndroid Build Coastguard Worker     struct _xmlDoc  *doc;	/* the containing document */
426*7c568831SAndroid Build Coastguard Worker 
427*7c568831SAndroid Build Coastguard Worker     /* End of common part */
428*7c568831SAndroid Build Coastguard Worker     void          *notations;   /* Hash table for notations if any */
429*7c568831SAndroid Build Coastguard Worker     void          *elements;    /* Hash table for elements if any */
430*7c568831SAndroid Build Coastguard Worker     void          *attributes;  /* Hash table for attributes if any */
431*7c568831SAndroid Build Coastguard Worker     void          *entities;    /* Hash table for entities if any */
432*7c568831SAndroid Build Coastguard Worker     const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
433*7c568831SAndroid Build Coastguard Worker     const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
434*7c568831SAndroid Build Coastguard Worker     void          *pentities;   /* Hash table for param entities if any */
435*7c568831SAndroid Build Coastguard Worker };
436*7c568831SAndroid Build Coastguard Worker 
437*7c568831SAndroid Build Coastguard Worker /**
438*7c568831SAndroid Build Coastguard Worker  * xmlAttr:
439*7c568831SAndroid Build Coastguard Worker  *
440*7c568831SAndroid Build Coastguard Worker  * An attribute on an XML node.
441*7c568831SAndroid Build Coastguard Worker  */
442*7c568831SAndroid Build Coastguard Worker typedef struct _xmlAttr xmlAttr;
443*7c568831SAndroid Build Coastguard Worker typedef xmlAttr *xmlAttrPtr;
444*7c568831SAndroid Build Coastguard Worker struct _xmlAttr {
445*7c568831SAndroid Build Coastguard Worker     void           *_private;	/* application data */
446*7c568831SAndroid Build Coastguard Worker     xmlElementType   type;      /* XML_ATTRIBUTE_NODE, must be second ! */
447*7c568831SAndroid Build Coastguard Worker     const xmlChar   *name;      /* the name of the property */
448*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *children;	/* the value of the property */
449*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *last;	/* NULL */
450*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *parent;	/* child->parent link */
451*7c568831SAndroid Build Coastguard Worker     struct _xmlAttr *next;	/* next sibling link  */
452*7c568831SAndroid Build Coastguard Worker     struct _xmlAttr *prev;	/* previous sibling link  */
453*7c568831SAndroid Build Coastguard Worker     struct _xmlDoc  *doc;	/* the containing document */
454*7c568831SAndroid Build Coastguard Worker     xmlNs           *ns;        /* pointer to the associated namespace */
455*7c568831SAndroid Build Coastguard Worker     xmlAttributeType atype;     /* the attribute type if validating */
456*7c568831SAndroid Build Coastguard Worker     void            *psvi;	/* for type/PSVI information */
457*7c568831SAndroid Build Coastguard Worker     struct _xmlID   *id;        /* the ID struct */
458*7c568831SAndroid Build Coastguard Worker };
459*7c568831SAndroid Build Coastguard Worker 
460*7c568831SAndroid Build Coastguard Worker /**
461*7c568831SAndroid Build Coastguard Worker  * xmlID:
462*7c568831SAndroid Build Coastguard Worker  *
463*7c568831SAndroid Build Coastguard Worker  * An XML ID instance.
464*7c568831SAndroid Build Coastguard Worker  */
465*7c568831SAndroid Build Coastguard Worker 
466*7c568831SAndroid Build Coastguard Worker typedef struct _xmlID xmlID;
467*7c568831SAndroid Build Coastguard Worker typedef xmlID *xmlIDPtr;
468*7c568831SAndroid Build Coastguard Worker struct _xmlID {
469*7c568831SAndroid Build Coastguard Worker     struct _xmlID    *next;	/* next ID */
470*7c568831SAndroid Build Coastguard Worker     const xmlChar    *value;	/* The ID name */
471*7c568831SAndroid Build Coastguard Worker     xmlAttrPtr        attr;	/* The attribute holding it */
472*7c568831SAndroid Build Coastguard Worker     const xmlChar    *name;	/* The attribute if attr is not available */
473*7c568831SAndroid Build Coastguard Worker     int               lineno;	/* The line number if attr is not available */
474*7c568831SAndroid Build Coastguard Worker     struct _xmlDoc   *doc;	/* The document holding the ID */
475*7c568831SAndroid Build Coastguard Worker };
476*7c568831SAndroid Build Coastguard Worker 
477*7c568831SAndroid Build Coastguard Worker /**
478*7c568831SAndroid Build Coastguard Worker  * xmlRef:
479*7c568831SAndroid Build Coastguard Worker  *
480*7c568831SAndroid Build Coastguard Worker  * An XML IDREF instance.
481*7c568831SAndroid Build Coastguard Worker  */
482*7c568831SAndroid Build Coastguard Worker 
483*7c568831SAndroid Build Coastguard Worker typedef struct _xmlRef xmlRef;
484*7c568831SAndroid Build Coastguard Worker typedef xmlRef *xmlRefPtr;
485*7c568831SAndroid Build Coastguard Worker struct _xmlRef {
486*7c568831SAndroid Build Coastguard Worker     struct _xmlRef    *next;	/* next Ref */
487*7c568831SAndroid Build Coastguard Worker     const xmlChar     *value;	/* The Ref name */
488*7c568831SAndroid Build Coastguard Worker     xmlAttrPtr        attr;	/* The attribute holding it */
489*7c568831SAndroid Build Coastguard Worker     const xmlChar    *name;	/* The attribute if attr is not available */
490*7c568831SAndroid Build Coastguard Worker     int               lineno;	/* The line number if attr is not available */
491*7c568831SAndroid Build Coastguard Worker };
492*7c568831SAndroid Build Coastguard Worker 
493*7c568831SAndroid Build Coastguard Worker /**
494*7c568831SAndroid Build Coastguard Worker  * xmlNode:
495*7c568831SAndroid Build Coastguard Worker  *
496*7c568831SAndroid Build Coastguard Worker  * A node in an XML tree.
497*7c568831SAndroid Build Coastguard Worker  */
498*7c568831SAndroid Build Coastguard Worker typedef struct _xmlNode xmlNode;
499*7c568831SAndroid Build Coastguard Worker typedef xmlNode *xmlNodePtr;
500*7c568831SAndroid Build Coastguard Worker struct _xmlNode {
501*7c568831SAndroid Build Coastguard Worker     void           *_private;	/* application data */
502*7c568831SAndroid Build Coastguard Worker     xmlElementType   type;	/* type number, must be second ! */
503*7c568831SAndroid Build Coastguard Worker     const xmlChar   *name;      /* the name of the node, or the entity */
504*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *children;	/* parent->childs link */
505*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *last;	/* last child link */
506*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *parent;	/* child->parent link */
507*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *next;	/* next sibling link  */
508*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *prev;	/* previous sibling link  */
509*7c568831SAndroid Build Coastguard Worker     struct _xmlDoc  *doc;	/* the containing document */
510*7c568831SAndroid Build Coastguard Worker 
511*7c568831SAndroid Build Coastguard Worker     /* End of common part */
512*7c568831SAndroid Build Coastguard Worker     xmlNs           *ns;        /* pointer to the associated namespace */
513*7c568831SAndroid Build Coastguard Worker     xmlChar         *content;   /* the content */
514*7c568831SAndroid Build Coastguard Worker     struct _xmlAttr *properties;/* properties list */
515*7c568831SAndroid Build Coastguard Worker     xmlNs           *nsDef;     /* namespace definitions on this node */
516*7c568831SAndroid Build Coastguard Worker     void            *psvi;	/* for type/PSVI information */
517*7c568831SAndroid Build Coastguard Worker     unsigned short   line;	/* line number */
518*7c568831SAndroid Build Coastguard Worker     unsigned short   extra;	/* extra data for XPath/XSLT */
519*7c568831SAndroid Build Coastguard Worker };
520*7c568831SAndroid Build Coastguard Worker 
521*7c568831SAndroid Build Coastguard Worker /**
522*7c568831SAndroid Build Coastguard Worker  * XML_GET_CONTENT:
523*7c568831SAndroid Build Coastguard Worker  *
524*7c568831SAndroid Build Coastguard Worker  * Macro to extract the content pointer of a node.
525*7c568831SAndroid Build Coastguard Worker  */
526*7c568831SAndroid Build Coastguard Worker #define XML_GET_CONTENT(n)					\
527*7c568831SAndroid Build Coastguard Worker     ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)
528*7c568831SAndroid Build Coastguard Worker 
529*7c568831SAndroid Build Coastguard Worker /**
530*7c568831SAndroid Build Coastguard Worker  * XML_GET_LINE:
531*7c568831SAndroid Build Coastguard Worker  *
532*7c568831SAndroid Build Coastguard Worker  * Macro to extract the line number of an element node.
533*7c568831SAndroid Build Coastguard Worker  */
534*7c568831SAndroid Build Coastguard Worker #define XML_GET_LINE(n)						\
535*7c568831SAndroid Build Coastguard Worker     (xmlGetLineNo(n))
536*7c568831SAndroid Build Coastguard Worker 
537*7c568831SAndroid Build Coastguard Worker /**
538*7c568831SAndroid Build Coastguard Worker  * xmlDocProperty
539*7c568831SAndroid Build Coastguard Worker  *
540*7c568831SAndroid Build Coastguard Worker  * Set of properties of the document as found by the parser
541*7c568831SAndroid Build Coastguard Worker  * Some of them are linked to similarly named xmlParserOption
542*7c568831SAndroid Build Coastguard Worker  */
543*7c568831SAndroid Build Coastguard Worker typedef enum {
544*7c568831SAndroid Build Coastguard Worker     XML_DOC_WELLFORMED		= 1<<0, /* document is XML well formed */
545*7c568831SAndroid Build Coastguard Worker     XML_DOC_NSVALID		= 1<<1, /* document is Namespace valid */
546*7c568831SAndroid Build Coastguard Worker     XML_DOC_OLD10		= 1<<2, /* parsed with old XML-1.0 parser */
547*7c568831SAndroid Build Coastguard Worker     XML_DOC_DTDVALID		= 1<<3, /* DTD validation was successful */
548*7c568831SAndroid Build Coastguard Worker     XML_DOC_XINCLUDE		= 1<<4, /* XInclude substitution was done */
549*7c568831SAndroid Build Coastguard Worker     XML_DOC_USERBUILT		= 1<<5, /* Document was built using the API
550*7c568831SAndroid Build Coastguard Worker                                            and not by parsing an instance */
551*7c568831SAndroid Build Coastguard Worker     XML_DOC_INTERNAL		= 1<<6, /* built for internal processing */
552*7c568831SAndroid Build Coastguard Worker     XML_DOC_HTML		= 1<<7  /* parsed or built HTML document */
553*7c568831SAndroid Build Coastguard Worker } xmlDocProperties;
554*7c568831SAndroid Build Coastguard Worker 
555*7c568831SAndroid Build Coastguard Worker /**
556*7c568831SAndroid Build Coastguard Worker  * xmlDoc:
557*7c568831SAndroid Build Coastguard Worker  *
558*7c568831SAndroid Build Coastguard Worker  * An XML document.
559*7c568831SAndroid Build Coastguard Worker  */
560*7c568831SAndroid Build Coastguard Worker typedef struct _xmlDoc xmlDoc;
561*7c568831SAndroid Build Coastguard Worker typedef xmlDoc *xmlDocPtr;
562*7c568831SAndroid Build Coastguard Worker struct _xmlDoc {
563*7c568831SAndroid Build Coastguard Worker     void           *_private;	/* application data */
564*7c568831SAndroid Build Coastguard Worker     xmlElementType  type;       /* XML_DOCUMENT_NODE, must be second ! */
565*7c568831SAndroid Build Coastguard Worker     char           *name;	/* name/filename/URI of the document */
566*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *children;	/* the document tree */
567*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *last;	/* last child link */
568*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *parent;	/* child->parent link */
569*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *next;	/* next sibling link  */
570*7c568831SAndroid Build Coastguard Worker     struct _xmlNode *prev;	/* previous sibling link  */
571*7c568831SAndroid Build Coastguard Worker     struct _xmlDoc  *doc;	/* autoreference to itself */
572*7c568831SAndroid Build Coastguard Worker 
573*7c568831SAndroid Build Coastguard Worker     /* End of common part */
574*7c568831SAndroid Build Coastguard Worker     int             compression;/* level of zlib compression */
575*7c568831SAndroid Build Coastguard Worker     int             standalone; /* standalone document (no external refs)
576*7c568831SAndroid Build Coastguard Worker 				     1 if standalone="yes"
577*7c568831SAndroid Build Coastguard Worker 				     0 if standalone="no"
578*7c568831SAndroid Build Coastguard Worker 				    -1 if there is no XML declaration
579*7c568831SAndroid Build Coastguard Worker 				    -2 if there is an XML declaration, but no
580*7c568831SAndroid Build Coastguard Worker 					standalone attribute was specified */
581*7c568831SAndroid Build Coastguard Worker     struct _xmlDtd  *intSubset;	/* the document internal subset */
582*7c568831SAndroid Build Coastguard Worker     struct _xmlDtd  *extSubset;	/* the document external subset */
583*7c568831SAndroid Build Coastguard Worker     struct _xmlNs   *oldNs;	/* Global namespace, the old way */
584*7c568831SAndroid Build Coastguard Worker     const xmlChar  *version;	/* the XML version string */
585*7c568831SAndroid Build Coastguard Worker     const xmlChar  *encoding;   /* actual encoding, if any */
586*7c568831SAndroid Build Coastguard Worker     void           *ids;        /* Hash table for ID attributes if any */
587*7c568831SAndroid Build Coastguard Worker     void           *refs;       /* Hash table for IDREFs attributes if any */
588*7c568831SAndroid Build Coastguard Worker     const xmlChar  *URL;	/* The URI for that document */
589*7c568831SAndroid Build Coastguard Worker     int             charset;    /* unused */
590*7c568831SAndroid Build Coastguard Worker     struct _xmlDict *dict;      /* dict used to allocate names or NULL */
591*7c568831SAndroid Build Coastguard Worker     void           *psvi;	/* for type/PSVI information */
592*7c568831SAndroid Build Coastguard Worker     int             parseFlags;	/* set of xmlParserOption used to parse the
593*7c568831SAndroid Build Coastguard Worker 				   document */
594*7c568831SAndroid Build Coastguard Worker     int             properties;	/* set of xmlDocProperties for this document
595*7c568831SAndroid Build Coastguard Worker 				   set at the end of parsing */
596*7c568831SAndroid Build Coastguard Worker };
597*7c568831SAndroid Build Coastguard Worker 
598*7c568831SAndroid Build Coastguard Worker 
599*7c568831SAndroid Build Coastguard Worker typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt;
600*7c568831SAndroid Build Coastguard Worker typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;
601*7c568831SAndroid Build Coastguard Worker 
602*7c568831SAndroid Build Coastguard Worker /**
603*7c568831SAndroid Build Coastguard Worker  * xmlDOMWrapAcquireNsFunction:
604*7c568831SAndroid Build Coastguard Worker  * @ctxt:  a DOM wrapper context
605*7c568831SAndroid Build Coastguard Worker  * @node:  the context node (element or attribute)
606*7c568831SAndroid Build Coastguard Worker  * @nsName:  the requested namespace name
607*7c568831SAndroid Build Coastguard Worker  * @nsPrefix:  the requested namespace prefix
608*7c568831SAndroid Build Coastguard Worker  *
609*7c568831SAndroid Build Coastguard Worker  * A function called to acquire namespaces (xmlNs) from the wrapper.
610*7c568831SAndroid Build Coastguard Worker  *
611*7c568831SAndroid Build Coastguard Worker  * Returns an xmlNsPtr or NULL in case of an error.
612*7c568831SAndroid Build Coastguard Worker  */
613*7c568831SAndroid Build Coastguard Worker typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt,
614*7c568831SAndroid Build Coastguard Worker 						 xmlNodePtr node,
615*7c568831SAndroid Build Coastguard Worker 						 const xmlChar *nsName,
616*7c568831SAndroid Build Coastguard Worker 						 const xmlChar *nsPrefix);
617*7c568831SAndroid Build Coastguard Worker 
618*7c568831SAndroid Build Coastguard Worker /**
619*7c568831SAndroid Build Coastguard Worker  * xmlDOMWrapCtxt:
620*7c568831SAndroid Build Coastguard Worker  *
621*7c568831SAndroid Build Coastguard Worker  * Context for DOM wrapper-operations.
622*7c568831SAndroid Build Coastguard Worker  */
623*7c568831SAndroid Build Coastguard Worker struct _xmlDOMWrapCtxt {
624*7c568831SAndroid Build Coastguard Worker     void * _private;
625*7c568831SAndroid Build Coastguard Worker     /*
626*7c568831SAndroid Build Coastguard Worker     * The type of this context, just in case we need specialized
627*7c568831SAndroid Build Coastguard Worker     * contexts in the future.
628*7c568831SAndroid Build Coastguard Worker     */
629*7c568831SAndroid Build Coastguard Worker     int type;
630*7c568831SAndroid Build Coastguard Worker     /*
631*7c568831SAndroid Build Coastguard Worker     * Internal namespace map used for various operations.
632*7c568831SAndroid Build Coastguard Worker     */
633*7c568831SAndroid Build Coastguard Worker     void * namespaceMap;
634*7c568831SAndroid Build Coastguard Worker     /*
635*7c568831SAndroid Build Coastguard Worker     * Use this one to acquire an xmlNsPtr intended for node->ns.
636*7c568831SAndroid Build Coastguard Worker     * (Note that this is not intended for elem->nsDef).
637*7c568831SAndroid Build Coastguard Worker     */
638*7c568831SAndroid Build Coastguard Worker     xmlDOMWrapAcquireNsFunction getNsForNodeFunc;
639*7c568831SAndroid Build Coastguard Worker };
640*7c568831SAndroid Build Coastguard Worker 
641*7c568831SAndroid Build Coastguard Worker /**
642*7c568831SAndroid Build Coastguard Worker  * xmlRegisterNodeFunc:
643*7c568831SAndroid Build Coastguard Worker  * @node: the current node
644*7c568831SAndroid Build Coastguard Worker  *
645*7c568831SAndroid Build Coastguard Worker  * Signature for the registration callback of a created node
646*7c568831SAndroid Build Coastguard Worker  */
647*7c568831SAndroid Build Coastguard Worker typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
648*7c568831SAndroid Build Coastguard Worker 
649*7c568831SAndroid Build Coastguard Worker /**
650*7c568831SAndroid Build Coastguard Worker  * xmlDeregisterNodeFunc:
651*7c568831SAndroid Build Coastguard Worker  * @node: the current node
652*7c568831SAndroid Build Coastguard Worker  *
653*7c568831SAndroid Build Coastguard Worker  * Signature for the deregistration callback of a discarded node
654*7c568831SAndroid Build Coastguard Worker  */
655*7c568831SAndroid Build Coastguard Worker typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);
656*7c568831SAndroid Build Coastguard Worker 
657*7c568831SAndroid Build Coastguard Worker /**
658*7c568831SAndroid Build Coastguard Worker  * xmlChildrenNode:
659*7c568831SAndroid Build Coastguard Worker  *
660*7c568831SAndroid Build Coastguard Worker  * Macro for compatibility naming layer with libxml1. Maps
661*7c568831SAndroid Build Coastguard Worker  * to "children."
662*7c568831SAndroid Build Coastguard Worker  */
663*7c568831SAndroid Build Coastguard Worker #ifndef xmlChildrenNode
664*7c568831SAndroid Build Coastguard Worker #define xmlChildrenNode children
665*7c568831SAndroid Build Coastguard Worker #endif
666*7c568831SAndroid Build Coastguard Worker 
667*7c568831SAndroid Build Coastguard Worker /**
668*7c568831SAndroid Build Coastguard Worker  * xmlRootNode:
669*7c568831SAndroid Build Coastguard Worker  *
670*7c568831SAndroid Build Coastguard Worker  * Macro for compatibility naming layer with libxml1. Maps
671*7c568831SAndroid Build Coastguard Worker  * to "children".
672*7c568831SAndroid Build Coastguard Worker  */
673*7c568831SAndroid Build Coastguard Worker #ifndef xmlRootNode
674*7c568831SAndroid Build Coastguard Worker #define xmlRootNode children
675*7c568831SAndroid Build Coastguard Worker #endif
676*7c568831SAndroid Build Coastguard Worker 
677*7c568831SAndroid Build Coastguard Worker /*
678*7c568831SAndroid Build Coastguard Worker  * Variables.
679*7c568831SAndroid Build Coastguard Worker  */
680*7c568831SAndroid Build Coastguard Worker 
681*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
682*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlBufferAllocationScheme xmlBufferAllocScheme;
683*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
684*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const int xmlDefaultBufferSize;
685*7c568831SAndroid Build Coastguard Worker 
686*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_THREAD_ENABLED
687*7c568831SAndroid Build Coastguard Worker /* backward compatibility */
688*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
689*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const xmlBufferAllocationScheme *__xmlBufferAllocScheme(void);
690*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
691*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const int *__xmlDefaultBufferSize(void);
692*7c568831SAndroid Build Coastguard Worker #endif
693*7c568831SAndroid Build Coastguard Worker 
694*7c568831SAndroid Build Coastguard Worker /** DOC_DISABLE */
695*7c568831SAndroid Build Coastguard Worker #define XML_GLOBALS_TREE \
696*7c568831SAndroid Build Coastguard Worker   XML_OP(xmlRegisterNodeDefaultValue, xmlRegisterNodeFunc, XML_DEPRECATED) \
697*7c568831SAndroid Build Coastguard Worker   XML_OP(xmlDeregisterNodeDefaultValue, xmlDeregisterNodeFunc, \
698*7c568831SAndroid Build Coastguard Worker          XML_DEPRECATED)
699*7c568831SAndroid Build Coastguard Worker 
700*7c568831SAndroid Build Coastguard Worker #define XML_OP XML_DECLARE_GLOBAL
701*7c568831SAndroid Build Coastguard Worker XML_GLOBALS_TREE
702*7c568831SAndroid Build Coastguard Worker #undef XML_OP
703*7c568831SAndroid Build Coastguard Worker 
704*7c568831SAndroid Build Coastguard Worker #if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION)
705*7c568831SAndroid Build Coastguard Worker   #define xmlRegisterNodeDefaultValue \
706*7c568831SAndroid Build Coastguard Worker     XML_GLOBAL_MACRO(xmlRegisterNodeDefaultValue)
707*7c568831SAndroid Build Coastguard Worker   #define xmlDeregisterNodeDefaultValue \
708*7c568831SAndroid Build Coastguard Worker     XML_GLOBAL_MACRO(xmlDeregisterNodeDefaultValue)
709*7c568831SAndroid Build Coastguard Worker #endif
710*7c568831SAndroid Build Coastguard Worker /** DOC_ENABLE */
711*7c568831SAndroid Build Coastguard Worker 
712*7c568831SAndroid Build Coastguard Worker /*
713*7c568831SAndroid Build Coastguard Worker  * Some helper functions
714*7c568831SAndroid Build Coastguard Worker  */
715*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
716*7c568831SAndroid Build Coastguard Worker 		xmlValidateNCName	(const xmlChar *value,
717*7c568831SAndroid Build Coastguard Worker 					 int space);
718*7c568831SAndroid Build Coastguard Worker 
719*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
720*7c568831SAndroid Build Coastguard Worker 		xmlValidateQName	(const xmlChar *value,
721*7c568831SAndroid Build Coastguard Worker 					 int space);
722*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
723*7c568831SAndroid Build Coastguard Worker 		xmlValidateName		(const xmlChar *value,
724*7c568831SAndroid Build Coastguard Worker 					 int space);
725*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
726*7c568831SAndroid Build Coastguard Worker 		xmlValidateNMToken	(const xmlChar *value,
727*7c568831SAndroid Build Coastguard Worker 					 int space);
728*7c568831SAndroid Build Coastguard Worker 
729*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar *
730*7c568831SAndroid Build Coastguard Worker 		xmlBuildQName		(const xmlChar *ncname,
731*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *prefix,
732*7c568831SAndroid Build Coastguard Worker 					 xmlChar *memory,
733*7c568831SAndroid Build Coastguard Worker 					 int len);
734*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar *
735*7c568831SAndroid Build Coastguard Worker 		xmlSplitQName2		(const xmlChar *name,
736*7c568831SAndroid Build Coastguard Worker 					 xmlChar **prefix);
737*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const xmlChar *
738*7c568831SAndroid Build Coastguard Worker 		xmlSplitQName3		(const xmlChar *name,
739*7c568831SAndroid Build Coastguard Worker 					 int *len);
740*7c568831SAndroid Build Coastguard Worker 
741*7c568831SAndroid Build Coastguard Worker /*
742*7c568831SAndroid Build Coastguard Worker  * Handling Buffers, the old ones see @xmlBuf for the new ones.
743*7c568831SAndroid Build Coastguard Worker  */
744*7c568831SAndroid Build Coastguard Worker 
745*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
746*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
747*7c568831SAndroid Build Coastguard Worker 		xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
748*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
749*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlBufferAllocationScheme
750*7c568831SAndroid Build Coastguard Worker 		xmlGetBufferAllocationScheme(void);
751*7c568831SAndroid Build Coastguard Worker 
752*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlBufferPtr
753*7c568831SAndroid Build Coastguard Worker 		xmlBufferCreate		(void);
754*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlBufferPtr
755*7c568831SAndroid Build Coastguard Worker 		xmlBufferCreateSize	(size_t size);
756*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlBufferPtr
757*7c568831SAndroid Build Coastguard Worker 		xmlBufferCreateStatic	(void *mem,
758*7c568831SAndroid Build Coastguard Worker 					 size_t size);
759*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
760*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
761*7c568831SAndroid Build Coastguard Worker 		xmlBufferResize		(xmlBufferPtr buf,
762*7c568831SAndroid Build Coastguard Worker 					 unsigned int size);
763*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
764*7c568831SAndroid Build Coastguard Worker 		xmlBufferFree		(xmlBufferPtr buf);
765*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
766*7c568831SAndroid Build Coastguard Worker 		xmlBufferDump		(FILE *file,
767*7c568831SAndroid Build Coastguard Worker 					 xmlBufferPtr buf);
768*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
769*7c568831SAndroid Build Coastguard Worker 		xmlBufferAdd		(xmlBufferPtr buf,
770*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *str,
771*7c568831SAndroid Build Coastguard Worker 					 int len);
772*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
773*7c568831SAndroid Build Coastguard Worker 		xmlBufferAddHead	(xmlBufferPtr buf,
774*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *str,
775*7c568831SAndroid Build Coastguard Worker 					 int len);
776*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
777*7c568831SAndroid Build Coastguard Worker 		xmlBufferCat		(xmlBufferPtr buf,
778*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *str);
779*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
780*7c568831SAndroid Build Coastguard Worker 		xmlBufferCCat		(xmlBufferPtr buf,
781*7c568831SAndroid Build Coastguard Worker 					 const char *str);
782*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
783*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
784*7c568831SAndroid Build Coastguard Worker 		xmlBufferShrink		(xmlBufferPtr buf,
785*7c568831SAndroid Build Coastguard Worker 					 unsigned int len);
786*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
787*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
788*7c568831SAndroid Build Coastguard Worker 		xmlBufferGrow		(xmlBufferPtr buf,
789*7c568831SAndroid Build Coastguard Worker 					 unsigned int len);
790*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
791*7c568831SAndroid Build Coastguard Worker 		xmlBufferEmpty		(xmlBufferPtr buf);
792*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const xmlChar*
793*7c568831SAndroid Build Coastguard Worker 		xmlBufferContent	(const xmlBuffer *buf);
794*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar*
795*7c568831SAndroid Build Coastguard Worker 		xmlBufferDetach         (xmlBufferPtr buf);
796*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
797*7c568831SAndroid Build Coastguard Worker 		xmlBufferSetAllocationScheme(xmlBufferPtr buf,
798*7c568831SAndroid Build Coastguard Worker 					 xmlBufferAllocationScheme scheme);
799*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
800*7c568831SAndroid Build Coastguard Worker 		xmlBufferLength		(const xmlBuffer *buf);
801*7c568831SAndroid Build Coastguard Worker 
802*7c568831SAndroid Build Coastguard Worker /*
803*7c568831SAndroid Build Coastguard Worker  * Creating/freeing new structures.
804*7c568831SAndroid Build Coastguard Worker  */
805*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDtdPtr
806*7c568831SAndroid Build Coastguard Worker 		xmlCreateIntSubset	(xmlDocPtr doc,
807*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
808*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *ExternalID,
809*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *SystemID);
810*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDtdPtr
811*7c568831SAndroid Build Coastguard Worker 		xmlNewDtd		(xmlDocPtr doc,
812*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
813*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *ExternalID,
814*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *SystemID);
815*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDtdPtr
816*7c568831SAndroid Build Coastguard Worker 		xmlGetIntSubset		(const xmlDoc *doc);
817*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
818*7c568831SAndroid Build Coastguard Worker 		xmlFreeDtd		(xmlDtdPtr cur);
819*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNsPtr
820*7c568831SAndroid Build Coastguard Worker 		xmlNewNs		(xmlNodePtr node,
821*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *href,
822*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *prefix);
823*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
824*7c568831SAndroid Build Coastguard Worker 		xmlFreeNs		(xmlNsPtr cur);
825*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
826*7c568831SAndroid Build Coastguard Worker 		xmlFreeNsList		(xmlNsPtr cur);
827*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr
828*7c568831SAndroid Build Coastguard Worker 		xmlNewDoc		(const xmlChar *version);
829*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
830*7c568831SAndroid Build Coastguard Worker 		xmlFreeDoc		(xmlDocPtr cur);
831*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlAttrPtr
832*7c568831SAndroid Build Coastguard Worker 		xmlNewDocProp		(xmlDocPtr doc,
833*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
834*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *value);
835*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlAttrPtr
836*7c568831SAndroid Build Coastguard Worker 		xmlNewProp		(xmlNodePtr node,
837*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
838*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *value);
839*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlAttrPtr
840*7c568831SAndroid Build Coastguard Worker 		xmlNewNsProp		(xmlNodePtr node,
841*7c568831SAndroid Build Coastguard Worker 					 xmlNsPtr ns,
842*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
843*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *value);
844*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlAttrPtr
845*7c568831SAndroid Build Coastguard Worker 		xmlNewNsPropEatName	(xmlNodePtr node,
846*7c568831SAndroid Build Coastguard Worker 					 xmlNsPtr ns,
847*7c568831SAndroid Build Coastguard Worker 					 xmlChar *name,
848*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *value);
849*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
850*7c568831SAndroid Build Coastguard Worker 		xmlFreePropList		(xmlAttrPtr cur);
851*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
852*7c568831SAndroid Build Coastguard Worker 		xmlFreeProp		(xmlAttrPtr cur);
853*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlAttrPtr
854*7c568831SAndroid Build Coastguard Worker 		xmlCopyProp		(xmlNodePtr target,
855*7c568831SAndroid Build Coastguard Worker 					 xmlAttrPtr cur);
856*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlAttrPtr
857*7c568831SAndroid Build Coastguard Worker 		xmlCopyPropList		(xmlNodePtr target,
858*7c568831SAndroid Build Coastguard Worker 					 xmlAttrPtr cur);
859*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDtdPtr
860*7c568831SAndroid Build Coastguard Worker 		xmlCopyDtd		(xmlDtdPtr dtd);
861*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr
862*7c568831SAndroid Build Coastguard Worker 		xmlCopyDoc		(xmlDocPtr doc,
863*7c568831SAndroid Build Coastguard Worker 					 int recursive);
864*7c568831SAndroid Build Coastguard Worker /*
865*7c568831SAndroid Build Coastguard Worker  * Creating new nodes.
866*7c568831SAndroid Build Coastguard Worker  */
867*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
868*7c568831SAndroid Build Coastguard Worker 		xmlNewDocNode		(xmlDocPtr doc,
869*7c568831SAndroid Build Coastguard Worker 					 xmlNsPtr ns,
870*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
871*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content);
872*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
873*7c568831SAndroid Build Coastguard Worker 		xmlNewDocNodeEatName	(xmlDocPtr doc,
874*7c568831SAndroid Build Coastguard Worker 					 xmlNsPtr ns,
875*7c568831SAndroid Build Coastguard Worker 					 xmlChar *name,
876*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content);
877*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
878*7c568831SAndroid Build Coastguard Worker 		xmlNewNode		(xmlNsPtr ns,
879*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name);
880*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
881*7c568831SAndroid Build Coastguard Worker 		xmlNewNodeEatName	(xmlNsPtr ns,
882*7c568831SAndroid Build Coastguard Worker 					 xmlChar *name);
883*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
884*7c568831SAndroid Build Coastguard Worker 		xmlNewChild		(xmlNodePtr parent,
885*7c568831SAndroid Build Coastguard Worker 					 xmlNsPtr ns,
886*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
887*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content);
888*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
889*7c568831SAndroid Build Coastguard Worker 		xmlNewDocText		(const xmlDoc *doc,
890*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content);
891*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
892*7c568831SAndroid Build Coastguard Worker 		xmlNewText		(const xmlChar *content);
893*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
894*7c568831SAndroid Build Coastguard Worker 		xmlNewDocPI		(xmlDocPtr doc,
895*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
896*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content);
897*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
898*7c568831SAndroid Build Coastguard Worker 		xmlNewPI		(const xmlChar *name,
899*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content);
900*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
901*7c568831SAndroid Build Coastguard Worker 		xmlNewDocTextLen	(xmlDocPtr doc,
902*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content,
903*7c568831SAndroid Build Coastguard Worker 					 int len);
904*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
905*7c568831SAndroid Build Coastguard Worker 		xmlNewTextLen		(const xmlChar *content,
906*7c568831SAndroid Build Coastguard Worker 					 int len);
907*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
908*7c568831SAndroid Build Coastguard Worker 		xmlNewDocComment	(xmlDocPtr doc,
909*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content);
910*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
911*7c568831SAndroid Build Coastguard Worker 		xmlNewComment		(const xmlChar *content);
912*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
913*7c568831SAndroid Build Coastguard Worker 		xmlNewCDataBlock	(xmlDocPtr doc,
914*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content,
915*7c568831SAndroid Build Coastguard Worker 					 int len);
916*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
917*7c568831SAndroid Build Coastguard Worker 		xmlNewCharRef		(xmlDocPtr doc,
918*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name);
919*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
920*7c568831SAndroid Build Coastguard Worker 		xmlNewReference		(const xmlDoc *doc,
921*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name);
922*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
923*7c568831SAndroid Build Coastguard Worker 		xmlCopyNode		(xmlNodePtr node,
924*7c568831SAndroid Build Coastguard Worker 					 int recursive);
925*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
926*7c568831SAndroid Build Coastguard Worker 		xmlDocCopyNode		(xmlNodePtr node,
927*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr doc,
928*7c568831SAndroid Build Coastguard Worker 					 int recursive);
929*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
930*7c568831SAndroid Build Coastguard Worker 		xmlDocCopyNodeList	(xmlDocPtr doc,
931*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr node);
932*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
933*7c568831SAndroid Build Coastguard Worker 		xmlCopyNodeList		(xmlNodePtr node);
934*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
935*7c568831SAndroid Build Coastguard Worker 		xmlNewTextChild		(xmlNodePtr parent,
936*7c568831SAndroid Build Coastguard Worker 					 xmlNsPtr ns,
937*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
938*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content);
939*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
940*7c568831SAndroid Build Coastguard Worker 		xmlNewDocRawNode	(xmlDocPtr doc,
941*7c568831SAndroid Build Coastguard Worker 					 xmlNsPtr ns,
942*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
943*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content);
944*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
945*7c568831SAndroid Build Coastguard Worker 		xmlNewDocFragment	(xmlDocPtr doc);
946*7c568831SAndroid Build Coastguard Worker 
947*7c568831SAndroid Build Coastguard Worker /*
948*7c568831SAndroid Build Coastguard Worker  * Navigating.
949*7c568831SAndroid Build Coastguard Worker  */
950*7c568831SAndroid Build Coastguard Worker XMLPUBFUN long
951*7c568831SAndroid Build Coastguard Worker 		xmlGetLineNo		(const xmlNode *node);
952*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar *
953*7c568831SAndroid Build Coastguard Worker 		xmlGetNodePath		(const xmlNode *node);
954*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
955*7c568831SAndroid Build Coastguard Worker 		xmlDocGetRootElement	(const xmlDoc *doc);
956*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
957*7c568831SAndroid Build Coastguard Worker 		xmlGetLastChild		(const xmlNode *parent);
958*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
959*7c568831SAndroid Build Coastguard Worker 		xmlNodeIsText		(const xmlNode *node);
960*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
961*7c568831SAndroid Build Coastguard Worker 		xmlIsBlankNode		(const xmlNode *node);
962*7c568831SAndroid Build Coastguard Worker 
963*7c568831SAndroid Build Coastguard Worker /*
964*7c568831SAndroid Build Coastguard Worker  * Changing the structure.
965*7c568831SAndroid Build Coastguard Worker  */
966*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
967*7c568831SAndroid Build Coastguard Worker 		xmlDocSetRootElement	(xmlDocPtr doc,
968*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr root);
969*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
970*7c568831SAndroid Build Coastguard Worker 		xmlNodeSetName		(xmlNodePtr cur,
971*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name);
972*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
973*7c568831SAndroid Build Coastguard Worker 		xmlAddChild		(xmlNodePtr parent,
974*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr cur);
975*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
976*7c568831SAndroid Build Coastguard Worker 		xmlAddChildList		(xmlNodePtr parent,
977*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr cur);
978*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
979*7c568831SAndroid Build Coastguard Worker 		xmlReplaceNode		(xmlNodePtr old,
980*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr cur);
981*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
982*7c568831SAndroid Build Coastguard Worker 		xmlAddPrevSibling	(xmlNodePtr cur,
983*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr elem);
984*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
985*7c568831SAndroid Build Coastguard Worker 		xmlAddSibling		(xmlNodePtr cur,
986*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr elem);
987*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
988*7c568831SAndroid Build Coastguard Worker 		xmlAddNextSibling	(xmlNodePtr cur,
989*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr elem);
990*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
991*7c568831SAndroid Build Coastguard Worker 		xmlUnlinkNode		(xmlNodePtr cur);
992*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
993*7c568831SAndroid Build Coastguard Worker 		xmlTextMerge		(xmlNodePtr first,
994*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr second);
995*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
996*7c568831SAndroid Build Coastguard Worker 		xmlTextConcat		(xmlNodePtr node,
997*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content,
998*7c568831SAndroid Build Coastguard Worker 					 int len);
999*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1000*7c568831SAndroid Build Coastguard Worker 		xmlFreeNodeList		(xmlNodePtr cur);
1001*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1002*7c568831SAndroid Build Coastguard Worker 		xmlFreeNode		(xmlNodePtr cur);
1003*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1004*7c568831SAndroid Build Coastguard Worker 		xmlSetTreeDoc		(xmlNodePtr tree,
1005*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr doc);
1006*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1007*7c568831SAndroid Build Coastguard Worker 		xmlSetListDoc		(xmlNodePtr list,
1008*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr doc);
1009*7c568831SAndroid Build Coastguard Worker /*
1010*7c568831SAndroid Build Coastguard Worker  * Namespaces.
1011*7c568831SAndroid Build Coastguard Worker  */
1012*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNsPtr
1013*7c568831SAndroid Build Coastguard Worker 		xmlSearchNs		(xmlDocPtr doc,
1014*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr node,
1015*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *nameSpace);
1016*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNsPtr
1017*7c568831SAndroid Build Coastguard Worker 		xmlSearchNsByHref	(xmlDocPtr doc,
1018*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr node,
1019*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *href);
1020*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1021*7c568831SAndroid Build Coastguard Worker 		xmlGetNsListSafe	(const xmlDoc *doc,
1022*7c568831SAndroid Build Coastguard Worker 					 const xmlNode *node,
1023*7c568831SAndroid Build Coastguard Worker 					 xmlNsPtr **out);
1024*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNsPtr *
1025*7c568831SAndroid Build Coastguard Worker 		xmlGetNsList		(const xmlDoc *doc,
1026*7c568831SAndroid Build Coastguard Worker 					 const xmlNode *node);
1027*7c568831SAndroid Build Coastguard Worker 
1028*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1029*7c568831SAndroid Build Coastguard Worker 		xmlSetNs		(xmlNodePtr node,
1030*7c568831SAndroid Build Coastguard Worker 					 xmlNsPtr ns);
1031*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNsPtr
1032*7c568831SAndroid Build Coastguard Worker 		xmlCopyNamespace	(xmlNsPtr cur);
1033*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNsPtr
1034*7c568831SAndroid Build Coastguard Worker 		xmlCopyNamespaceList	(xmlNsPtr cur);
1035*7c568831SAndroid Build Coastguard Worker 
1036*7c568831SAndroid Build Coastguard Worker /*
1037*7c568831SAndroid Build Coastguard Worker  * Changing the content.
1038*7c568831SAndroid Build Coastguard Worker  */
1039*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlAttrPtr
1040*7c568831SAndroid Build Coastguard Worker 		xmlSetProp		(xmlNodePtr node,
1041*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
1042*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *value);
1043*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlAttrPtr
1044*7c568831SAndroid Build Coastguard Worker 		xmlSetNsProp		(xmlNodePtr node,
1045*7c568831SAndroid Build Coastguard Worker 					 xmlNsPtr ns,
1046*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
1047*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *value);
1048*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1049*7c568831SAndroid Build Coastguard Worker 		xmlNodeGetAttrValue	(const xmlNode *node,
1050*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
1051*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *nsUri,
1052*7c568831SAndroid Build Coastguard Worker 					 xmlChar **out);
1053*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar *
1054*7c568831SAndroid Build Coastguard Worker 		xmlGetNoNsProp		(const xmlNode *node,
1055*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name);
1056*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar *
1057*7c568831SAndroid Build Coastguard Worker 		xmlGetProp		(const xmlNode *node,
1058*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name);
1059*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlAttrPtr
1060*7c568831SAndroid Build Coastguard Worker 		xmlHasProp		(const xmlNode *node,
1061*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name);
1062*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlAttrPtr
1063*7c568831SAndroid Build Coastguard Worker 		xmlHasNsProp		(const xmlNode *node,
1064*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
1065*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *nameSpace);
1066*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar *
1067*7c568831SAndroid Build Coastguard Worker 		xmlGetNsProp		(const xmlNode *node,
1068*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name,
1069*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *nameSpace);
1070*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
1071*7c568831SAndroid Build Coastguard Worker 		xmlStringGetNodeList	(const xmlDoc *doc,
1072*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *value);
1073*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
1074*7c568831SAndroid Build Coastguard Worker 		xmlStringLenGetNodeList	(const xmlDoc *doc,
1075*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *value,
1076*7c568831SAndroid Build Coastguard Worker 					 int len);
1077*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar *
1078*7c568831SAndroid Build Coastguard Worker 		xmlNodeListGetString	(xmlDocPtr doc,
1079*7c568831SAndroid Build Coastguard Worker 					 const xmlNode *list,
1080*7c568831SAndroid Build Coastguard Worker 					 int inLine);
1081*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar *
1082*7c568831SAndroid Build Coastguard Worker 		xmlNodeListGetRawString	(const xmlDoc *doc,
1083*7c568831SAndroid Build Coastguard Worker 					 const xmlNode *list,
1084*7c568831SAndroid Build Coastguard Worker 					 int inLine);
1085*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1086*7c568831SAndroid Build Coastguard Worker 		xmlNodeSetContent	(xmlNodePtr cur,
1087*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content);
1088*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1089*7c568831SAndroid Build Coastguard Worker 		xmlNodeSetContentLen	(xmlNodePtr cur,
1090*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content,
1091*7c568831SAndroid Build Coastguard Worker 					 int len);
1092*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1093*7c568831SAndroid Build Coastguard Worker 		xmlNodeAddContent	(xmlNodePtr cur,
1094*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content);
1095*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1096*7c568831SAndroid Build Coastguard Worker 		xmlNodeAddContentLen	(xmlNodePtr cur,
1097*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *content,
1098*7c568831SAndroid Build Coastguard Worker 					 int len);
1099*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar *
1100*7c568831SAndroid Build Coastguard Worker 		xmlNodeGetContent	(const xmlNode *cur);
1101*7c568831SAndroid Build Coastguard Worker 
1102*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1103*7c568831SAndroid Build Coastguard Worker 		xmlNodeBufGetContent	(xmlBufferPtr buffer,
1104*7c568831SAndroid Build Coastguard Worker 					 const xmlNode *cur);
1105*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1106*7c568831SAndroid Build Coastguard Worker 		xmlBufGetNodeContent	(xmlBufPtr buf,
1107*7c568831SAndroid Build Coastguard Worker 					 const xmlNode *cur);
1108*7c568831SAndroid Build Coastguard Worker 
1109*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar *
1110*7c568831SAndroid Build Coastguard Worker 		xmlNodeGetLang		(const xmlNode *cur);
1111*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1112*7c568831SAndroid Build Coastguard Worker 		xmlNodeGetSpacePreserve	(const xmlNode *cur);
1113*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1114*7c568831SAndroid Build Coastguard Worker 		xmlNodeSetLang		(xmlNodePtr cur,
1115*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *lang);
1116*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1117*7c568831SAndroid Build Coastguard Worker 		xmlNodeSetSpacePreserve (xmlNodePtr cur,
1118*7c568831SAndroid Build Coastguard Worker 					 int val);
1119*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1120*7c568831SAndroid Build Coastguard Worker 		xmlNodeGetBaseSafe	(const xmlDoc *doc,
1121*7c568831SAndroid Build Coastguard Worker 					 const xmlNode *cur,
1122*7c568831SAndroid Build Coastguard Worker 					 xmlChar **baseOut);
1123*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar *
1124*7c568831SAndroid Build Coastguard Worker 		xmlNodeGetBase		(const xmlDoc *doc,
1125*7c568831SAndroid Build Coastguard Worker 					 const xmlNode *cur);
1126*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1127*7c568831SAndroid Build Coastguard Worker 		xmlNodeSetBase		(xmlNodePtr cur,
1128*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *uri);
1129*7c568831SAndroid Build Coastguard Worker 
1130*7c568831SAndroid Build Coastguard Worker /*
1131*7c568831SAndroid Build Coastguard Worker  * Removing content.
1132*7c568831SAndroid Build Coastguard Worker  */
1133*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1134*7c568831SAndroid Build Coastguard Worker 		xmlRemoveProp		(xmlAttrPtr cur);
1135*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1136*7c568831SAndroid Build Coastguard Worker 		xmlUnsetNsProp		(xmlNodePtr node,
1137*7c568831SAndroid Build Coastguard Worker 					 xmlNsPtr ns,
1138*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name);
1139*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1140*7c568831SAndroid Build Coastguard Worker 		xmlUnsetProp		(xmlNodePtr node,
1141*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *name);
1142*7c568831SAndroid Build Coastguard Worker 
1143*7c568831SAndroid Build Coastguard Worker /*
1144*7c568831SAndroid Build Coastguard Worker  * Internal, don't use.
1145*7c568831SAndroid Build Coastguard Worker  */
1146*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1147*7c568831SAndroid Build Coastguard Worker 		xmlBufferWriteCHAR	(xmlBufferPtr buf,
1148*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *string);
1149*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1150*7c568831SAndroid Build Coastguard Worker 		xmlBufferWriteChar	(xmlBufferPtr buf,
1151*7c568831SAndroid Build Coastguard Worker 					 const char *string);
1152*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1153*7c568831SAndroid Build Coastguard Worker 		xmlBufferWriteQuotedString(xmlBufferPtr buf,
1154*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *string);
1155*7c568831SAndroid Build Coastguard Worker 
1156*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED
1157*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
1158*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr doc,
1159*7c568831SAndroid Build Coastguard Worker 					 xmlAttrPtr attr,
1160*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *string);
1161*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_OUTPUT_ENABLED */
1162*7c568831SAndroid Build Coastguard Worker 
1163*7c568831SAndroid Build Coastguard Worker /*
1164*7c568831SAndroid Build Coastguard Worker  * Namespace handling.
1165*7c568831SAndroid Build Coastguard Worker  */
1166*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1167*7c568831SAndroid Build Coastguard Worker 		xmlReconciliateNs	(xmlDocPtr doc,
1168*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr tree);
1169*7c568831SAndroid Build Coastguard Worker 
1170*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED
1171*7c568831SAndroid Build Coastguard Worker /*
1172*7c568831SAndroid Build Coastguard Worker  * Saving.
1173*7c568831SAndroid Build Coastguard Worker  */
1174*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1175*7c568831SAndroid Build Coastguard Worker 		xmlDocDumpFormatMemory	(xmlDocPtr cur,
1176*7c568831SAndroid Build Coastguard Worker 					 xmlChar **mem,
1177*7c568831SAndroid Build Coastguard Worker 					 int *size,
1178*7c568831SAndroid Build Coastguard Worker 					 int format);
1179*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1180*7c568831SAndroid Build Coastguard Worker 		xmlDocDumpMemory	(xmlDocPtr cur,
1181*7c568831SAndroid Build Coastguard Worker 					 xmlChar **mem,
1182*7c568831SAndroid Build Coastguard Worker 					 int *size);
1183*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1184*7c568831SAndroid Build Coastguard Worker 		xmlDocDumpMemoryEnc	(xmlDocPtr out_doc,
1185*7c568831SAndroid Build Coastguard Worker 					 xmlChar **doc_txt_ptr,
1186*7c568831SAndroid Build Coastguard Worker 					 int * doc_txt_len,
1187*7c568831SAndroid Build Coastguard Worker 					 const char *txt_encoding);
1188*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1189*7c568831SAndroid Build Coastguard Worker 		xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
1190*7c568831SAndroid Build Coastguard Worker 					 xmlChar **doc_txt_ptr,
1191*7c568831SAndroid Build Coastguard Worker 					 int * doc_txt_len,
1192*7c568831SAndroid Build Coastguard Worker 					 const char *txt_encoding,
1193*7c568831SAndroid Build Coastguard Worker 					 int format);
1194*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1195*7c568831SAndroid Build Coastguard Worker 		xmlDocFormatDump	(FILE *f,
1196*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr cur,
1197*7c568831SAndroid Build Coastguard Worker 					 int format);
1198*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1199*7c568831SAndroid Build Coastguard Worker 		xmlDocDump		(FILE *f,
1200*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr cur);
1201*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1202*7c568831SAndroid Build Coastguard Worker 		xmlElemDump		(FILE *f,
1203*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr doc,
1204*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr cur);
1205*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1206*7c568831SAndroid Build Coastguard Worker 		xmlSaveFile		(const char *filename,
1207*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr cur);
1208*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1209*7c568831SAndroid Build Coastguard Worker 		xmlSaveFormatFile	(const char *filename,
1210*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr cur,
1211*7c568831SAndroid Build Coastguard Worker 					 int format);
1212*7c568831SAndroid Build Coastguard Worker XMLPUBFUN size_t
1213*7c568831SAndroid Build Coastguard Worker 		xmlBufNodeDump		(xmlBufPtr buf,
1214*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr doc,
1215*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr cur,
1216*7c568831SAndroid Build Coastguard Worker 					 int level,
1217*7c568831SAndroid Build Coastguard Worker 					 int format);
1218*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1219*7c568831SAndroid Build Coastguard Worker 		xmlNodeDump		(xmlBufferPtr buf,
1220*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr doc,
1221*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr cur,
1222*7c568831SAndroid Build Coastguard Worker 					 int level,
1223*7c568831SAndroid Build Coastguard Worker 					 int format);
1224*7c568831SAndroid Build Coastguard Worker 
1225*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1226*7c568831SAndroid Build Coastguard Worker 		xmlSaveFileTo		(xmlOutputBufferPtr buf,
1227*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr cur,
1228*7c568831SAndroid Build Coastguard Worker 					 const char *encoding);
1229*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1230*7c568831SAndroid Build Coastguard Worker 		xmlSaveFormatFileTo     (xmlOutputBufferPtr buf,
1231*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr cur,
1232*7c568831SAndroid Build Coastguard Worker 				         const char *encoding,
1233*7c568831SAndroid Build Coastguard Worker 				         int format);
1234*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1235*7c568831SAndroid Build Coastguard Worker 		xmlNodeDumpOutput	(xmlOutputBufferPtr buf,
1236*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr doc,
1237*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr cur,
1238*7c568831SAndroid Build Coastguard Worker 					 int level,
1239*7c568831SAndroid Build Coastguard Worker 					 int format,
1240*7c568831SAndroid Build Coastguard Worker 					 const char *encoding);
1241*7c568831SAndroid Build Coastguard Worker 
1242*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1243*7c568831SAndroid Build Coastguard Worker 		xmlSaveFormatFileEnc    (const char *filename,
1244*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr cur,
1245*7c568831SAndroid Build Coastguard Worker 					 const char *encoding,
1246*7c568831SAndroid Build Coastguard Worker 					 int format);
1247*7c568831SAndroid Build Coastguard Worker 
1248*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1249*7c568831SAndroid Build Coastguard Worker 		xmlSaveFileEnc		(const char *filename,
1250*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr cur,
1251*7c568831SAndroid Build Coastguard Worker 					 const char *encoding);
1252*7c568831SAndroid Build Coastguard Worker 
1253*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_OUTPUT_ENABLED */
1254*7c568831SAndroid Build Coastguard Worker /*
1255*7c568831SAndroid Build Coastguard Worker  * XHTML
1256*7c568831SAndroid Build Coastguard Worker  */
1257*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1258*7c568831SAndroid Build Coastguard Worker 		xmlIsXHTML		(const xmlChar *systemID,
1259*7c568831SAndroid Build Coastguard Worker 					 const xmlChar *publicID);
1260*7c568831SAndroid Build Coastguard Worker 
1261*7c568831SAndroid Build Coastguard Worker /*
1262*7c568831SAndroid Build Coastguard Worker  * Compression.
1263*7c568831SAndroid Build Coastguard Worker  */
1264*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1265*7c568831SAndroid Build Coastguard Worker 		xmlGetDocCompressMode	(const xmlDoc *doc);
1266*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1267*7c568831SAndroid Build Coastguard Worker 		xmlSetDocCompressMode	(xmlDocPtr doc,
1268*7c568831SAndroid Build Coastguard Worker 					 int mode);
1269*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
1270*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1271*7c568831SAndroid Build Coastguard Worker 		xmlGetCompressMode	(void);
1272*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
1273*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1274*7c568831SAndroid Build Coastguard Worker 		xmlSetCompressMode	(int mode);
1275*7c568831SAndroid Build Coastguard Worker 
1276*7c568831SAndroid Build Coastguard Worker /*
1277*7c568831SAndroid Build Coastguard Worker * DOM-wrapper helper functions.
1278*7c568831SAndroid Build Coastguard Worker */
1279*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDOMWrapCtxtPtr
1280*7c568831SAndroid Build Coastguard Worker 		xmlDOMWrapNewCtxt	(void);
1281*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void
1282*7c568831SAndroid Build Coastguard Worker 		xmlDOMWrapFreeCtxt	(xmlDOMWrapCtxtPtr ctxt);
1283*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1284*7c568831SAndroid Build Coastguard Worker 	    xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt,
1285*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr elem,
1286*7c568831SAndroid Build Coastguard Worker 					 int options);
1287*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1288*7c568831SAndroid Build Coastguard Worker 	    xmlDOMWrapAdoptNode		(xmlDOMWrapCtxtPtr ctxt,
1289*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr sourceDoc,
1290*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr node,
1291*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr destDoc,
1292*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr destParent,
1293*7c568831SAndroid Build Coastguard Worker 					 int options);
1294*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1295*7c568831SAndroid Build Coastguard Worker 	    xmlDOMWrapRemoveNode	(xmlDOMWrapCtxtPtr ctxt,
1296*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr doc,
1297*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr node,
1298*7c568831SAndroid Build Coastguard Worker 					 int options);
1299*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
1300*7c568831SAndroid Build Coastguard Worker 	    xmlDOMWrapCloneNode		(xmlDOMWrapCtxtPtr ctxt,
1301*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr sourceDoc,
1302*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr node,
1303*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr *clonedNode,
1304*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr destDoc,
1305*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr destParent,
1306*7c568831SAndroid Build Coastguard Worker 					 int deep,
1307*7c568831SAndroid Build Coastguard Worker 					 int options);
1308*7c568831SAndroid Build Coastguard Worker 
1309*7c568831SAndroid Build Coastguard Worker /*
1310*7c568831SAndroid Build Coastguard Worker  * 5 interfaces from DOM ElementTraversal, but different in entities
1311*7c568831SAndroid Build Coastguard Worker  * traversal.
1312*7c568831SAndroid Build Coastguard Worker  */
1313*7c568831SAndroid Build Coastguard Worker XMLPUBFUN unsigned long
1314*7c568831SAndroid Build Coastguard Worker             xmlChildElementCount        (xmlNodePtr parent);
1315*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
1316*7c568831SAndroid Build Coastguard Worker             xmlNextElementSibling       (xmlNodePtr node);
1317*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
1318*7c568831SAndroid Build Coastguard Worker             xmlFirstElementChild        (xmlNodePtr parent);
1319*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
1320*7c568831SAndroid Build Coastguard Worker             xmlLastElementChild         (xmlNodePtr parent);
1321*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr
1322*7c568831SAndroid Build Coastguard Worker             xmlPreviousElementSibling   (xmlNodePtr node);
1323*7c568831SAndroid Build Coastguard Worker 
1324*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
1325*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlRegisterNodeFunc
1326*7c568831SAndroid Build Coastguard Worker 	    xmlRegisterNodeDefault	(xmlRegisterNodeFunc func);
1327*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
1328*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDeregisterNodeFunc
1329*7c568831SAndroid Build Coastguard Worker 	    xmlDeregisterNodeDefault	(xmlDeregisterNodeFunc func);
1330*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
1331*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlRegisterNodeFunc
1332*7c568831SAndroid Build Coastguard Worker             xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
1333*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
1334*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDeregisterNodeFunc
1335*7c568831SAndroid Build Coastguard Worker             xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
1336*7c568831SAndroid Build Coastguard Worker 
1337*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN xmlBufferAllocationScheme
1338*7c568831SAndroid Build Coastguard Worker             xmlThrDefBufferAllocScheme  (xmlBufferAllocationScheme v);
1339*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int
1340*7c568831SAndroid Build Coastguard Worker             xmlThrDefDefaultBufferSize  (int v);
1341*7c568831SAndroid Build Coastguard Worker 
1342*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus
1343*7c568831SAndroid Build Coastguard Worker }
1344*7c568831SAndroid Build Coastguard Worker #endif
1345*7c568831SAndroid Build Coastguard Worker 
1346*7c568831SAndroid Build Coastguard Worker #endif /* __XML_TREE_H__ */
1347*7c568831SAndroid Build Coastguard Worker 
1348*7c568831SAndroid Build Coastguard Worker #endif /* XML_TREE_INTERNALS */
1349*7c568831SAndroid Build Coastguard Worker 
1350