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