1*7c568831SAndroid Build Coastguard Worker /* 2*7c568831SAndroid Build Coastguard Worker * Summary: the core parser module 3*7c568831SAndroid Build Coastguard Worker * Description: Interfaces, constants and types related to the XML parser 4*7c568831SAndroid Build Coastguard Worker * 5*7c568831SAndroid Build Coastguard Worker * Copy: See Copyright for the status of this software. 6*7c568831SAndroid Build Coastguard Worker * 7*7c568831SAndroid Build Coastguard Worker * Author: Daniel Veillard 8*7c568831SAndroid Build Coastguard Worker */ 9*7c568831SAndroid Build Coastguard Worker 10*7c568831SAndroid Build Coastguard Worker #ifndef __XML_PARSER_H__ 11*7c568831SAndroid Build Coastguard Worker #define __XML_PARSER_H__ 12*7c568831SAndroid Build Coastguard Worker 13*7c568831SAndroid Build Coastguard Worker /** DOC_DISABLE */ 14*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlversion.h> 15*7c568831SAndroid Build Coastguard Worker #define XML_TREE_INTERNALS 16*7c568831SAndroid Build Coastguard Worker #include <libxml/tree.h> 17*7c568831SAndroid Build Coastguard Worker #undef XML_TREE_INTERNALS 18*7c568831SAndroid Build Coastguard Worker #include <libxml/dict.h> 19*7c568831SAndroid Build Coastguard Worker #include <libxml/hash.h> 20*7c568831SAndroid Build Coastguard Worker #include <libxml/valid.h> 21*7c568831SAndroid Build Coastguard Worker #include <libxml/entities.h> 22*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlerror.h> 23*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlstring.h> 24*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlmemory.h> 25*7c568831SAndroid Build Coastguard Worker #include <libxml/encoding.h> 26*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlIO.h> 27*7c568831SAndroid Build Coastguard Worker /* for compatibility */ 28*7c568831SAndroid Build Coastguard Worker #include <libxml/SAX2.h> 29*7c568831SAndroid Build Coastguard Worker #include <libxml/threads.h> 30*7c568831SAndroid Build Coastguard Worker /** DOC_ENABLE */ 31*7c568831SAndroid Build Coastguard Worker 32*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus 33*7c568831SAndroid Build Coastguard Worker extern "C" { 34*7c568831SAndroid Build Coastguard Worker #endif 35*7c568831SAndroid Build Coastguard Worker 36*7c568831SAndroid Build Coastguard Worker /** 37*7c568831SAndroid Build Coastguard Worker * XML_DEFAULT_VERSION: 38*7c568831SAndroid Build Coastguard Worker * 39*7c568831SAndroid Build Coastguard Worker * The default version of XML used: 1.0 40*7c568831SAndroid Build Coastguard Worker */ 41*7c568831SAndroid Build Coastguard Worker #define XML_DEFAULT_VERSION "1.0" 42*7c568831SAndroid Build Coastguard Worker 43*7c568831SAndroid Build Coastguard Worker #define XML_STATUS_NOT_WELL_FORMED (1 << 0) 44*7c568831SAndroid Build Coastguard Worker #define XML_STATUS_NOT_NS_WELL_FORMED (1 << 1) 45*7c568831SAndroid Build Coastguard Worker #define XML_STATUS_DTD_VALIDATION_FAILED (1 << 2) 46*7c568831SAndroid Build Coastguard Worker #define XML_STATUS_CATASTROPHIC_ERROR (1 << 3) 47*7c568831SAndroid Build Coastguard Worker 48*7c568831SAndroid Build Coastguard Worker typedef enum { 49*7c568831SAndroid Build Coastguard Worker XML_RESOURCE_UNKNOWN = 0, 50*7c568831SAndroid Build Coastguard Worker XML_RESOURCE_MAIN_DOCUMENT, 51*7c568831SAndroid Build Coastguard Worker XML_RESOURCE_DTD, 52*7c568831SAndroid Build Coastguard Worker XML_RESOURCE_GENERAL_ENTITY, 53*7c568831SAndroid Build Coastguard Worker XML_RESOURCE_PARAMETER_ENTITY, 54*7c568831SAndroid Build Coastguard Worker XML_RESOURCE_XINCLUDE, 55*7c568831SAndroid Build Coastguard Worker XML_RESOURCE_XINCLUDE_TEXT 56*7c568831SAndroid Build Coastguard Worker } xmlResourceType; 57*7c568831SAndroid Build Coastguard Worker 58*7c568831SAndroid Build Coastguard Worker /** 59*7c568831SAndroid Build Coastguard Worker * xmlParserInput: 60*7c568831SAndroid Build Coastguard Worker * 61*7c568831SAndroid Build Coastguard Worker * An xmlParserInput is an input flow for the XML processor. 62*7c568831SAndroid Build Coastguard Worker * Each entity parsed is associated an xmlParserInput (except the 63*7c568831SAndroid Build Coastguard Worker * few predefined ones). This is the case both for internal entities 64*7c568831SAndroid Build Coastguard Worker * - in which case the flow is already completely in memory - or 65*7c568831SAndroid Build Coastguard Worker * external entities - in which case we use the buf structure for 66*7c568831SAndroid Build Coastguard Worker * progressive reading and I18N conversions to the internal UTF-8 format. 67*7c568831SAndroid Build Coastguard Worker */ 68*7c568831SAndroid Build Coastguard Worker 69*7c568831SAndroid Build Coastguard Worker /** 70*7c568831SAndroid Build Coastguard Worker * xmlParserInputDeallocate: 71*7c568831SAndroid Build Coastguard Worker * @str: the string to deallocate 72*7c568831SAndroid Build Coastguard Worker * 73*7c568831SAndroid Build Coastguard Worker * Callback for freeing some parser input allocations. 74*7c568831SAndroid Build Coastguard Worker */ 75*7c568831SAndroid Build Coastguard Worker typedef void (* xmlParserInputDeallocate)(xmlChar *str); 76*7c568831SAndroid Build Coastguard Worker 77*7c568831SAndroid Build Coastguard Worker struct _xmlParserInput { 78*7c568831SAndroid Build Coastguard Worker /* Input buffer */ 79*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferPtr buf; 80*7c568831SAndroid Build Coastguard Worker /* The file analyzed, if any */ 81*7c568831SAndroid Build Coastguard Worker const char *filename; 82*7c568831SAndroid Build Coastguard Worker /* unused */ 83*7c568831SAndroid Build Coastguard Worker const char *directory XML_DEPRECATED_MEMBER; 84*7c568831SAndroid Build Coastguard Worker /* Base of the array to parse */ 85*7c568831SAndroid Build Coastguard Worker const xmlChar *base; 86*7c568831SAndroid Build Coastguard Worker /* Current char being parsed */ 87*7c568831SAndroid Build Coastguard Worker const xmlChar *cur; 88*7c568831SAndroid Build Coastguard Worker /* end of the array to parse */ 89*7c568831SAndroid Build Coastguard Worker const xmlChar *end; 90*7c568831SAndroid Build Coastguard Worker /* unused */ 91*7c568831SAndroid Build Coastguard Worker int length XML_DEPRECATED_MEMBER; 92*7c568831SAndroid Build Coastguard Worker /* Current line */ 93*7c568831SAndroid Build Coastguard Worker int line; 94*7c568831SAndroid Build Coastguard Worker /* Current column */ 95*7c568831SAndroid Build Coastguard Worker int col; 96*7c568831SAndroid Build Coastguard Worker /* How many xmlChars already consumed */ 97*7c568831SAndroid Build Coastguard Worker unsigned long consumed XML_DEPRECATED_MEMBER; 98*7c568831SAndroid Build Coastguard Worker /* function to deallocate the base */ 99*7c568831SAndroid Build Coastguard Worker xmlParserInputDeallocate free XML_DEPRECATED_MEMBER; 100*7c568831SAndroid Build Coastguard Worker /* unused */ 101*7c568831SAndroid Build Coastguard Worker const xmlChar *encoding XML_DEPRECATED_MEMBER; 102*7c568831SAndroid Build Coastguard Worker /* the version string for entity */ 103*7c568831SAndroid Build Coastguard Worker const xmlChar *version XML_DEPRECATED_MEMBER; 104*7c568831SAndroid Build Coastguard Worker /* Flags */ 105*7c568831SAndroid Build Coastguard Worker int flags XML_DEPRECATED_MEMBER; 106*7c568831SAndroid Build Coastguard Worker /* an unique identifier for the entity */ 107*7c568831SAndroid Build Coastguard Worker int id XML_DEPRECATED_MEMBER; 108*7c568831SAndroid Build Coastguard Worker /* unused */ 109*7c568831SAndroid Build Coastguard Worker unsigned long parentConsumed XML_DEPRECATED_MEMBER; 110*7c568831SAndroid Build Coastguard Worker /* entity, if any */ 111*7c568831SAndroid Build Coastguard Worker xmlEntityPtr entity XML_DEPRECATED_MEMBER; 112*7c568831SAndroid Build Coastguard Worker }; 113*7c568831SAndroid Build Coastguard Worker 114*7c568831SAndroid Build Coastguard Worker /** 115*7c568831SAndroid Build Coastguard Worker * xmlParserNodeInfo: 116*7c568831SAndroid Build Coastguard Worker * 117*7c568831SAndroid Build Coastguard Worker * The parser can be asked to collect Node information, i.e. at what 118*7c568831SAndroid Build Coastguard Worker * place in the file they were detected. 119*7c568831SAndroid Build Coastguard Worker * NOTE: This is off by default and not very well tested. 120*7c568831SAndroid Build Coastguard Worker */ 121*7c568831SAndroid Build Coastguard Worker typedef struct _xmlParserNodeInfo xmlParserNodeInfo; 122*7c568831SAndroid Build Coastguard Worker typedef xmlParserNodeInfo *xmlParserNodeInfoPtr; 123*7c568831SAndroid Build Coastguard Worker 124*7c568831SAndroid Build Coastguard Worker struct _xmlParserNodeInfo { 125*7c568831SAndroid Build Coastguard Worker const struct _xmlNode* node; 126*7c568831SAndroid Build Coastguard Worker /* Position & line # that text that created the node begins & ends on */ 127*7c568831SAndroid Build Coastguard Worker unsigned long begin_pos; 128*7c568831SAndroid Build Coastguard Worker unsigned long begin_line; 129*7c568831SAndroid Build Coastguard Worker unsigned long end_pos; 130*7c568831SAndroid Build Coastguard Worker unsigned long end_line; 131*7c568831SAndroid Build Coastguard Worker }; 132*7c568831SAndroid Build Coastguard Worker 133*7c568831SAndroid Build Coastguard Worker typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq; 134*7c568831SAndroid Build Coastguard Worker typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr; 135*7c568831SAndroid Build Coastguard Worker struct _xmlParserNodeInfoSeq { 136*7c568831SAndroid Build Coastguard Worker unsigned long maximum; 137*7c568831SAndroid Build Coastguard Worker unsigned long length; 138*7c568831SAndroid Build Coastguard Worker xmlParserNodeInfo* buffer; 139*7c568831SAndroid Build Coastguard Worker }; 140*7c568831SAndroid Build Coastguard Worker 141*7c568831SAndroid Build Coastguard Worker /** 142*7c568831SAndroid Build Coastguard Worker * xmlParserInputState: 143*7c568831SAndroid Build Coastguard Worker * 144*7c568831SAndroid Build Coastguard Worker * The parser is now working also as a state based parser. 145*7c568831SAndroid Build Coastguard Worker * The recursive one use the state info for entities processing. 146*7c568831SAndroid Build Coastguard Worker */ 147*7c568831SAndroid Build Coastguard Worker typedef enum { 148*7c568831SAndroid Build Coastguard Worker XML_PARSER_EOF = -1, /* nothing is to be parsed */ 149*7c568831SAndroid Build Coastguard Worker XML_PARSER_START = 0, /* nothing has been parsed */ 150*7c568831SAndroid Build Coastguard Worker XML_PARSER_MISC, /* Misc* before int subset */ 151*7c568831SAndroid Build Coastguard Worker XML_PARSER_PI, /* Within a processing instruction */ 152*7c568831SAndroid Build Coastguard Worker XML_PARSER_DTD, /* within some DTD content */ 153*7c568831SAndroid Build Coastguard Worker XML_PARSER_PROLOG, /* Misc* after internal subset */ 154*7c568831SAndroid Build Coastguard Worker XML_PARSER_COMMENT, /* within a comment */ 155*7c568831SAndroid Build Coastguard Worker XML_PARSER_START_TAG, /* within a start tag */ 156*7c568831SAndroid Build Coastguard Worker XML_PARSER_CONTENT, /* within the content */ 157*7c568831SAndroid Build Coastguard Worker XML_PARSER_CDATA_SECTION, /* within a CDATA section */ 158*7c568831SAndroid Build Coastguard Worker XML_PARSER_END_TAG, /* within a closing tag */ 159*7c568831SAndroid Build Coastguard Worker XML_PARSER_ENTITY_DECL, /* within an entity declaration */ 160*7c568831SAndroid Build Coastguard Worker XML_PARSER_ENTITY_VALUE, /* within an entity value in a decl */ 161*7c568831SAndroid Build Coastguard Worker XML_PARSER_ATTRIBUTE_VALUE, /* within an attribute value */ 162*7c568831SAndroid Build Coastguard Worker XML_PARSER_SYSTEM_LITERAL, /* within a SYSTEM value */ 163*7c568831SAndroid Build Coastguard Worker XML_PARSER_EPILOG, /* the Misc* after the last end tag */ 164*7c568831SAndroid Build Coastguard Worker XML_PARSER_IGNORE, /* within an IGNORED section */ 165*7c568831SAndroid Build Coastguard Worker XML_PARSER_PUBLIC_LITERAL, /* within a PUBLIC value */ 166*7c568831SAndroid Build Coastguard Worker XML_PARSER_XML_DECL /* before XML decl (but after BOM) */ 167*7c568831SAndroid Build Coastguard Worker } xmlParserInputState; 168*7c568831SAndroid Build Coastguard Worker 169*7c568831SAndroid Build Coastguard Worker /** DOC_DISABLE */ 170*7c568831SAndroid Build Coastguard Worker /* 171*7c568831SAndroid Build Coastguard Worker * Internal bits in the 'loadsubset' context member 172*7c568831SAndroid Build Coastguard Worker */ 173*7c568831SAndroid Build Coastguard Worker #define XML_DETECT_IDS 2 174*7c568831SAndroid Build Coastguard Worker #define XML_COMPLETE_ATTRS 4 175*7c568831SAndroid Build Coastguard Worker #define XML_SKIP_IDS 8 176*7c568831SAndroid Build Coastguard Worker /** DOC_ENABLE */ 177*7c568831SAndroid Build Coastguard Worker 178*7c568831SAndroid Build Coastguard Worker /** 179*7c568831SAndroid Build Coastguard Worker * xmlParserMode: 180*7c568831SAndroid Build Coastguard Worker * 181*7c568831SAndroid Build Coastguard Worker * A parser can operate in various modes 182*7c568831SAndroid Build Coastguard Worker */ 183*7c568831SAndroid Build Coastguard Worker typedef enum { 184*7c568831SAndroid Build Coastguard Worker XML_PARSE_UNKNOWN = 0, 185*7c568831SAndroid Build Coastguard Worker XML_PARSE_DOM = 1, 186*7c568831SAndroid Build Coastguard Worker XML_PARSE_SAX = 2, 187*7c568831SAndroid Build Coastguard Worker XML_PARSE_PUSH_DOM = 3, 188*7c568831SAndroid Build Coastguard Worker XML_PARSE_PUSH_SAX = 4, 189*7c568831SAndroid Build Coastguard Worker XML_PARSE_READER = 5 190*7c568831SAndroid Build Coastguard Worker } xmlParserMode; 191*7c568831SAndroid Build Coastguard Worker 192*7c568831SAndroid Build Coastguard Worker typedef struct _xmlStartTag xmlStartTag; 193*7c568831SAndroid Build Coastguard Worker typedef struct _xmlParserNsData xmlParserNsData; 194*7c568831SAndroid Build Coastguard Worker typedef struct _xmlAttrHashBucket xmlAttrHashBucket; 195*7c568831SAndroid Build Coastguard Worker 196*7c568831SAndroid Build Coastguard Worker typedef int 197*7c568831SAndroid Build Coastguard Worker (*xmlResourceLoader)(void *ctxt, const char *url, const char *publicId, 198*7c568831SAndroid Build Coastguard Worker xmlResourceType type, int flags, xmlParserInputPtr *out); 199*7c568831SAndroid Build Coastguard Worker 200*7c568831SAndroid Build Coastguard Worker /** 201*7c568831SAndroid Build Coastguard Worker * xmlParserCtxt: 202*7c568831SAndroid Build Coastguard Worker * 203*7c568831SAndroid Build Coastguard Worker * The parser context. 204*7c568831SAndroid Build Coastguard Worker * NOTE This doesn't completely define the parser state, the (current ?) 205*7c568831SAndroid Build Coastguard Worker * design of the parser uses recursive function calls since this allow 206*7c568831SAndroid Build Coastguard Worker * and easy mapping from the production rules of the specification 207*7c568831SAndroid Build Coastguard Worker * to the actual code. The drawback is that the actual function call 208*7c568831SAndroid Build Coastguard Worker * also reflect the parser state. However most of the parsing routines 209*7c568831SAndroid Build Coastguard Worker * takes as the only argument the parser context pointer, so migrating 210*7c568831SAndroid Build Coastguard Worker * to a state based parser for progressive parsing shouldn't be too hard. 211*7c568831SAndroid Build Coastguard Worker */ 212*7c568831SAndroid Build Coastguard Worker struct _xmlParserCtxt { 213*7c568831SAndroid Build Coastguard Worker /* The SAX handler */ 214*7c568831SAndroid Build Coastguard Worker struct _xmlSAXHandler *sax; 215*7c568831SAndroid Build Coastguard Worker /* For SAX interface only, used by DOM build */ 216*7c568831SAndroid Build Coastguard Worker void *userData; 217*7c568831SAndroid Build Coastguard Worker /* the document being built */ 218*7c568831SAndroid Build Coastguard Worker xmlDocPtr myDoc; 219*7c568831SAndroid Build Coastguard Worker /* is the document well formed */ 220*7c568831SAndroid Build Coastguard Worker int wellFormed; 221*7c568831SAndroid Build Coastguard Worker /* shall we replace entities ? */ 222*7c568831SAndroid Build Coastguard Worker int replaceEntities XML_DEPRECATED_MEMBER; 223*7c568831SAndroid Build Coastguard Worker /* the XML version string */ 224*7c568831SAndroid Build Coastguard Worker const xmlChar *version; 225*7c568831SAndroid Build Coastguard Worker /* the declared encoding, if any */ 226*7c568831SAndroid Build Coastguard Worker const xmlChar *encoding; 227*7c568831SAndroid Build Coastguard Worker /* standalone document */ 228*7c568831SAndroid Build Coastguard Worker int standalone; 229*7c568831SAndroid Build Coastguard Worker 230*7c568831SAndroid Build Coastguard Worker /* an HTML(1) document 231*7c568831SAndroid Build Coastguard Worker * 3 is HTML after <head> 232*7c568831SAndroid Build Coastguard Worker * 10 is HTML after <body> 233*7c568831SAndroid Build Coastguard Worker */ 234*7c568831SAndroid Build Coastguard Worker int html; 235*7c568831SAndroid Build Coastguard Worker 236*7c568831SAndroid Build Coastguard Worker /* Input stream stack */ 237*7c568831SAndroid Build Coastguard Worker 238*7c568831SAndroid Build Coastguard Worker /* Current input stream */ 239*7c568831SAndroid Build Coastguard Worker xmlParserInputPtr input; 240*7c568831SAndroid Build Coastguard Worker /* Number of current input streams */ 241*7c568831SAndroid Build Coastguard Worker int inputNr; 242*7c568831SAndroid Build Coastguard Worker /* Max number of input streams */ 243*7c568831SAndroid Build Coastguard Worker int inputMax XML_DEPRECATED_MEMBER; 244*7c568831SAndroid Build Coastguard Worker /* stack of inputs */ 245*7c568831SAndroid Build Coastguard Worker xmlParserInputPtr *inputTab; 246*7c568831SAndroid Build Coastguard Worker 247*7c568831SAndroid Build Coastguard Worker /* Node analysis stack only used for DOM building */ 248*7c568831SAndroid Build Coastguard Worker 249*7c568831SAndroid Build Coastguard Worker /* Current parsed Node */ 250*7c568831SAndroid Build Coastguard Worker xmlNodePtr node XML_DEPRECATED_MEMBER; 251*7c568831SAndroid Build Coastguard Worker /* Depth of the parsing stack */ 252*7c568831SAndroid Build Coastguard Worker int nodeNr XML_DEPRECATED_MEMBER; 253*7c568831SAndroid Build Coastguard Worker /* Max depth of the parsing stack */ 254*7c568831SAndroid Build Coastguard Worker int nodeMax XML_DEPRECATED_MEMBER; 255*7c568831SAndroid Build Coastguard Worker /* array of nodes */ 256*7c568831SAndroid Build Coastguard Worker xmlNodePtr *nodeTab XML_DEPRECATED_MEMBER; 257*7c568831SAndroid Build Coastguard Worker 258*7c568831SAndroid Build Coastguard Worker /* Whether node info should be kept */ 259*7c568831SAndroid Build Coastguard Worker int record_info; 260*7c568831SAndroid Build Coastguard Worker /* info about each node parsed */ 261*7c568831SAndroid Build Coastguard Worker xmlParserNodeInfoSeq node_seq XML_DEPRECATED_MEMBER; 262*7c568831SAndroid Build Coastguard Worker 263*7c568831SAndroid Build Coastguard Worker /* error code */ 264*7c568831SAndroid Build Coastguard Worker int errNo; 265*7c568831SAndroid Build Coastguard Worker 266*7c568831SAndroid Build Coastguard Worker /* reference and external subset */ 267*7c568831SAndroid Build Coastguard Worker int hasExternalSubset XML_DEPRECATED_MEMBER; 268*7c568831SAndroid Build Coastguard Worker /* the internal subset has PE refs */ 269*7c568831SAndroid Build Coastguard Worker int hasPErefs XML_DEPRECATED_MEMBER; 270*7c568831SAndroid Build Coastguard Worker /* unused */ 271*7c568831SAndroid Build Coastguard Worker int external XML_DEPRECATED_MEMBER; 272*7c568831SAndroid Build Coastguard Worker 273*7c568831SAndroid Build Coastguard Worker /* is the document valid */ 274*7c568831SAndroid Build Coastguard Worker int valid; 275*7c568831SAndroid Build Coastguard Worker /* shall we try to validate ? */ 276*7c568831SAndroid Build Coastguard Worker int validate XML_DEPRECATED_MEMBER; 277*7c568831SAndroid Build Coastguard Worker /* The validity context */ 278*7c568831SAndroid Build Coastguard Worker xmlValidCtxt vctxt; 279*7c568831SAndroid Build Coastguard Worker 280*7c568831SAndroid Build Coastguard Worker /* push parser state */ 281*7c568831SAndroid Build Coastguard Worker xmlParserInputState instate XML_DEPRECATED_MEMBER; 282*7c568831SAndroid Build Coastguard Worker /* unused */ 283*7c568831SAndroid Build Coastguard Worker int token XML_DEPRECATED_MEMBER; 284*7c568831SAndroid Build Coastguard Worker 285*7c568831SAndroid Build Coastguard Worker /* unused internally, still used downstream */ 286*7c568831SAndroid Build Coastguard Worker char *directory; 287*7c568831SAndroid Build Coastguard Worker 288*7c568831SAndroid Build Coastguard Worker /* Node name stack */ 289*7c568831SAndroid Build Coastguard Worker 290*7c568831SAndroid Build Coastguard Worker /* Current parsed Node */ 291*7c568831SAndroid Build Coastguard Worker const xmlChar *name XML_DEPRECATED_MEMBER; 292*7c568831SAndroid Build Coastguard Worker /* Depth of the parsing stack */ 293*7c568831SAndroid Build Coastguard Worker int nameNr XML_DEPRECATED_MEMBER; 294*7c568831SAndroid Build Coastguard Worker /* Max depth of the parsing stack */ 295*7c568831SAndroid Build Coastguard Worker int nameMax XML_DEPRECATED_MEMBER; 296*7c568831SAndroid Build Coastguard Worker /* array of nodes */ 297*7c568831SAndroid Build Coastguard Worker const xmlChar **nameTab XML_DEPRECATED_MEMBER; 298*7c568831SAndroid Build Coastguard Worker 299*7c568831SAndroid Build Coastguard Worker /* unused */ 300*7c568831SAndroid Build Coastguard Worker long nbChars XML_DEPRECATED_MEMBER; 301*7c568831SAndroid Build Coastguard Worker /* used by progressive parsing lookup */ 302*7c568831SAndroid Build Coastguard Worker long checkIndex XML_DEPRECATED_MEMBER; 303*7c568831SAndroid Build Coastguard Worker /* ugly but ... */ 304*7c568831SAndroid Build Coastguard Worker int keepBlanks XML_DEPRECATED_MEMBER; 305*7c568831SAndroid Build Coastguard Worker /* SAX callbacks are disabled */ 306*7c568831SAndroid Build Coastguard Worker int disableSAX XML_DEPRECATED_MEMBER; 307*7c568831SAndroid Build Coastguard Worker /* Parsing is in int 1/ext 2 subset */ 308*7c568831SAndroid Build Coastguard Worker int inSubset; 309*7c568831SAndroid Build Coastguard Worker /* name of subset */ 310*7c568831SAndroid Build Coastguard Worker const xmlChar *intSubName; 311*7c568831SAndroid Build Coastguard Worker /* URI of external subset */ 312*7c568831SAndroid Build Coastguard Worker xmlChar *extSubURI; 313*7c568831SAndroid Build Coastguard Worker /* SYSTEM ID of external subset */ 314*7c568831SAndroid Build Coastguard Worker xmlChar *extSubSystem; 315*7c568831SAndroid Build Coastguard Worker 316*7c568831SAndroid Build Coastguard Worker /* xml:space values */ 317*7c568831SAndroid Build Coastguard Worker 318*7c568831SAndroid Build Coastguard Worker /* Should the parser preserve spaces */ 319*7c568831SAndroid Build Coastguard Worker int *space XML_DEPRECATED_MEMBER; 320*7c568831SAndroid Build Coastguard Worker /* Depth of the parsing stack */ 321*7c568831SAndroid Build Coastguard Worker int spaceNr XML_DEPRECATED_MEMBER; 322*7c568831SAndroid Build Coastguard Worker /* Max depth of the parsing stack */ 323*7c568831SAndroid Build Coastguard Worker int spaceMax XML_DEPRECATED_MEMBER; 324*7c568831SAndroid Build Coastguard Worker /* array of space infos */ 325*7c568831SAndroid Build Coastguard Worker int *spaceTab XML_DEPRECATED_MEMBER; 326*7c568831SAndroid Build Coastguard Worker 327*7c568831SAndroid Build Coastguard Worker /* to prevent entity substitution loops */ 328*7c568831SAndroid Build Coastguard Worker int depth XML_DEPRECATED_MEMBER; 329*7c568831SAndroid Build Coastguard Worker /* unused */ 330*7c568831SAndroid Build Coastguard Worker xmlParserInputPtr entity XML_DEPRECATED_MEMBER; 331*7c568831SAndroid Build Coastguard Worker /* unused */ 332*7c568831SAndroid Build Coastguard Worker int charset XML_DEPRECATED_MEMBER; 333*7c568831SAndroid Build Coastguard Worker /* Those two fields are there to */ 334*7c568831SAndroid Build Coastguard Worker int nodelen XML_DEPRECATED_MEMBER; 335*7c568831SAndroid Build Coastguard Worker /* Speed up large node parsing */ 336*7c568831SAndroid Build Coastguard Worker int nodemem XML_DEPRECATED_MEMBER; 337*7c568831SAndroid Build Coastguard Worker /* signal pedantic warnings */ 338*7c568831SAndroid Build Coastguard Worker int pedantic XML_DEPRECATED_MEMBER; 339*7c568831SAndroid Build Coastguard Worker /* For user data, libxml won't touch it */ 340*7c568831SAndroid Build Coastguard Worker void *_private; 341*7c568831SAndroid Build Coastguard Worker 342*7c568831SAndroid Build Coastguard Worker /* should the external subset be loaded */ 343*7c568831SAndroid Build Coastguard Worker int loadsubset XML_DEPRECATED_MEMBER; 344*7c568831SAndroid Build Coastguard Worker /* set line number in element content */ 345*7c568831SAndroid Build Coastguard Worker int linenumbers XML_DEPRECATED_MEMBER; 346*7c568831SAndroid Build Coastguard Worker /* document's own catalog */ 347*7c568831SAndroid Build Coastguard Worker void *catalogs XML_DEPRECATED_MEMBER; 348*7c568831SAndroid Build Coastguard Worker /* run in recovery mode */ 349*7c568831SAndroid Build Coastguard Worker int recovery XML_DEPRECATED_MEMBER; 350*7c568831SAndroid Build Coastguard Worker /* unused */ 351*7c568831SAndroid Build Coastguard Worker int progressive XML_DEPRECATED_MEMBER; 352*7c568831SAndroid Build Coastguard Worker /* dictionary for the parser */ 353*7c568831SAndroid Build Coastguard Worker xmlDictPtr dict; 354*7c568831SAndroid Build Coastguard Worker /* array for the attributes callbacks */ 355*7c568831SAndroid Build Coastguard Worker const xmlChar **atts XML_DEPRECATED_MEMBER; 356*7c568831SAndroid Build Coastguard Worker /* the size of the array */ 357*7c568831SAndroid Build Coastguard Worker int maxatts XML_DEPRECATED_MEMBER; 358*7c568831SAndroid Build Coastguard Worker /* unused */ 359*7c568831SAndroid Build Coastguard Worker int docdict XML_DEPRECATED_MEMBER; 360*7c568831SAndroid Build Coastguard Worker 361*7c568831SAndroid Build Coastguard Worker /* 362*7c568831SAndroid Build Coastguard Worker * pre-interned strings 363*7c568831SAndroid Build Coastguard Worker */ 364*7c568831SAndroid Build Coastguard Worker const xmlChar *str_xml XML_DEPRECATED_MEMBER; 365*7c568831SAndroid Build Coastguard Worker const xmlChar *str_xmlns XML_DEPRECATED_MEMBER; 366*7c568831SAndroid Build Coastguard Worker const xmlChar *str_xml_ns XML_DEPRECATED_MEMBER; 367*7c568831SAndroid Build Coastguard Worker 368*7c568831SAndroid Build Coastguard Worker /* 369*7c568831SAndroid Build Coastguard Worker * Everything below is used only by the new SAX mode 370*7c568831SAndroid Build Coastguard Worker */ 371*7c568831SAndroid Build Coastguard Worker 372*7c568831SAndroid Build Coastguard Worker /* operating in the new SAX mode */ 373*7c568831SAndroid Build Coastguard Worker int sax2 XML_DEPRECATED_MEMBER; 374*7c568831SAndroid Build Coastguard Worker /* the number of inherited namespaces */ 375*7c568831SAndroid Build Coastguard Worker int nsNr XML_DEPRECATED_MEMBER; 376*7c568831SAndroid Build Coastguard Worker /* the size of the arrays */ 377*7c568831SAndroid Build Coastguard Worker int nsMax XML_DEPRECATED_MEMBER; 378*7c568831SAndroid Build Coastguard Worker /* the array of prefix/namespace name */ 379*7c568831SAndroid Build Coastguard Worker const xmlChar **nsTab XML_DEPRECATED_MEMBER; 380*7c568831SAndroid Build Coastguard Worker /* which attribute were allocated */ 381*7c568831SAndroid Build Coastguard Worker unsigned *attallocs XML_DEPRECATED_MEMBER; 382*7c568831SAndroid Build Coastguard Worker /* array of data for push */ 383*7c568831SAndroid Build Coastguard Worker xmlStartTag *pushTab XML_DEPRECATED_MEMBER; 384*7c568831SAndroid Build Coastguard Worker /* defaulted attributes if any */ 385*7c568831SAndroid Build Coastguard Worker xmlHashTablePtr attsDefault XML_DEPRECATED_MEMBER; 386*7c568831SAndroid Build Coastguard Worker /* non-CDATA attributes if any */ 387*7c568831SAndroid Build Coastguard Worker xmlHashTablePtr attsSpecial XML_DEPRECATED_MEMBER; 388*7c568831SAndroid Build Coastguard Worker /* is the document XML Namespace okay */ 389*7c568831SAndroid Build Coastguard Worker int nsWellFormed; 390*7c568831SAndroid Build Coastguard Worker /* Extra options */ 391*7c568831SAndroid Build Coastguard Worker int options; 392*7c568831SAndroid Build Coastguard Worker 393*7c568831SAndroid Build Coastguard Worker /* 394*7c568831SAndroid Build Coastguard Worker * Those fields are needed only for streaming parsing so far 395*7c568831SAndroid Build Coastguard Worker */ 396*7c568831SAndroid Build Coastguard Worker 397*7c568831SAndroid Build Coastguard Worker /* Use dictionary names for the tree */ 398*7c568831SAndroid Build Coastguard Worker int dictNames XML_DEPRECATED_MEMBER; 399*7c568831SAndroid Build Coastguard Worker /* number of freed element nodes */ 400*7c568831SAndroid Build Coastguard Worker int freeElemsNr XML_DEPRECATED_MEMBER; 401*7c568831SAndroid Build Coastguard Worker /* List of freed element nodes */ 402*7c568831SAndroid Build Coastguard Worker xmlNodePtr freeElems XML_DEPRECATED_MEMBER; 403*7c568831SAndroid Build Coastguard Worker /* number of freed attributes nodes */ 404*7c568831SAndroid Build Coastguard Worker int freeAttrsNr XML_DEPRECATED_MEMBER; 405*7c568831SAndroid Build Coastguard Worker /* List of freed attributes nodes */ 406*7c568831SAndroid Build Coastguard Worker xmlAttrPtr freeAttrs XML_DEPRECATED_MEMBER; 407*7c568831SAndroid Build Coastguard Worker 408*7c568831SAndroid Build Coastguard Worker /* 409*7c568831SAndroid Build Coastguard Worker * the complete error information for the last error. 410*7c568831SAndroid Build Coastguard Worker */ 411*7c568831SAndroid Build Coastguard Worker xmlError lastError XML_DEPRECATED_MEMBER; 412*7c568831SAndroid Build Coastguard Worker /* the parser mode */ 413*7c568831SAndroid Build Coastguard Worker xmlParserMode parseMode XML_DEPRECATED_MEMBER; 414*7c568831SAndroid Build Coastguard Worker /* unused */ 415*7c568831SAndroid Build Coastguard Worker unsigned long nbentities XML_DEPRECATED_MEMBER; 416*7c568831SAndroid Build Coastguard Worker /* size of external entities */ 417*7c568831SAndroid Build Coastguard Worker unsigned long sizeentities XML_DEPRECATED_MEMBER; 418*7c568831SAndroid Build Coastguard Worker 419*7c568831SAndroid Build Coastguard Worker /* for use by HTML non-recursive parser */ 420*7c568831SAndroid Build Coastguard Worker /* Current NodeInfo */ 421*7c568831SAndroid Build Coastguard Worker xmlParserNodeInfo *nodeInfo XML_DEPRECATED_MEMBER; 422*7c568831SAndroid Build Coastguard Worker /* Depth of the parsing stack */ 423*7c568831SAndroid Build Coastguard Worker int nodeInfoNr XML_DEPRECATED_MEMBER; 424*7c568831SAndroid Build Coastguard Worker /* Max depth of the parsing stack */ 425*7c568831SAndroid Build Coastguard Worker int nodeInfoMax XML_DEPRECATED_MEMBER; 426*7c568831SAndroid Build Coastguard Worker /* array of nodeInfos */ 427*7c568831SAndroid Build Coastguard Worker xmlParserNodeInfo *nodeInfoTab XML_DEPRECATED_MEMBER; 428*7c568831SAndroid Build Coastguard Worker 429*7c568831SAndroid Build Coastguard Worker /* we need to label inputs */ 430*7c568831SAndroid Build Coastguard Worker int input_id XML_DEPRECATED_MEMBER; 431*7c568831SAndroid Build Coastguard Worker /* volume of entity copy */ 432*7c568831SAndroid Build Coastguard Worker unsigned long sizeentcopy XML_DEPRECATED_MEMBER; 433*7c568831SAndroid Build Coastguard Worker 434*7c568831SAndroid Build Coastguard Worker /* quote state for push parser */ 435*7c568831SAndroid Build Coastguard Worker int endCheckState XML_DEPRECATED_MEMBER; 436*7c568831SAndroid Build Coastguard Worker /* number of errors */ 437*7c568831SAndroid Build Coastguard Worker unsigned short nbErrors XML_DEPRECATED_MEMBER; 438*7c568831SAndroid Build Coastguard Worker /* number of warnings */ 439*7c568831SAndroid Build Coastguard Worker unsigned short nbWarnings XML_DEPRECATED_MEMBER; 440*7c568831SAndroid Build Coastguard Worker /* maximum amplification factor */ 441*7c568831SAndroid Build Coastguard Worker unsigned maxAmpl XML_DEPRECATED_MEMBER; 442*7c568831SAndroid Build Coastguard Worker 443*7c568831SAndroid Build Coastguard Worker /* namespace database */ 444*7c568831SAndroid Build Coastguard Worker xmlParserNsData *nsdb XML_DEPRECATED_MEMBER; 445*7c568831SAndroid Build Coastguard Worker /* allocated size */ 446*7c568831SAndroid Build Coastguard Worker unsigned attrHashMax XML_DEPRECATED_MEMBER; 447*7c568831SAndroid Build Coastguard Worker /* atttribute hash table */ 448*7c568831SAndroid Build Coastguard Worker xmlAttrHashBucket *attrHash XML_DEPRECATED_MEMBER; 449*7c568831SAndroid Build Coastguard Worker 450*7c568831SAndroid Build Coastguard Worker xmlStructuredErrorFunc errorHandler XML_DEPRECATED_MEMBER; 451*7c568831SAndroid Build Coastguard Worker void *errorCtxt XML_DEPRECATED_MEMBER; 452*7c568831SAndroid Build Coastguard Worker 453*7c568831SAndroid Build Coastguard Worker xmlResourceLoader resourceLoader XML_DEPRECATED_MEMBER; 454*7c568831SAndroid Build Coastguard Worker void *resourceCtxt XML_DEPRECATED_MEMBER; 455*7c568831SAndroid Build Coastguard Worker 456*7c568831SAndroid Build Coastguard Worker xmlCharEncConvImpl convImpl XML_DEPRECATED_MEMBER; 457*7c568831SAndroid Build Coastguard Worker void *convCtxt XML_DEPRECATED_MEMBER; 458*7c568831SAndroid Build Coastguard Worker }; 459*7c568831SAndroid Build Coastguard Worker 460*7c568831SAndroid Build Coastguard Worker /** 461*7c568831SAndroid Build Coastguard Worker * xmlSAXLocator: 462*7c568831SAndroid Build Coastguard Worker * 463*7c568831SAndroid Build Coastguard Worker * A SAX Locator. 464*7c568831SAndroid Build Coastguard Worker */ 465*7c568831SAndroid Build Coastguard Worker struct _xmlSAXLocator { 466*7c568831SAndroid Build Coastguard Worker const xmlChar *(*getPublicId)(void *ctx); 467*7c568831SAndroid Build Coastguard Worker const xmlChar *(*getSystemId)(void *ctx); 468*7c568831SAndroid Build Coastguard Worker int (*getLineNumber)(void *ctx); 469*7c568831SAndroid Build Coastguard Worker int (*getColumnNumber)(void *ctx); 470*7c568831SAndroid Build Coastguard Worker }; 471*7c568831SAndroid Build Coastguard Worker 472*7c568831SAndroid Build Coastguard Worker /** 473*7c568831SAndroid Build Coastguard Worker * xmlSAXHandler: 474*7c568831SAndroid Build Coastguard Worker * 475*7c568831SAndroid Build Coastguard Worker * A SAX handler is bunch of callbacks called by the parser when processing 476*7c568831SAndroid Build Coastguard Worker * of the input generate data or structure information. 477*7c568831SAndroid Build Coastguard Worker */ 478*7c568831SAndroid Build Coastguard Worker 479*7c568831SAndroid Build Coastguard Worker /** 480*7c568831SAndroid Build Coastguard Worker * resolveEntitySAXFunc: 481*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 482*7c568831SAndroid Build Coastguard Worker * @publicId: The public ID of the entity 483*7c568831SAndroid Build Coastguard Worker * @systemId: The system ID of the entity 484*7c568831SAndroid Build Coastguard Worker * 485*7c568831SAndroid Build Coastguard Worker * Callback: 486*7c568831SAndroid Build Coastguard Worker * The entity loader, to control the loading of external entities, 487*7c568831SAndroid Build Coastguard Worker * the application can either: 488*7c568831SAndroid Build Coastguard Worker * - override this resolveEntity() callback in the SAX block 489*7c568831SAndroid Build Coastguard Worker * - or better use the xmlSetExternalEntityLoader() function to 490*7c568831SAndroid Build Coastguard Worker * set up it's own entity resolution routine 491*7c568831SAndroid Build Coastguard Worker * 492*7c568831SAndroid Build Coastguard Worker * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour. 493*7c568831SAndroid Build Coastguard Worker */ 494*7c568831SAndroid Build Coastguard Worker typedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx, 495*7c568831SAndroid Build Coastguard Worker const xmlChar *publicId, 496*7c568831SAndroid Build Coastguard Worker const xmlChar *systemId); 497*7c568831SAndroid Build Coastguard Worker /** 498*7c568831SAndroid Build Coastguard Worker * internalSubsetSAXFunc: 499*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 500*7c568831SAndroid Build Coastguard Worker * @name: the root element name 501*7c568831SAndroid Build Coastguard Worker * @ExternalID: the external ID 502*7c568831SAndroid Build Coastguard Worker * @SystemID: the SYSTEM ID (e.g. filename or URL) 503*7c568831SAndroid Build Coastguard Worker * 504*7c568831SAndroid Build Coastguard Worker * Callback on internal subset declaration. 505*7c568831SAndroid Build Coastguard Worker */ 506*7c568831SAndroid Build Coastguard Worker typedef void (*internalSubsetSAXFunc) (void *ctx, 507*7c568831SAndroid Build Coastguard Worker const xmlChar *name, 508*7c568831SAndroid Build Coastguard Worker const xmlChar *ExternalID, 509*7c568831SAndroid Build Coastguard Worker const xmlChar *SystemID); 510*7c568831SAndroid Build Coastguard Worker /** 511*7c568831SAndroid Build Coastguard Worker * externalSubsetSAXFunc: 512*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 513*7c568831SAndroid Build Coastguard Worker * @name: the root element name 514*7c568831SAndroid Build Coastguard Worker * @ExternalID: the external ID 515*7c568831SAndroid Build Coastguard Worker * @SystemID: the SYSTEM ID (e.g. filename or URL) 516*7c568831SAndroid Build Coastguard Worker * 517*7c568831SAndroid Build Coastguard Worker * Callback on external subset declaration. 518*7c568831SAndroid Build Coastguard Worker */ 519*7c568831SAndroid Build Coastguard Worker typedef void (*externalSubsetSAXFunc) (void *ctx, 520*7c568831SAndroid Build Coastguard Worker const xmlChar *name, 521*7c568831SAndroid Build Coastguard Worker const xmlChar *ExternalID, 522*7c568831SAndroid Build Coastguard Worker const xmlChar *SystemID); 523*7c568831SAndroid Build Coastguard Worker /** 524*7c568831SAndroid Build Coastguard Worker * getEntitySAXFunc: 525*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 526*7c568831SAndroid Build Coastguard Worker * @name: The entity name 527*7c568831SAndroid Build Coastguard Worker * 528*7c568831SAndroid Build Coastguard Worker * Get an entity by name. 529*7c568831SAndroid Build Coastguard Worker * 530*7c568831SAndroid Build Coastguard Worker * Returns the xmlEntityPtr if found. 531*7c568831SAndroid Build Coastguard Worker */ 532*7c568831SAndroid Build Coastguard Worker typedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx, 533*7c568831SAndroid Build Coastguard Worker const xmlChar *name); 534*7c568831SAndroid Build Coastguard Worker /** 535*7c568831SAndroid Build Coastguard Worker * getParameterEntitySAXFunc: 536*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 537*7c568831SAndroid Build Coastguard Worker * @name: The entity name 538*7c568831SAndroid Build Coastguard Worker * 539*7c568831SAndroid Build Coastguard Worker * Get a parameter entity by name. 540*7c568831SAndroid Build Coastguard Worker * 541*7c568831SAndroid Build Coastguard Worker * Returns the xmlEntityPtr if found. 542*7c568831SAndroid Build Coastguard Worker */ 543*7c568831SAndroid Build Coastguard Worker typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx, 544*7c568831SAndroid Build Coastguard Worker const xmlChar *name); 545*7c568831SAndroid Build Coastguard Worker /** 546*7c568831SAndroid Build Coastguard Worker * entityDeclSAXFunc: 547*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 548*7c568831SAndroid Build Coastguard Worker * @name: the entity name 549*7c568831SAndroid Build Coastguard Worker * @type: the entity type 550*7c568831SAndroid Build Coastguard Worker * @publicId: The public ID of the entity 551*7c568831SAndroid Build Coastguard Worker * @systemId: The system ID of the entity 552*7c568831SAndroid Build Coastguard Worker * @content: the entity value (without processing). 553*7c568831SAndroid Build Coastguard Worker * 554*7c568831SAndroid Build Coastguard Worker * An entity definition has been parsed. 555*7c568831SAndroid Build Coastguard Worker */ 556*7c568831SAndroid Build Coastguard Worker typedef void (*entityDeclSAXFunc) (void *ctx, 557*7c568831SAndroid Build Coastguard Worker const xmlChar *name, 558*7c568831SAndroid Build Coastguard Worker int type, 559*7c568831SAndroid Build Coastguard Worker const xmlChar *publicId, 560*7c568831SAndroid Build Coastguard Worker const xmlChar *systemId, 561*7c568831SAndroid Build Coastguard Worker xmlChar *content); 562*7c568831SAndroid Build Coastguard Worker /** 563*7c568831SAndroid Build Coastguard Worker * notationDeclSAXFunc: 564*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 565*7c568831SAndroid Build Coastguard Worker * @name: The name of the notation 566*7c568831SAndroid Build Coastguard Worker * @publicId: The public ID of the entity 567*7c568831SAndroid Build Coastguard Worker * @systemId: The system ID of the entity 568*7c568831SAndroid Build Coastguard Worker * 569*7c568831SAndroid Build Coastguard Worker * What to do when a notation declaration has been parsed. 570*7c568831SAndroid Build Coastguard Worker */ 571*7c568831SAndroid Build Coastguard Worker typedef void (*notationDeclSAXFunc)(void *ctx, 572*7c568831SAndroid Build Coastguard Worker const xmlChar *name, 573*7c568831SAndroid Build Coastguard Worker const xmlChar *publicId, 574*7c568831SAndroid Build Coastguard Worker const xmlChar *systemId); 575*7c568831SAndroid Build Coastguard Worker /** 576*7c568831SAndroid Build Coastguard Worker * attributeDeclSAXFunc: 577*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 578*7c568831SAndroid Build Coastguard Worker * @elem: the name of the element 579*7c568831SAndroid Build Coastguard Worker * @fullname: the attribute name 580*7c568831SAndroid Build Coastguard Worker * @type: the attribute type 581*7c568831SAndroid Build Coastguard Worker * @def: the type of default value 582*7c568831SAndroid Build Coastguard Worker * @defaultValue: the attribute default value 583*7c568831SAndroid Build Coastguard Worker * @tree: the tree of enumerated value set 584*7c568831SAndroid Build Coastguard Worker * 585*7c568831SAndroid Build Coastguard Worker * An attribute definition has been parsed. 586*7c568831SAndroid Build Coastguard Worker */ 587*7c568831SAndroid Build Coastguard Worker typedef void (*attributeDeclSAXFunc)(void *ctx, 588*7c568831SAndroid Build Coastguard Worker const xmlChar *elem, 589*7c568831SAndroid Build Coastguard Worker const xmlChar *fullname, 590*7c568831SAndroid Build Coastguard Worker int type, 591*7c568831SAndroid Build Coastguard Worker int def, 592*7c568831SAndroid Build Coastguard Worker const xmlChar *defaultValue, 593*7c568831SAndroid Build Coastguard Worker xmlEnumerationPtr tree); 594*7c568831SAndroid Build Coastguard Worker /** 595*7c568831SAndroid Build Coastguard Worker * elementDeclSAXFunc: 596*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 597*7c568831SAndroid Build Coastguard Worker * @name: the element name 598*7c568831SAndroid Build Coastguard Worker * @type: the element type 599*7c568831SAndroid Build Coastguard Worker * @content: the element value tree 600*7c568831SAndroid Build Coastguard Worker * 601*7c568831SAndroid Build Coastguard Worker * An element definition has been parsed. 602*7c568831SAndroid Build Coastguard Worker */ 603*7c568831SAndroid Build Coastguard Worker typedef void (*elementDeclSAXFunc)(void *ctx, 604*7c568831SAndroid Build Coastguard Worker const xmlChar *name, 605*7c568831SAndroid Build Coastguard Worker int type, 606*7c568831SAndroid Build Coastguard Worker xmlElementContentPtr content); 607*7c568831SAndroid Build Coastguard Worker /** 608*7c568831SAndroid Build Coastguard Worker * unparsedEntityDeclSAXFunc: 609*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 610*7c568831SAndroid Build Coastguard Worker * @name: The name of the entity 611*7c568831SAndroid Build Coastguard Worker * @publicId: The public ID of the entity 612*7c568831SAndroid Build Coastguard Worker * @systemId: The system ID of the entity 613*7c568831SAndroid Build Coastguard Worker * @notationName: the name of the notation 614*7c568831SAndroid Build Coastguard Worker * 615*7c568831SAndroid Build Coastguard Worker * What to do when an unparsed entity declaration is parsed. 616*7c568831SAndroid Build Coastguard Worker */ 617*7c568831SAndroid Build Coastguard Worker typedef void (*unparsedEntityDeclSAXFunc)(void *ctx, 618*7c568831SAndroid Build Coastguard Worker const xmlChar *name, 619*7c568831SAndroid Build Coastguard Worker const xmlChar *publicId, 620*7c568831SAndroid Build Coastguard Worker const xmlChar *systemId, 621*7c568831SAndroid Build Coastguard Worker const xmlChar *notationName); 622*7c568831SAndroid Build Coastguard Worker /** 623*7c568831SAndroid Build Coastguard Worker * setDocumentLocatorSAXFunc: 624*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 625*7c568831SAndroid Build Coastguard Worker * @loc: A SAX Locator 626*7c568831SAndroid Build Coastguard Worker * 627*7c568831SAndroid Build Coastguard Worker * Receive the document locator at startup, actually xmlDefaultSAXLocator. 628*7c568831SAndroid Build Coastguard Worker * Everything is available on the context, so this is useless in our case. 629*7c568831SAndroid Build Coastguard Worker */ 630*7c568831SAndroid Build Coastguard Worker typedef void (*setDocumentLocatorSAXFunc) (void *ctx, 631*7c568831SAndroid Build Coastguard Worker xmlSAXLocatorPtr loc); 632*7c568831SAndroid Build Coastguard Worker /** 633*7c568831SAndroid Build Coastguard Worker * startDocumentSAXFunc: 634*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 635*7c568831SAndroid Build Coastguard Worker * 636*7c568831SAndroid Build Coastguard Worker * Called when the document start being processed. 637*7c568831SAndroid Build Coastguard Worker */ 638*7c568831SAndroid Build Coastguard Worker typedef void (*startDocumentSAXFunc) (void *ctx); 639*7c568831SAndroid Build Coastguard Worker /** 640*7c568831SAndroid Build Coastguard Worker * endDocumentSAXFunc: 641*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 642*7c568831SAndroid Build Coastguard Worker * 643*7c568831SAndroid Build Coastguard Worker * Called when the document end has been detected. 644*7c568831SAndroid Build Coastguard Worker */ 645*7c568831SAndroid Build Coastguard Worker typedef void (*endDocumentSAXFunc) (void *ctx); 646*7c568831SAndroid Build Coastguard Worker /** 647*7c568831SAndroid Build Coastguard Worker * startElementSAXFunc: 648*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 649*7c568831SAndroid Build Coastguard Worker * @name: The element name, including namespace prefix 650*7c568831SAndroid Build Coastguard Worker * @atts: An array of name/value attributes pairs, NULL terminated 651*7c568831SAndroid Build Coastguard Worker * 652*7c568831SAndroid Build Coastguard Worker * Called when an opening tag has been processed. 653*7c568831SAndroid Build Coastguard Worker */ 654*7c568831SAndroid Build Coastguard Worker typedef void (*startElementSAXFunc) (void *ctx, 655*7c568831SAndroid Build Coastguard Worker const xmlChar *name, 656*7c568831SAndroid Build Coastguard Worker const xmlChar **atts); 657*7c568831SAndroid Build Coastguard Worker /** 658*7c568831SAndroid Build Coastguard Worker * endElementSAXFunc: 659*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 660*7c568831SAndroid Build Coastguard Worker * @name: The element name 661*7c568831SAndroid Build Coastguard Worker * 662*7c568831SAndroid Build Coastguard Worker * Called when the end of an element has been detected. 663*7c568831SAndroid Build Coastguard Worker */ 664*7c568831SAndroid Build Coastguard Worker typedef void (*endElementSAXFunc) (void *ctx, 665*7c568831SAndroid Build Coastguard Worker const xmlChar *name); 666*7c568831SAndroid Build Coastguard Worker /** 667*7c568831SAndroid Build Coastguard Worker * attributeSAXFunc: 668*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 669*7c568831SAndroid Build Coastguard Worker * @name: The attribute name, including namespace prefix 670*7c568831SAndroid Build Coastguard Worker * @value: The attribute value 671*7c568831SAndroid Build Coastguard Worker * 672*7c568831SAndroid Build Coastguard Worker * Handle an attribute that has been read by the parser. 673*7c568831SAndroid Build Coastguard Worker * The default handling is to convert the attribute into an 674*7c568831SAndroid Build Coastguard Worker * DOM subtree and past it in a new xmlAttr element added to 675*7c568831SAndroid Build Coastguard Worker * the element. 676*7c568831SAndroid Build Coastguard Worker */ 677*7c568831SAndroid Build Coastguard Worker typedef void (*attributeSAXFunc) (void *ctx, 678*7c568831SAndroid Build Coastguard Worker const xmlChar *name, 679*7c568831SAndroid Build Coastguard Worker const xmlChar *value); 680*7c568831SAndroid Build Coastguard Worker /** 681*7c568831SAndroid Build Coastguard Worker * referenceSAXFunc: 682*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 683*7c568831SAndroid Build Coastguard Worker * @name: The entity name 684*7c568831SAndroid Build Coastguard Worker * 685*7c568831SAndroid Build Coastguard Worker * Called when an entity reference is detected. 686*7c568831SAndroid Build Coastguard Worker */ 687*7c568831SAndroid Build Coastguard Worker typedef void (*referenceSAXFunc) (void *ctx, 688*7c568831SAndroid Build Coastguard Worker const xmlChar *name); 689*7c568831SAndroid Build Coastguard Worker /** 690*7c568831SAndroid Build Coastguard Worker * charactersSAXFunc: 691*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 692*7c568831SAndroid Build Coastguard Worker * @ch: a xmlChar string 693*7c568831SAndroid Build Coastguard Worker * @len: the number of xmlChar 694*7c568831SAndroid Build Coastguard Worker * 695*7c568831SAndroid Build Coastguard Worker * Receiving some chars from the parser. 696*7c568831SAndroid Build Coastguard Worker */ 697*7c568831SAndroid Build Coastguard Worker typedef void (*charactersSAXFunc) (void *ctx, 698*7c568831SAndroid Build Coastguard Worker const xmlChar *ch, 699*7c568831SAndroid Build Coastguard Worker int len); 700*7c568831SAndroid Build Coastguard Worker /** 701*7c568831SAndroid Build Coastguard Worker * ignorableWhitespaceSAXFunc: 702*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 703*7c568831SAndroid Build Coastguard Worker * @ch: a xmlChar string 704*7c568831SAndroid Build Coastguard Worker * @len: the number of xmlChar 705*7c568831SAndroid Build Coastguard Worker * 706*7c568831SAndroid Build Coastguard Worker * Receiving some ignorable whitespaces from the parser. 707*7c568831SAndroid Build Coastguard Worker * UNUSED: by default the DOM building will use characters. 708*7c568831SAndroid Build Coastguard Worker */ 709*7c568831SAndroid Build Coastguard Worker typedef void (*ignorableWhitespaceSAXFunc) (void *ctx, 710*7c568831SAndroid Build Coastguard Worker const xmlChar *ch, 711*7c568831SAndroid Build Coastguard Worker int len); 712*7c568831SAndroid Build Coastguard Worker /** 713*7c568831SAndroid Build Coastguard Worker * processingInstructionSAXFunc: 714*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 715*7c568831SAndroid Build Coastguard Worker * @target: the target name 716*7c568831SAndroid Build Coastguard Worker * @data: the PI data's 717*7c568831SAndroid Build Coastguard Worker * 718*7c568831SAndroid Build Coastguard Worker * A processing instruction has been parsed. 719*7c568831SAndroid Build Coastguard Worker */ 720*7c568831SAndroid Build Coastguard Worker typedef void (*processingInstructionSAXFunc) (void *ctx, 721*7c568831SAndroid Build Coastguard Worker const xmlChar *target, 722*7c568831SAndroid Build Coastguard Worker const xmlChar *data); 723*7c568831SAndroid Build Coastguard Worker /** 724*7c568831SAndroid Build Coastguard Worker * commentSAXFunc: 725*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 726*7c568831SAndroid Build Coastguard Worker * @value: the comment content 727*7c568831SAndroid Build Coastguard Worker * 728*7c568831SAndroid Build Coastguard Worker * A comment has been parsed. 729*7c568831SAndroid Build Coastguard Worker */ 730*7c568831SAndroid Build Coastguard Worker typedef void (*commentSAXFunc) (void *ctx, 731*7c568831SAndroid Build Coastguard Worker const xmlChar *value); 732*7c568831SAndroid Build Coastguard Worker /** 733*7c568831SAndroid Build Coastguard Worker * cdataBlockSAXFunc: 734*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 735*7c568831SAndroid Build Coastguard Worker * @value: The pcdata content 736*7c568831SAndroid Build Coastguard Worker * @len: the block length 737*7c568831SAndroid Build Coastguard Worker * 738*7c568831SAndroid Build Coastguard Worker * Called when a pcdata block has been parsed. 739*7c568831SAndroid Build Coastguard Worker */ 740*7c568831SAndroid Build Coastguard Worker typedef void (*cdataBlockSAXFunc) ( 741*7c568831SAndroid Build Coastguard Worker void *ctx, 742*7c568831SAndroid Build Coastguard Worker const xmlChar *value, 743*7c568831SAndroid Build Coastguard Worker int len); 744*7c568831SAndroid Build Coastguard Worker /** 745*7c568831SAndroid Build Coastguard Worker * warningSAXFunc: 746*7c568831SAndroid Build Coastguard Worker * @ctx: an XML parser context 747*7c568831SAndroid Build Coastguard Worker * @msg: the message to display/transmit 748*7c568831SAndroid Build Coastguard Worker * @...: extra parameters for the message display 749*7c568831SAndroid Build Coastguard Worker * 750*7c568831SAndroid Build Coastguard Worker * Display and format a warning messages, callback. 751*7c568831SAndroid Build Coastguard Worker */ 752*7c568831SAndroid Build Coastguard Worker typedef void (*warningSAXFunc) (void *ctx, 753*7c568831SAndroid Build Coastguard Worker const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); 754*7c568831SAndroid Build Coastguard Worker /** 755*7c568831SAndroid Build Coastguard Worker * errorSAXFunc: 756*7c568831SAndroid Build Coastguard Worker * @ctx: an XML parser context 757*7c568831SAndroid Build Coastguard Worker * @msg: the message to display/transmit 758*7c568831SAndroid Build Coastguard Worker * @...: extra parameters for the message display 759*7c568831SAndroid Build Coastguard Worker * 760*7c568831SAndroid Build Coastguard Worker * Display and format an error messages, callback. 761*7c568831SAndroid Build Coastguard Worker */ 762*7c568831SAndroid Build Coastguard Worker typedef void (*errorSAXFunc) (void *ctx, 763*7c568831SAndroid Build Coastguard Worker const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); 764*7c568831SAndroid Build Coastguard Worker /** 765*7c568831SAndroid Build Coastguard Worker * fatalErrorSAXFunc: 766*7c568831SAndroid Build Coastguard Worker * @ctx: an XML parser context 767*7c568831SAndroid Build Coastguard Worker * @msg: the message to display/transmit 768*7c568831SAndroid Build Coastguard Worker * @...: extra parameters for the message display 769*7c568831SAndroid Build Coastguard Worker * 770*7c568831SAndroid Build Coastguard Worker * Display and format fatal error messages, callback. 771*7c568831SAndroid Build Coastguard Worker * Note: so far fatalError() SAX callbacks are not used, error() 772*7c568831SAndroid Build Coastguard Worker * get all the callbacks for errors. 773*7c568831SAndroid Build Coastguard Worker */ 774*7c568831SAndroid Build Coastguard Worker typedef void (*fatalErrorSAXFunc) (void *ctx, 775*7c568831SAndroid Build Coastguard Worker const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); 776*7c568831SAndroid Build Coastguard Worker /** 777*7c568831SAndroid Build Coastguard Worker * isStandaloneSAXFunc: 778*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 779*7c568831SAndroid Build Coastguard Worker * 780*7c568831SAndroid Build Coastguard Worker * Is this document tagged standalone? 781*7c568831SAndroid Build Coastguard Worker * 782*7c568831SAndroid Build Coastguard Worker * Returns 1 if true 783*7c568831SAndroid Build Coastguard Worker */ 784*7c568831SAndroid Build Coastguard Worker typedef int (*isStandaloneSAXFunc) (void *ctx); 785*7c568831SAndroid Build Coastguard Worker /** 786*7c568831SAndroid Build Coastguard Worker * hasInternalSubsetSAXFunc: 787*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 788*7c568831SAndroid Build Coastguard Worker * 789*7c568831SAndroid Build Coastguard Worker * Does this document has an internal subset. 790*7c568831SAndroid Build Coastguard Worker * 791*7c568831SAndroid Build Coastguard Worker * Returns 1 if true 792*7c568831SAndroid Build Coastguard Worker */ 793*7c568831SAndroid Build Coastguard Worker typedef int (*hasInternalSubsetSAXFunc) (void *ctx); 794*7c568831SAndroid Build Coastguard Worker 795*7c568831SAndroid Build Coastguard Worker /** 796*7c568831SAndroid Build Coastguard Worker * hasExternalSubsetSAXFunc: 797*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 798*7c568831SAndroid Build Coastguard Worker * 799*7c568831SAndroid Build Coastguard Worker * Does this document has an external subset? 800*7c568831SAndroid Build Coastguard Worker * 801*7c568831SAndroid Build Coastguard Worker * Returns 1 if true 802*7c568831SAndroid Build Coastguard Worker */ 803*7c568831SAndroid Build Coastguard Worker typedef int (*hasExternalSubsetSAXFunc) (void *ctx); 804*7c568831SAndroid Build Coastguard Worker 805*7c568831SAndroid Build Coastguard Worker /************************************************************************ 806*7c568831SAndroid Build Coastguard Worker * * 807*7c568831SAndroid Build Coastguard Worker * The SAX version 2 API extensions * 808*7c568831SAndroid Build Coastguard Worker * * 809*7c568831SAndroid Build Coastguard Worker ************************************************************************/ 810*7c568831SAndroid Build Coastguard Worker /** 811*7c568831SAndroid Build Coastguard Worker * XML_SAX2_MAGIC: 812*7c568831SAndroid Build Coastguard Worker * 813*7c568831SAndroid Build Coastguard Worker * Special constant found in SAX2 blocks initialized fields 814*7c568831SAndroid Build Coastguard Worker */ 815*7c568831SAndroid Build Coastguard Worker #define XML_SAX2_MAGIC 0xDEEDBEAF 816*7c568831SAndroid Build Coastguard Worker 817*7c568831SAndroid Build Coastguard Worker /** 818*7c568831SAndroid Build Coastguard Worker * startElementNsSAX2Func: 819*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 820*7c568831SAndroid Build Coastguard Worker * @localname: the local name of the element 821*7c568831SAndroid Build Coastguard Worker * @prefix: the element namespace prefix if available 822*7c568831SAndroid Build Coastguard Worker * @URI: the element namespace name if available 823*7c568831SAndroid Build Coastguard Worker * @nb_namespaces: number of namespace definitions on that node 824*7c568831SAndroid Build Coastguard Worker * @namespaces: pointer to the array of prefix/URI pairs namespace definitions 825*7c568831SAndroid Build Coastguard Worker * @nb_attributes: the number of attributes on that node 826*7c568831SAndroid Build Coastguard Worker * @nb_defaulted: the number of defaulted attributes. The defaulted 827*7c568831SAndroid Build Coastguard Worker * ones are at the end of the array 828*7c568831SAndroid Build Coastguard Worker * @attributes: pointer to the array of (localname/prefix/URI/value/end) 829*7c568831SAndroid Build Coastguard Worker * attribute values. 830*7c568831SAndroid Build Coastguard Worker * 831*7c568831SAndroid Build Coastguard Worker * SAX2 callback when an element start has been detected by the parser. 832*7c568831SAndroid Build Coastguard Worker * It provides the namespace information for the element, as well as 833*7c568831SAndroid Build Coastguard Worker * the new namespace declarations on the element. 834*7c568831SAndroid Build Coastguard Worker */ 835*7c568831SAndroid Build Coastguard Worker 836*7c568831SAndroid Build Coastguard Worker typedef void (*startElementNsSAX2Func) (void *ctx, 837*7c568831SAndroid Build Coastguard Worker const xmlChar *localname, 838*7c568831SAndroid Build Coastguard Worker const xmlChar *prefix, 839*7c568831SAndroid Build Coastguard Worker const xmlChar *URI, 840*7c568831SAndroid Build Coastguard Worker int nb_namespaces, 841*7c568831SAndroid Build Coastguard Worker const xmlChar **namespaces, 842*7c568831SAndroid Build Coastguard Worker int nb_attributes, 843*7c568831SAndroid Build Coastguard Worker int nb_defaulted, 844*7c568831SAndroid Build Coastguard Worker const xmlChar **attributes); 845*7c568831SAndroid Build Coastguard Worker 846*7c568831SAndroid Build Coastguard Worker /** 847*7c568831SAndroid Build Coastguard Worker * endElementNsSAX2Func: 848*7c568831SAndroid Build Coastguard Worker * @ctx: the user data (XML parser context) 849*7c568831SAndroid Build Coastguard Worker * @localname: the local name of the element 850*7c568831SAndroid Build Coastguard Worker * @prefix: the element namespace prefix if available 851*7c568831SAndroid Build Coastguard Worker * @URI: the element namespace name if available 852*7c568831SAndroid Build Coastguard Worker * 853*7c568831SAndroid Build Coastguard Worker * SAX2 callback when an element end has been detected by the parser. 854*7c568831SAndroid Build Coastguard Worker * It provides the namespace information for the element. 855*7c568831SAndroid Build Coastguard Worker */ 856*7c568831SAndroid Build Coastguard Worker 857*7c568831SAndroid Build Coastguard Worker typedef void (*endElementNsSAX2Func) (void *ctx, 858*7c568831SAndroid Build Coastguard Worker const xmlChar *localname, 859*7c568831SAndroid Build Coastguard Worker const xmlChar *prefix, 860*7c568831SAndroid Build Coastguard Worker const xmlChar *URI); 861*7c568831SAndroid Build Coastguard Worker 862*7c568831SAndroid Build Coastguard Worker 863*7c568831SAndroid Build Coastguard Worker struct _xmlSAXHandler { 864*7c568831SAndroid Build Coastguard Worker internalSubsetSAXFunc internalSubset; 865*7c568831SAndroid Build Coastguard Worker isStandaloneSAXFunc isStandalone; 866*7c568831SAndroid Build Coastguard Worker hasInternalSubsetSAXFunc hasInternalSubset; 867*7c568831SAndroid Build Coastguard Worker hasExternalSubsetSAXFunc hasExternalSubset; 868*7c568831SAndroid Build Coastguard Worker resolveEntitySAXFunc resolveEntity; 869*7c568831SAndroid Build Coastguard Worker getEntitySAXFunc getEntity; 870*7c568831SAndroid Build Coastguard Worker entityDeclSAXFunc entityDecl; 871*7c568831SAndroid Build Coastguard Worker notationDeclSAXFunc notationDecl; 872*7c568831SAndroid Build Coastguard Worker attributeDeclSAXFunc attributeDecl; 873*7c568831SAndroid Build Coastguard Worker elementDeclSAXFunc elementDecl; 874*7c568831SAndroid Build Coastguard Worker unparsedEntityDeclSAXFunc unparsedEntityDecl; 875*7c568831SAndroid Build Coastguard Worker setDocumentLocatorSAXFunc setDocumentLocator; 876*7c568831SAndroid Build Coastguard Worker startDocumentSAXFunc startDocument; 877*7c568831SAndroid Build Coastguard Worker endDocumentSAXFunc endDocument; 878*7c568831SAndroid Build Coastguard Worker /* 879*7c568831SAndroid Build Coastguard Worker * `startElement` and `endElement` are only used by the legacy SAX1 880*7c568831SAndroid Build Coastguard Worker * interface and should not be used in new software. If you really 881*7c568831SAndroid Build Coastguard Worker * have to enable SAX1, the preferred way is set the `initialized` 882*7c568831SAndroid Build Coastguard Worker * member to 1 instead of XML_SAX2_MAGIC. 883*7c568831SAndroid Build Coastguard Worker * 884*7c568831SAndroid Build Coastguard Worker * For backward compatibility, it's also possible to set the 885*7c568831SAndroid Build Coastguard Worker * `startElementNs` and `endElementNs` handlers to NULL. 886*7c568831SAndroid Build Coastguard Worker * 887*7c568831SAndroid Build Coastguard Worker * You can also set the XML_PARSE_SAX1 parser option, but versions 888*7c568831SAndroid Build Coastguard Worker * older than 2.12.0 will probably crash if this option is provided 889*7c568831SAndroid Build Coastguard Worker * together with custom SAX callbacks. 890*7c568831SAndroid Build Coastguard Worker */ 891*7c568831SAndroid Build Coastguard Worker startElementSAXFunc startElement; 892*7c568831SAndroid Build Coastguard Worker endElementSAXFunc endElement; 893*7c568831SAndroid Build Coastguard Worker referenceSAXFunc reference; 894*7c568831SAndroid Build Coastguard Worker charactersSAXFunc characters; 895*7c568831SAndroid Build Coastguard Worker ignorableWhitespaceSAXFunc ignorableWhitespace; 896*7c568831SAndroid Build Coastguard Worker processingInstructionSAXFunc processingInstruction; 897*7c568831SAndroid Build Coastguard Worker commentSAXFunc comment; 898*7c568831SAndroid Build Coastguard Worker warningSAXFunc warning; 899*7c568831SAndroid Build Coastguard Worker errorSAXFunc error; 900*7c568831SAndroid Build Coastguard Worker fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ 901*7c568831SAndroid Build Coastguard Worker getParameterEntitySAXFunc getParameterEntity; 902*7c568831SAndroid Build Coastguard Worker cdataBlockSAXFunc cdataBlock; 903*7c568831SAndroid Build Coastguard Worker externalSubsetSAXFunc externalSubset; 904*7c568831SAndroid Build Coastguard Worker /* 905*7c568831SAndroid Build Coastguard Worker * `initialized` should always be set to XML_SAX2_MAGIC to enable the 906*7c568831SAndroid Build Coastguard Worker * modern SAX2 interface. 907*7c568831SAndroid Build Coastguard Worker */ 908*7c568831SAndroid Build Coastguard Worker unsigned int initialized; 909*7c568831SAndroid Build Coastguard Worker /* 910*7c568831SAndroid Build Coastguard Worker * The following members are only used by the SAX2 interface. 911*7c568831SAndroid Build Coastguard Worker */ 912*7c568831SAndroid Build Coastguard Worker void *_private; 913*7c568831SAndroid Build Coastguard Worker startElementNsSAX2Func startElementNs; 914*7c568831SAndroid Build Coastguard Worker endElementNsSAX2Func endElementNs; 915*7c568831SAndroid Build Coastguard Worker xmlStructuredErrorFunc serror; 916*7c568831SAndroid Build Coastguard Worker }; 917*7c568831SAndroid Build Coastguard Worker 918*7c568831SAndroid Build Coastguard Worker /* 919*7c568831SAndroid Build Coastguard Worker * SAX Version 1 920*7c568831SAndroid Build Coastguard Worker */ 921*7c568831SAndroid Build Coastguard Worker typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1; 922*7c568831SAndroid Build Coastguard Worker typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr; 923*7c568831SAndroid Build Coastguard Worker struct _xmlSAXHandlerV1 { 924*7c568831SAndroid Build Coastguard Worker internalSubsetSAXFunc internalSubset; 925*7c568831SAndroid Build Coastguard Worker isStandaloneSAXFunc isStandalone; 926*7c568831SAndroid Build Coastguard Worker hasInternalSubsetSAXFunc hasInternalSubset; 927*7c568831SAndroid Build Coastguard Worker hasExternalSubsetSAXFunc hasExternalSubset; 928*7c568831SAndroid Build Coastguard Worker resolveEntitySAXFunc resolveEntity; 929*7c568831SAndroid Build Coastguard Worker getEntitySAXFunc getEntity; 930*7c568831SAndroid Build Coastguard Worker entityDeclSAXFunc entityDecl; 931*7c568831SAndroid Build Coastguard Worker notationDeclSAXFunc notationDecl; 932*7c568831SAndroid Build Coastguard Worker attributeDeclSAXFunc attributeDecl; 933*7c568831SAndroid Build Coastguard Worker elementDeclSAXFunc elementDecl; 934*7c568831SAndroid Build Coastguard Worker unparsedEntityDeclSAXFunc unparsedEntityDecl; 935*7c568831SAndroid Build Coastguard Worker setDocumentLocatorSAXFunc setDocumentLocator; 936*7c568831SAndroid Build Coastguard Worker startDocumentSAXFunc startDocument; 937*7c568831SAndroid Build Coastguard Worker endDocumentSAXFunc endDocument; 938*7c568831SAndroid Build Coastguard Worker startElementSAXFunc startElement; 939*7c568831SAndroid Build Coastguard Worker endElementSAXFunc endElement; 940*7c568831SAndroid Build Coastguard Worker referenceSAXFunc reference; 941*7c568831SAndroid Build Coastguard Worker charactersSAXFunc characters; 942*7c568831SAndroid Build Coastguard Worker ignorableWhitespaceSAXFunc ignorableWhitespace; 943*7c568831SAndroid Build Coastguard Worker processingInstructionSAXFunc processingInstruction; 944*7c568831SAndroid Build Coastguard Worker commentSAXFunc comment; 945*7c568831SAndroid Build Coastguard Worker warningSAXFunc warning; 946*7c568831SAndroid Build Coastguard Worker errorSAXFunc error; 947*7c568831SAndroid Build Coastguard Worker fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ 948*7c568831SAndroid Build Coastguard Worker getParameterEntitySAXFunc getParameterEntity; 949*7c568831SAndroid Build Coastguard Worker cdataBlockSAXFunc cdataBlock; 950*7c568831SAndroid Build Coastguard Worker externalSubsetSAXFunc externalSubset; 951*7c568831SAndroid Build Coastguard Worker unsigned int initialized; 952*7c568831SAndroid Build Coastguard Worker }; 953*7c568831SAndroid Build Coastguard Worker 954*7c568831SAndroid Build Coastguard Worker 955*7c568831SAndroid Build Coastguard Worker /** 956*7c568831SAndroid Build Coastguard Worker * xmlExternalEntityLoader: 957*7c568831SAndroid Build Coastguard Worker * @URL: The System ID of the resource requested 958*7c568831SAndroid Build Coastguard Worker * @ID: The Public ID of the resource requested 959*7c568831SAndroid Build Coastguard Worker * @context: the XML parser context 960*7c568831SAndroid Build Coastguard Worker * 961*7c568831SAndroid Build Coastguard Worker * External entity loaders types. 962*7c568831SAndroid Build Coastguard Worker * 963*7c568831SAndroid Build Coastguard Worker * Returns the entity input parser. 964*7c568831SAndroid Build Coastguard Worker */ 965*7c568831SAndroid Build Coastguard Worker typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL, 966*7c568831SAndroid Build Coastguard Worker const char *ID, 967*7c568831SAndroid Build Coastguard Worker xmlParserCtxtPtr context); 968*7c568831SAndroid Build Coastguard Worker 969*7c568831SAndroid Build Coastguard Worker /* 970*7c568831SAndroid Build Coastguard Worker * Variables 971*7c568831SAndroid Build Coastguard Worker */ 972*7c568831SAndroid Build Coastguard Worker 973*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const char *const xmlParserVersion; 974*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 975*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const int oldXMLWDcompatibility; 976*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 977*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const int xmlParserDebugEntities; 978*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 979*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlSAXLocator xmlDefaultSAXLocator; 980*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_SAX1_ENABLED 981*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 982*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlSAXHandlerV1 xmlDefaultSAXHandler; 983*7c568831SAndroid Build Coastguard Worker #endif 984*7c568831SAndroid Build Coastguard Worker 985*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_THREAD_ENABLED 986*7c568831SAndroid Build Coastguard Worker /* backward compatibility */ 987*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const char *const *__xmlParserVersion(void); 988*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 989*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const int *__oldXMLWDcompatibility(void); 990*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 991*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const int *__xmlParserDebugEntities(void); 992*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 993*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const xmlSAXLocator *__xmlDefaultSAXLocator(void); 994*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_SAX1_ENABLED 995*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 996*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const xmlSAXHandlerV1 *__xmlDefaultSAXHandler(void); 997*7c568831SAndroid Build Coastguard Worker #endif 998*7c568831SAndroid Build Coastguard Worker #endif 999*7c568831SAndroid Build Coastguard Worker 1000*7c568831SAndroid Build Coastguard Worker /** DOC_DISABLE */ 1001*7c568831SAndroid Build Coastguard Worker #define XML_GLOBALS_PARSER_CORE \ 1002*7c568831SAndroid Build Coastguard Worker XML_OP(xmlDoValidityCheckingDefaultValue, int, XML_DEPRECATED) \ 1003*7c568831SAndroid Build Coastguard Worker XML_OP(xmlGetWarningsDefaultValue, int, XML_DEPRECATED) \ 1004*7c568831SAndroid Build Coastguard Worker XML_OP(xmlKeepBlanksDefaultValue, int, XML_DEPRECATED) \ 1005*7c568831SAndroid Build Coastguard Worker XML_OP(xmlLineNumbersDefaultValue, int, XML_DEPRECATED) \ 1006*7c568831SAndroid Build Coastguard Worker XML_OP(xmlLoadExtDtdDefaultValue, int, XML_DEPRECATED) \ 1007*7c568831SAndroid Build Coastguard Worker XML_OP(xmlPedanticParserDefaultValue, int, XML_DEPRECATED) \ 1008*7c568831SAndroid Build Coastguard Worker XML_OP(xmlSubstituteEntitiesDefaultValue, int, XML_DEPRECATED) 1009*7c568831SAndroid Build Coastguard Worker 1010*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED 1011*7c568831SAndroid Build Coastguard Worker #define XML_GLOBALS_PARSER_OUTPUT \ 1012*7c568831SAndroid Build Coastguard Worker XML_OP(xmlIndentTreeOutput, int, XML_NO_ATTR) \ 1013*7c568831SAndroid Build Coastguard Worker XML_OP(xmlTreeIndentString, const char *, XML_NO_ATTR) \ 1014*7c568831SAndroid Build Coastguard Worker XML_OP(xmlSaveNoEmptyTags, int, XML_NO_ATTR) 1015*7c568831SAndroid Build Coastguard Worker #else 1016*7c568831SAndroid Build Coastguard Worker #define XML_GLOBALS_PARSER_OUTPUT 1017*7c568831SAndroid Build Coastguard Worker #endif 1018*7c568831SAndroid Build Coastguard Worker 1019*7c568831SAndroid Build Coastguard Worker #define XML_GLOBALS_PARSER \ 1020*7c568831SAndroid Build Coastguard Worker XML_GLOBALS_PARSER_CORE \ 1021*7c568831SAndroid Build Coastguard Worker XML_GLOBALS_PARSER_OUTPUT 1022*7c568831SAndroid Build Coastguard Worker 1023*7c568831SAndroid Build Coastguard Worker #define XML_OP XML_DECLARE_GLOBAL 1024*7c568831SAndroid Build Coastguard Worker XML_GLOBALS_PARSER 1025*7c568831SAndroid Build Coastguard Worker #undef XML_OP 1026*7c568831SAndroid Build Coastguard Worker 1027*7c568831SAndroid Build Coastguard Worker #if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION) 1028*7c568831SAndroid Build Coastguard Worker #define xmlDoValidityCheckingDefaultValue \ 1029*7c568831SAndroid Build Coastguard Worker XML_GLOBAL_MACRO(xmlDoValidityCheckingDefaultValue) 1030*7c568831SAndroid Build Coastguard Worker #define xmlGetWarningsDefaultValue \ 1031*7c568831SAndroid Build Coastguard Worker XML_GLOBAL_MACRO(xmlGetWarningsDefaultValue) 1032*7c568831SAndroid Build Coastguard Worker #define xmlKeepBlanksDefaultValue XML_GLOBAL_MACRO(xmlKeepBlanksDefaultValue) 1033*7c568831SAndroid Build Coastguard Worker #define xmlLineNumbersDefaultValue \ 1034*7c568831SAndroid Build Coastguard Worker XML_GLOBAL_MACRO(xmlLineNumbersDefaultValue) 1035*7c568831SAndroid Build Coastguard Worker #define xmlLoadExtDtdDefaultValue XML_GLOBAL_MACRO(xmlLoadExtDtdDefaultValue) 1036*7c568831SAndroid Build Coastguard Worker #define xmlPedanticParserDefaultValue \ 1037*7c568831SAndroid Build Coastguard Worker XML_GLOBAL_MACRO(xmlPedanticParserDefaultValue) 1038*7c568831SAndroid Build Coastguard Worker #define xmlSubstituteEntitiesDefaultValue \ 1039*7c568831SAndroid Build Coastguard Worker XML_GLOBAL_MACRO(xmlSubstituteEntitiesDefaultValue) 1040*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED 1041*7c568831SAndroid Build Coastguard Worker #define xmlIndentTreeOutput XML_GLOBAL_MACRO(xmlIndentTreeOutput) 1042*7c568831SAndroid Build Coastguard Worker #define xmlTreeIndentString XML_GLOBAL_MACRO(xmlTreeIndentString) 1043*7c568831SAndroid Build Coastguard Worker #define xmlSaveNoEmptyTags XML_GLOBAL_MACRO(xmlSaveNoEmptyTags) 1044*7c568831SAndroid Build Coastguard Worker #endif 1045*7c568831SAndroid Build Coastguard Worker #endif 1046*7c568831SAndroid Build Coastguard Worker /** DOC_ENABLE */ 1047*7c568831SAndroid Build Coastguard Worker 1048*7c568831SAndroid Build Coastguard Worker /* 1049*7c568831SAndroid Build Coastguard Worker * Init/Cleanup 1050*7c568831SAndroid Build Coastguard Worker */ 1051*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1052*7c568831SAndroid Build Coastguard Worker xmlInitParser (void); 1053*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1054*7c568831SAndroid Build Coastguard Worker xmlCleanupParser (void); 1055*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1056*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1057*7c568831SAndroid Build Coastguard Worker xmlInitGlobals (void); 1058*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1059*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1060*7c568831SAndroid Build Coastguard Worker xmlCleanupGlobals (void); 1061*7c568831SAndroid Build Coastguard Worker 1062*7c568831SAndroid Build Coastguard Worker /* 1063*7c568831SAndroid Build Coastguard Worker * Input functions 1064*7c568831SAndroid Build Coastguard Worker */ 1065*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1066*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1067*7c568831SAndroid Build Coastguard Worker xmlParserInputRead (xmlParserInputPtr in, 1068*7c568831SAndroid Build Coastguard Worker int len); 1069*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1070*7c568831SAndroid Build Coastguard Worker xmlParserInputGrow (xmlParserInputPtr in, 1071*7c568831SAndroid Build Coastguard Worker int len); 1072*7c568831SAndroid Build Coastguard Worker 1073*7c568831SAndroid Build Coastguard Worker /* 1074*7c568831SAndroid Build Coastguard Worker * Basic parsing Interfaces 1075*7c568831SAndroid Build Coastguard Worker */ 1076*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_SAX1_ENABLED 1077*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1078*7c568831SAndroid Build Coastguard Worker xmlParseDoc (const xmlChar *cur); 1079*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1080*7c568831SAndroid Build Coastguard Worker xmlParseFile (const char *filename); 1081*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1082*7c568831SAndroid Build Coastguard Worker xmlParseMemory (const char *buffer, 1083*7c568831SAndroid Build Coastguard Worker int size); 1084*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_SAX1_ENABLED */ 1085*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int 1086*7c568831SAndroid Build Coastguard Worker xmlSubstituteEntitiesDefault(int val); 1087*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int 1088*7c568831SAndroid Build Coastguard Worker xmlThrDefSubstituteEntitiesDefaultValue(int v); 1089*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1090*7c568831SAndroid Build Coastguard Worker xmlKeepBlanksDefault (int val); 1091*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int 1092*7c568831SAndroid Build Coastguard Worker xmlThrDefKeepBlanksDefaultValue(int v); 1093*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1094*7c568831SAndroid Build Coastguard Worker xmlStopParser (xmlParserCtxtPtr ctxt); 1095*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int 1096*7c568831SAndroid Build Coastguard Worker xmlPedanticParserDefault(int val); 1097*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int 1098*7c568831SAndroid Build Coastguard Worker xmlThrDefPedanticParserDefaultValue(int v); 1099*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int 1100*7c568831SAndroid Build Coastguard Worker xmlLineNumbersDefault (int val); 1101*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int 1102*7c568831SAndroid Build Coastguard Worker xmlThrDefLineNumbersDefaultValue(int v); 1103*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int 1104*7c568831SAndroid Build Coastguard Worker xmlThrDefDoValidityCheckingDefaultValue(int v); 1105*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int 1106*7c568831SAndroid Build Coastguard Worker xmlThrDefGetWarningsDefaultValue(int v); 1107*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int 1108*7c568831SAndroid Build Coastguard Worker xmlThrDefLoadExtDtdDefaultValue(int v); 1109*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED XMLPUBFUN int 1110*7c568831SAndroid Build Coastguard Worker xmlThrDefParserDebugEntities(int v); 1111*7c568831SAndroid Build Coastguard Worker 1112*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_SAX1_ENABLED 1113*7c568831SAndroid Build Coastguard Worker /* 1114*7c568831SAndroid Build Coastguard Worker * Recovery mode 1115*7c568831SAndroid Build Coastguard Worker */ 1116*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1117*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1118*7c568831SAndroid Build Coastguard Worker xmlRecoverDoc (const xmlChar *cur); 1119*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1120*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1121*7c568831SAndroid Build Coastguard Worker xmlRecoverMemory (const char *buffer, 1122*7c568831SAndroid Build Coastguard Worker int size); 1123*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1124*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1125*7c568831SAndroid Build Coastguard Worker xmlRecoverFile (const char *filename); 1126*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_SAX1_ENABLED */ 1127*7c568831SAndroid Build Coastguard Worker 1128*7c568831SAndroid Build Coastguard Worker /* 1129*7c568831SAndroid Build Coastguard Worker * Less common routines and SAX interfaces 1130*7c568831SAndroid Build Coastguard Worker */ 1131*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1132*7c568831SAndroid Build Coastguard Worker xmlParseDocument (xmlParserCtxtPtr ctxt); 1133*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1134*7c568831SAndroid Build Coastguard Worker xmlParseExtParsedEnt (xmlParserCtxtPtr ctxt); 1135*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_SAX1_ENABLED 1136*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1137*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1138*7c568831SAndroid Build Coastguard Worker xmlSAXUserParseFile (xmlSAXHandlerPtr sax, 1139*7c568831SAndroid Build Coastguard Worker void *user_data, 1140*7c568831SAndroid Build Coastguard Worker const char *filename); 1141*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1142*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1143*7c568831SAndroid Build Coastguard Worker xmlSAXUserParseMemory (xmlSAXHandlerPtr sax, 1144*7c568831SAndroid Build Coastguard Worker void *user_data, 1145*7c568831SAndroid Build Coastguard Worker const char *buffer, 1146*7c568831SAndroid Build Coastguard Worker int size); 1147*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1148*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1149*7c568831SAndroid Build Coastguard Worker xmlSAXParseDoc (xmlSAXHandlerPtr sax, 1150*7c568831SAndroid Build Coastguard Worker const xmlChar *cur, 1151*7c568831SAndroid Build Coastguard Worker int recovery); 1152*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1153*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1154*7c568831SAndroid Build Coastguard Worker xmlSAXParseMemory (xmlSAXHandlerPtr sax, 1155*7c568831SAndroid Build Coastguard Worker const char *buffer, 1156*7c568831SAndroid Build Coastguard Worker int size, 1157*7c568831SAndroid Build Coastguard Worker int recovery); 1158*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1159*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1160*7c568831SAndroid Build Coastguard Worker xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax, 1161*7c568831SAndroid Build Coastguard Worker const char *buffer, 1162*7c568831SAndroid Build Coastguard Worker int size, 1163*7c568831SAndroid Build Coastguard Worker int recovery, 1164*7c568831SAndroid Build Coastguard Worker void *data); 1165*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1166*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1167*7c568831SAndroid Build Coastguard Worker xmlSAXParseFile (xmlSAXHandlerPtr sax, 1168*7c568831SAndroid Build Coastguard Worker const char *filename, 1169*7c568831SAndroid Build Coastguard Worker int recovery); 1170*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1171*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1172*7c568831SAndroid Build Coastguard Worker xmlSAXParseFileWithData (xmlSAXHandlerPtr sax, 1173*7c568831SAndroid Build Coastguard Worker const char *filename, 1174*7c568831SAndroid Build Coastguard Worker int recovery, 1175*7c568831SAndroid Build Coastguard Worker void *data); 1176*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1177*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1178*7c568831SAndroid Build Coastguard Worker xmlSAXParseEntity (xmlSAXHandlerPtr sax, 1179*7c568831SAndroid Build Coastguard Worker const char *filename); 1180*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1181*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1182*7c568831SAndroid Build Coastguard Worker xmlParseEntity (const char *filename); 1183*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_SAX1_ENABLED */ 1184*7c568831SAndroid Build Coastguard Worker 1185*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_VALID_ENABLED 1186*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1187*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDtdPtr 1188*7c568831SAndroid Build Coastguard Worker xmlSAXParseDTD (xmlSAXHandlerPtr sax, 1189*7c568831SAndroid Build Coastguard Worker const xmlChar *ExternalID, 1190*7c568831SAndroid Build Coastguard Worker const xmlChar *SystemID); 1191*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDtdPtr 1192*7c568831SAndroid Build Coastguard Worker xmlParseDTD (const xmlChar *ExternalID, 1193*7c568831SAndroid Build Coastguard Worker const xmlChar *SystemID); 1194*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDtdPtr 1195*7c568831SAndroid Build Coastguard Worker xmlIOParseDTD (xmlSAXHandlerPtr sax, 1196*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferPtr input, 1197*7c568831SAndroid Build Coastguard Worker xmlCharEncoding enc); 1198*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_VALID_ENABLE */ 1199*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_SAX1_ENABLED 1200*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1201*7c568831SAndroid Build Coastguard Worker xmlParseBalancedChunkMemory(xmlDocPtr doc, 1202*7c568831SAndroid Build Coastguard Worker xmlSAXHandlerPtr sax, 1203*7c568831SAndroid Build Coastguard Worker void *user_data, 1204*7c568831SAndroid Build Coastguard Worker int depth, 1205*7c568831SAndroid Build Coastguard Worker const xmlChar *string, 1206*7c568831SAndroid Build Coastguard Worker xmlNodePtr *lst); 1207*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_SAX1_ENABLED */ 1208*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserErrors 1209*7c568831SAndroid Build Coastguard Worker xmlParseInNodeContext (xmlNodePtr node, 1210*7c568831SAndroid Build Coastguard Worker const char *data, 1211*7c568831SAndroid Build Coastguard Worker int datalen, 1212*7c568831SAndroid Build Coastguard Worker int options, 1213*7c568831SAndroid Build Coastguard Worker xmlNodePtr *lst); 1214*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_SAX1_ENABLED 1215*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1216*7c568831SAndroid Build Coastguard Worker xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, 1217*7c568831SAndroid Build Coastguard Worker xmlSAXHandlerPtr sax, 1218*7c568831SAndroid Build Coastguard Worker void *user_data, 1219*7c568831SAndroid Build Coastguard Worker int depth, 1220*7c568831SAndroid Build Coastguard Worker const xmlChar *string, 1221*7c568831SAndroid Build Coastguard Worker xmlNodePtr *lst, 1222*7c568831SAndroid Build Coastguard Worker int recover); 1223*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1224*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1225*7c568831SAndroid Build Coastguard Worker xmlParseExternalEntity (xmlDocPtr doc, 1226*7c568831SAndroid Build Coastguard Worker xmlSAXHandlerPtr sax, 1227*7c568831SAndroid Build Coastguard Worker void *user_data, 1228*7c568831SAndroid Build Coastguard Worker int depth, 1229*7c568831SAndroid Build Coastguard Worker const xmlChar *URL, 1230*7c568831SAndroid Build Coastguard Worker const xmlChar *ID, 1231*7c568831SAndroid Build Coastguard Worker xmlNodePtr *lst); 1232*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_SAX1_ENABLED */ 1233*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1234*7c568831SAndroid Build Coastguard Worker xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, 1235*7c568831SAndroid Build Coastguard Worker const xmlChar *URL, 1236*7c568831SAndroid Build Coastguard Worker const xmlChar *ID, 1237*7c568831SAndroid Build Coastguard Worker xmlNodePtr *lst); 1238*7c568831SAndroid Build Coastguard Worker 1239*7c568831SAndroid Build Coastguard Worker /* 1240*7c568831SAndroid Build Coastguard Worker * Parser contexts handling. 1241*7c568831SAndroid Build Coastguard Worker */ 1242*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserCtxtPtr 1243*7c568831SAndroid Build Coastguard Worker xmlNewParserCtxt (void); 1244*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserCtxtPtr 1245*7c568831SAndroid Build Coastguard Worker xmlNewSAXParserCtxt (const xmlSAXHandler *sax, 1246*7c568831SAndroid Build Coastguard Worker void *userData); 1247*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1248*7c568831SAndroid Build Coastguard Worker xmlInitParserCtxt (xmlParserCtxtPtr ctxt); 1249*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1250*7c568831SAndroid Build Coastguard Worker xmlClearParserCtxt (xmlParserCtxtPtr ctxt); 1251*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1252*7c568831SAndroid Build Coastguard Worker xmlFreeParserCtxt (xmlParserCtxtPtr ctxt); 1253*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_SAX1_ENABLED 1254*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1255*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1256*7c568831SAndroid Build Coastguard Worker xmlSetupParserForBuffer (xmlParserCtxtPtr ctxt, 1257*7c568831SAndroid Build Coastguard Worker const xmlChar* buffer, 1258*7c568831SAndroid Build Coastguard Worker const char *filename); 1259*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_SAX1_ENABLED */ 1260*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserCtxtPtr 1261*7c568831SAndroid Build Coastguard Worker xmlCreateDocParserCtxt (const xmlChar *cur); 1262*7c568831SAndroid Build Coastguard Worker 1263*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_LEGACY_ENABLED 1264*7c568831SAndroid Build Coastguard Worker /** DOC_DISABLE */ 1265*7c568831SAndroid Build Coastguard Worker /* 1266*7c568831SAndroid Build Coastguard Worker * Reading/setting optional parsing features. 1267*7c568831SAndroid Build Coastguard Worker */ 1268*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1269*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1270*7c568831SAndroid Build Coastguard Worker xmlGetFeaturesList (int *len, 1271*7c568831SAndroid Build Coastguard Worker const char **result); 1272*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1273*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1274*7c568831SAndroid Build Coastguard Worker xmlGetFeature (xmlParserCtxtPtr ctxt, 1275*7c568831SAndroid Build Coastguard Worker const char *name, 1276*7c568831SAndroid Build Coastguard Worker void *result); 1277*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1278*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1279*7c568831SAndroid Build Coastguard Worker xmlSetFeature (xmlParserCtxtPtr ctxt, 1280*7c568831SAndroid Build Coastguard Worker const char *name, 1281*7c568831SAndroid Build Coastguard Worker void *value); 1282*7c568831SAndroid Build Coastguard Worker /** DOC_ENABLE */ 1283*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_LEGACY_ENABLED */ 1284*7c568831SAndroid Build Coastguard Worker 1285*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_PUSH_ENABLED 1286*7c568831SAndroid Build Coastguard Worker /* 1287*7c568831SAndroid Build Coastguard Worker * Interfaces for the Push mode. 1288*7c568831SAndroid Build Coastguard Worker */ 1289*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserCtxtPtr 1290*7c568831SAndroid Build Coastguard Worker xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax, 1291*7c568831SAndroid Build Coastguard Worker void *user_data, 1292*7c568831SAndroid Build Coastguard Worker const char *chunk, 1293*7c568831SAndroid Build Coastguard Worker int size, 1294*7c568831SAndroid Build Coastguard Worker const char *filename); 1295*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1296*7c568831SAndroid Build Coastguard Worker xmlParseChunk (xmlParserCtxtPtr ctxt, 1297*7c568831SAndroid Build Coastguard Worker const char *chunk, 1298*7c568831SAndroid Build Coastguard Worker int size, 1299*7c568831SAndroid Build Coastguard Worker int terminate); 1300*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_PUSH_ENABLED */ 1301*7c568831SAndroid Build Coastguard Worker 1302*7c568831SAndroid Build Coastguard Worker /* 1303*7c568831SAndroid Build Coastguard Worker * Special I/O mode. 1304*7c568831SAndroid Build Coastguard Worker */ 1305*7c568831SAndroid Build Coastguard Worker 1306*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserCtxtPtr 1307*7c568831SAndroid Build Coastguard Worker xmlCreateIOParserCtxt (xmlSAXHandlerPtr sax, 1308*7c568831SAndroid Build Coastguard Worker void *user_data, 1309*7c568831SAndroid Build Coastguard Worker xmlInputReadCallback ioread, 1310*7c568831SAndroid Build Coastguard Worker xmlInputCloseCallback ioclose, 1311*7c568831SAndroid Build Coastguard Worker void *ioctx, 1312*7c568831SAndroid Build Coastguard Worker xmlCharEncoding enc); 1313*7c568831SAndroid Build Coastguard Worker 1314*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputPtr 1315*7c568831SAndroid Build Coastguard Worker xmlNewIOInputStream (xmlParserCtxtPtr ctxt, 1316*7c568831SAndroid Build Coastguard Worker xmlParserInputBufferPtr input, 1317*7c568831SAndroid Build Coastguard Worker xmlCharEncoding enc); 1318*7c568831SAndroid Build Coastguard Worker 1319*7c568831SAndroid Build Coastguard Worker /* 1320*7c568831SAndroid Build Coastguard Worker * Node infos. 1321*7c568831SAndroid Build Coastguard Worker */ 1322*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const xmlParserNodeInfo* 1323*7c568831SAndroid Build Coastguard Worker xmlParserFindNodeInfo (xmlParserCtxtPtr ctxt, 1324*7c568831SAndroid Build Coastguard Worker xmlNodePtr node); 1325*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1326*7c568831SAndroid Build Coastguard Worker xmlInitNodeInfoSeq (xmlParserNodeInfoSeqPtr seq); 1327*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1328*7c568831SAndroid Build Coastguard Worker xmlClearNodeInfoSeq (xmlParserNodeInfoSeqPtr seq); 1329*7c568831SAndroid Build Coastguard Worker XMLPUBFUN unsigned long 1330*7c568831SAndroid Build Coastguard Worker xmlParserFindNodeInfoIndex(xmlParserNodeInfoSeqPtr seq, 1331*7c568831SAndroid Build Coastguard Worker xmlNodePtr node); 1332*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1333*7c568831SAndroid Build Coastguard Worker xmlParserAddNodeInfo (xmlParserCtxtPtr ctxt, 1334*7c568831SAndroid Build Coastguard Worker xmlParserNodeInfoPtr info); 1335*7c568831SAndroid Build Coastguard Worker 1336*7c568831SAndroid Build Coastguard Worker /* 1337*7c568831SAndroid Build Coastguard Worker * External entities handling actually implemented in xmlIO. 1338*7c568831SAndroid Build Coastguard Worker */ 1339*7c568831SAndroid Build Coastguard Worker 1340*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1341*7c568831SAndroid Build Coastguard Worker xmlSetExternalEntityLoader(xmlExternalEntityLoader f); 1342*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlExternalEntityLoader 1343*7c568831SAndroid Build Coastguard Worker xmlGetExternalEntityLoader(void); 1344*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputPtr 1345*7c568831SAndroid Build Coastguard Worker xmlLoadExternalEntity (const char *URL, 1346*7c568831SAndroid Build Coastguard Worker const char *ID, 1347*7c568831SAndroid Build Coastguard Worker xmlParserCtxtPtr ctxt); 1348*7c568831SAndroid Build Coastguard Worker 1349*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 1350*7c568831SAndroid Build Coastguard Worker XMLPUBFUN long 1351*7c568831SAndroid Build Coastguard Worker xmlByteConsumed (xmlParserCtxtPtr ctxt); 1352*7c568831SAndroid Build Coastguard Worker 1353*7c568831SAndroid Build Coastguard Worker /* 1354*7c568831SAndroid Build Coastguard Worker * New set of simpler/more flexible APIs 1355*7c568831SAndroid Build Coastguard Worker */ 1356*7c568831SAndroid Build Coastguard Worker /** 1357*7c568831SAndroid Build Coastguard Worker * xmlParserOption: 1358*7c568831SAndroid Build Coastguard Worker * 1359*7c568831SAndroid Build Coastguard Worker * This is the set of XML parser options that can be passed down 1360*7c568831SAndroid Build Coastguard Worker * to the xmlReadDoc() and similar calls. 1361*7c568831SAndroid Build Coastguard Worker */ 1362*7c568831SAndroid Build Coastguard Worker typedef enum { 1363*7c568831SAndroid Build Coastguard Worker XML_PARSE_RECOVER = 1<<0, /* recover on errors */ 1364*7c568831SAndroid Build Coastguard Worker XML_PARSE_NOENT = 1<<1, /* substitute entities */ 1365*7c568831SAndroid Build Coastguard Worker XML_PARSE_DTDLOAD = 1<<2, /* load the external subset */ 1366*7c568831SAndroid Build Coastguard Worker XML_PARSE_DTDATTR = 1<<3, /* default DTD attributes */ 1367*7c568831SAndroid Build Coastguard Worker XML_PARSE_DTDVALID = 1<<4, /* validate with the DTD */ 1368*7c568831SAndroid Build Coastguard Worker XML_PARSE_NOERROR = 1<<5, /* suppress error reports */ 1369*7c568831SAndroid Build Coastguard Worker XML_PARSE_NOWARNING = 1<<6, /* suppress warning reports */ 1370*7c568831SAndroid Build Coastguard Worker XML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */ 1371*7c568831SAndroid Build Coastguard Worker XML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */ 1372*7c568831SAndroid Build Coastguard Worker XML_PARSE_SAX1 = 1<<9, /* use the SAX1 interface internally */ 1373*7c568831SAndroid Build Coastguard Worker XML_PARSE_XINCLUDE = 1<<10,/* Implement XInclude substitution */ 1374*7c568831SAndroid Build Coastguard Worker XML_PARSE_NONET = 1<<11,/* Forbid network access */ 1375*7c568831SAndroid Build Coastguard Worker XML_PARSE_NODICT = 1<<12,/* Do not reuse the context dictionary */ 1376*7c568831SAndroid Build Coastguard Worker XML_PARSE_NSCLEAN = 1<<13,/* remove redundant namespaces declarations */ 1377*7c568831SAndroid Build Coastguard Worker XML_PARSE_NOCDATA = 1<<14,/* merge CDATA as text nodes */ 1378*7c568831SAndroid Build Coastguard Worker XML_PARSE_NOXINCNODE= 1<<15,/* do not generate XINCLUDE START/END nodes */ 1379*7c568831SAndroid Build Coastguard Worker XML_PARSE_COMPACT = 1<<16,/* compact small text nodes; no modification of 1380*7c568831SAndroid Build Coastguard Worker the tree allowed afterwards (will possibly 1381*7c568831SAndroid Build Coastguard Worker crash if you try to modify the tree) */ 1382*7c568831SAndroid Build Coastguard Worker XML_PARSE_OLD10 = 1<<17,/* parse using XML-1.0 before update 5 */ 1383*7c568831SAndroid Build Coastguard Worker XML_PARSE_NOBASEFIX = 1<<18,/* do not fixup XINCLUDE xml:base uris */ 1384*7c568831SAndroid Build Coastguard Worker XML_PARSE_HUGE = 1<<19,/* relax any hardcoded limit from the parser */ 1385*7c568831SAndroid Build Coastguard Worker XML_PARSE_OLDSAX = 1<<20,/* parse using SAX2 interface before 2.7.0 */ 1386*7c568831SAndroid Build Coastguard Worker XML_PARSE_IGNORE_ENC= 1<<21,/* ignore internal document encoding hint */ 1387*7c568831SAndroid Build Coastguard Worker XML_PARSE_BIG_LINES = 1<<22,/* Store big lines numbers in text PSVI field */ 1388*7c568831SAndroid Build Coastguard Worker /* since 2.13.0 */ 1389*7c568831SAndroid Build Coastguard Worker XML_PARSE_NO_XXE = 1<<23,/* disable loading of external content */ 1390*7c568831SAndroid Build Coastguard Worker /* since 2.14.0 */ 1391*7c568831SAndroid Build Coastguard Worker XML_PARSE_NO_UNZIP = 1<<24,/* disable compressed content */ 1392*7c568831SAndroid Build Coastguard Worker XML_PARSE_NO_SYS_CATALOG = 1<<25,/* disable global system catalog */ 1393*7c568831SAndroid Build Coastguard Worker XML_PARSE_NO_CATALOG_PI = 1<<26 /* ignore catalog PIs */ 1394*7c568831SAndroid Build Coastguard Worker } xmlParserOption; 1395*7c568831SAndroid Build Coastguard Worker 1396*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1397*7c568831SAndroid Build Coastguard Worker xmlCtxtReset (xmlParserCtxtPtr ctxt); 1398*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1399*7c568831SAndroid Build Coastguard Worker xmlCtxtResetPush (xmlParserCtxtPtr ctxt, 1400*7c568831SAndroid Build Coastguard Worker const char *chunk, 1401*7c568831SAndroid Build Coastguard Worker int size, 1402*7c568831SAndroid Build Coastguard Worker const char *filename, 1403*7c568831SAndroid Build Coastguard Worker const char *encoding); 1404*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1405*7c568831SAndroid Build Coastguard Worker xmlCtxtGetOptions (xmlParserCtxtPtr ctxt); 1406*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1407*7c568831SAndroid Build Coastguard Worker xmlCtxtSetOptions (xmlParserCtxtPtr ctxt, 1408*7c568831SAndroid Build Coastguard Worker int options); 1409*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1410*7c568831SAndroid Build Coastguard Worker xmlCtxtUseOptions (xmlParserCtxtPtr ctxt, 1411*7c568831SAndroid Build Coastguard Worker int options); 1412*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void * 1413*7c568831SAndroid Build Coastguard Worker xmlCtxtGetPrivate (xmlParserCtxtPtr ctxt); 1414*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1415*7c568831SAndroid Build Coastguard Worker xmlCtxtSetPrivate (xmlParserCtxtPtr ctxt, 1416*7c568831SAndroid Build Coastguard Worker void *priv); 1417*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void * 1418*7c568831SAndroid Build Coastguard Worker xmlCtxtGetCatalogs (xmlParserCtxtPtr ctxt); 1419*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1420*7c568831SAndroid Build Coastguard Worker xmlCtxtSetCatalogs (xmlParserCtxtPtr ctxt, 1421*7c568831SAndroid Build Coastguard Worker void *catalogs); 1422*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDictPtr 1423*7c568831SAndroid Build Coastguard Worker xmlCtxtGetDict (xmlParserCtxtPtr ctxt); 1424*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1425*7c568831SAndroid Build Coastguard Worker xmlCtxtSetDict (xmlParserCtxtPtr ctxt, 1426*7c568831SAndroid Build Coastguard Worker xmlDictPtr); 1427*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const xmlChar * 1428*7c568831SAndroid Build Coastguard Worker xmlCtxtGetVersion (xmlParserCtxtPtr ctxt); 1429*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const xmlChar * 1430*7c568831SAndroid Build Coastguard Worker xmlCtxtGetDeclaredEncoding(xmlParserCtxtPtr ctxt); 1431*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1432*7c568831SAndroid Build Coastguard Worker xmlCtxtGetStandalone (xmlParserCtxtPtr ctxt); 1433*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1434*7c568831SAndroid Build Coastguard Worker xmlCtxtGetStatus (xmlParserCtxtPtr ctxt); 1435*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1436*7c568831SAndroid Build Coastguard Worker xmlCtxtSetErrorHandler (xmlParserCtxtPtr ctxt, 1437*7c568831SAndroid Build Coastguard Worker xmlStructuredErrorFunc handler, 1438*7c568831SAndroid Build Coastguard Worker void *data); 1439*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1440*7c568831SAndroid Build Coastguard Worker xmlCtxtSetResourceLoader(xmlParserCtxtPtr ctxt, 1441*7c568831SAndroid Build Coastguard Worker xmlResourceLoader loader, 1442*7c568831SAndroid Build Coastguard Worker void *vctxt); 1443*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1444*7c568831SAndroid Build Coastguard Worker xmlCtxtSetCharEncConvImpl(xmlParserCtxtPtr ctxt, 1445*7c568831SAndroid Build Coastguard Worker xmlCharEncConvImpl impl, 1446*7c568831SAndroid Build Coastguard Worker void *vctxt); 1447*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 1448*7c568831SAndroid Build Coastguard Worker xmlCtxtSetMaxAmplification(xmlParserCtxtPtr ctxt, 1449*7c568831SAndroid Build Coastguard Worker unsigned maxAmpl); 1450*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1451*7c568831SAndroid Build Coastguard Worker xmlReadDoc (const xmlChar *cur, 1452*7c568831SAndroid Build Coastguard Worker const char *URL, 1453*7c568831SAndroid Build Coastguard Worker const char *encoding, 1454*7c568831SAndroid Build Coastguard Worker int options); 1455*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1456*7c568831SAndroid Build Coastguard Worker xmlReadFile (const char *URL, 1457*7c568831SAndroid Build Coastguard Worker const char *encoding, 1458*7c568831SAndroid Build Coastguard Worker int options); 1459*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1460*7c568831SAndroid Build Coastguard Worker xmlReadMemory (const char *buffer, 1461*7c568831SAndroid Build Coastguard Worker int size, 1462*7c568831SAndroid Build Coastguard Worker const char *URL, 1463*7c568831SAndroid Build Coastguard Worker const char *encoding, 1464*7c568831SAndroid Build Coastguard Worker int options); 1465*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1466*7c568831SAndroid Build Coastguard Worker xmlReadFd (int fd, 1467*7c568831SAndroid Build Coastguard Worker const char *URL, 1468*7c568831SAndroid Build Coastguard Worker const char *encoding, 1469*7c568831SAndroid Build Coastguard Worker int options); 1470*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1471*7c568831SAndroid Build Coastguard Worker xmlReadIO (xmlInputReadCallback ioread, 1472*7c568831SAndroid Build Coastguard Worker xmlInputCloseCallback ioclose, 1473*7c568831SAndroid Build Coastguard Worker void *ioctx, 1474*7c568831SAndroid Build Coastguard Worker const char *URL, 1475*7c568831SAndroid Build Coastguard Worker const char *encoding, 1476*7c568831SAndroid Build Coastguard Worker int options); 1477*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1478*7c568831SAndroid Build Coastguard Worker xmlCtxtParseDocument (xmlParserCtxtPtr ctxt, 1479*7c568831SAndroid Build Coastguard Worker xmlParserInputPtr input); 1480*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlNodePtr 1481*7c568831SAndroid Build Coastguard Worker xmlCtxtParseContent (xmlParserCtxtPtr ctxt, 1482*7c568831SAndroid Build Coastguard Worker xmlParserInputPtr input, 1483*7c568831SAndroid Build Coastguard Worker xmlNodePtr node, 1484*7c568831SAndroid Build Coastguard Worker int hasTextDecl); 1485*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1486*7c568831SAndroid Build Coastguard Worker xmlCtxtReadDoc (xmlParserCtxtPtr ctxt, 1487*7c568831SAndroid Build Coastguard Worker const xmlChar *cur, 1488*7c568831SAndroid Build Coastguard Worker const char *URL, 1489*7c568831SAndroid Build Coastguard Worker const char *encoding, 1490*7c568831SAndroid Build Coastguard Worker int options); 1491*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1492*7c568831SAndroid Build Coastguard Worker xmlCtxtReadFile (xmlParserCtxtPtr ctxt, 1493*7c568831SAndroid Build Coastguard Worker const char *filename, 1494*7c568831SAndroid Build Coastguard Worker const char *encoding, 1495*7c568831SAndroid Build Coastguard Worker int options); 1496*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1497*7c568831SAndroid Build Coastguard Worker xmlCtxtReadMemory (xmlParserCtxtPtr ctxt, 1498*7c568831SAndroid Build Coastguard Worker const char *buffer, 1499*7c568831SAndroid Build Coastguard Worker int size, 1500*7c568831SAndroid Build Coastguard Worker const char *URL, 1501*7c568831SAndroid Build Coastguard Worker const char *encoding, 1502*7c568831SAndroid Build Coastguard Worker int options); 1503*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1504*7c568831SAndroid Build Coastguard Worker xmlCtxtReadFd (xmlParserCtxtPtr ctxt, 1505*7c568831SAndroid Build Coastguard Worker int fd, 1506*7c568831SAndroid Build Coastguard Worker const char *URL, 1507*7c568831SAndroid Build Coastguard Worker const char *encoding, 1508*7c568831SAndroid Build Coastguard Worker int options); 1509*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 1510*7c568831SAndroid Build Coastguard Worker xmlCtxtReadIO (xmlParserCtxtPtr ctxt, 1511*7c568831SAndroid Build Coastguard Worker xmlInputReadCallback ioread, 1512*7c568831SAndroid Build Coastguard Worker xmlInputCloseCallback ioclose, 1513*7c568831SAndroid Build Coastguard Worker void *ioctx, 1514*7c568831SAndroid Build Coastguard Worker const char *URL, 1515*7c568831SAndroid Build Coastguard Worker const char *encoding, 1516*7c568831SAndroid Build Coastguard Worker int options); 1517*7c568831SAndroid Build Coastguard Worker 1518*7c568831SAndroid Build Coastguard Worker /** 1519*7c568831SAndroid Build Coastguard Worker * New input API 1520*7c568831SAndroid Build Coastguard Worker */ 1521*7c568831SAndroid Build Coastguard Worker 1522*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_BUF_STATIC (1 << 1) 1523*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_BUF_ZERO_TERMINATED (1 << 2) 1524*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_UNZIP (1 << 3) 1525*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_NETWORK (1 << 4) 1526*7c568831SAndroid Build Coastguard Worker 1527*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1528*7c568831SAndroid Build Coastguard Worker xmlNewInputFromUrl(const char *url, int flags, xmlParserInputPtr *out); 1529*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputPtr 1530*7c568831SAndroid Build Coastguard Worker xmlNewInputFromMemory(const char *url, const void *mem, size_t size, 1531*7c568831SAndroid Build Coastguard Worker int flags); 1532*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputPtr 1533*7c568831SAndroid Build Coastguard Worker xmlNewInputFromString(const char *url, const char *str, int flags); 1534*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputPtr 1535*7c568831SAndroid Build Coastguard Worker xmlNewInputFromFd(const char *url, int fd, int flags); 1536*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlParserInputPtr 1537*7c568831SAndroid Build Coastguard Worker xmlNewInputFromIO(const char *url, xmlInputReadCallback ioRead, 1538*7c568831SAndroid Build Coastguard Worker xmlInputCloseCallback ioClose, void *ioCtxt, int flags); 1539*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1540*7c568831SAndroid Build Coastguard Worker xmlInputSetEncodingHandler(xmlParserInputPtr input, 1541*7c568831SAndroid Build Coastguard Worker xmlCharEncodingHandlerPtr handler); 1542*7c568831SAndroid Build Coastguard Worker 1543*7c568831SAndroid Build Coastguard Worker /* 1544*7c568831SAndroid Build Coastguard Worker * Library wide options 1545*7c568831SAndroid Build Coastguard Worker */ 1546*7c568831SAndroid Build Coastguard Worker /** 1547*7c568831SAndroid Build Coastguard Worker * xmlFeature: 1548*7c568831SAndroid Build Coastguard Worker * 1549*7c568831SAndroid Build Coastguard Worker * Used to examine the existence of features that can be enabled 1550*7c568831SAndroid Build Coastguard Worker * or disabled at compile-time. 1551*7c568831SAndroid Build Coastguard Worker * They used to be called XML_FEATURE_xxx but this clashed with Expat 1552*7c568831SAndroid Build Coastguard Worker */ 1553*7c568831SAndroid Build Coastguard Worker typedef enum { 1554*7c568831SAndroid Build Coastguard Worker XML_WITH_THREAD = 1, 1555*7c568831SAndroid Build Coastguard Worker XML_WITH_TREE = 2, 1556*7c568831SAndroid Build Coastguard Worker XML_WITH_OUTPUT = 3, 1557*7c568831SAndroid Build Coastguard Worker XML_WITH_PUSH = 4, 1558*7c568831SAndroid Build Coastguard Worker XML_WITH_READER = 5, 1559*7c568831SAndroid Build Coastguard Worker XML_WITH_PATTERN = 6, 1560*7c568831SAndroid Build Coastguard Worker XML_WITH_WRITER = 7, 1561*7c568831SAndroid Build Coastguard Worker XML_WITH_SAX1 = 8, 1562*7c568831SAndroid Build Coastguard Worker XML_WITH_FTP = 9, 1563*7c568831SAndroid Build Coastguard Worker XML_WITH_HTTP = 10, 1564*7c568831SAndroid Build Coastguard Worker XML_WITH_VALID = 11, 1565*7c568831SAndroid Build Coastguard Worker XML_WITH_HTML = 12, 1566*7c568831SAndroid Build Coastguard Worker XML_WITH_LEGACY = 13, 1567*7c568831SAndroid Build Coastguard Worker XML_WITH_C14N = 14, 1568*7c568831SAndroid Build Coastguard Worker XML_WITH_CATALOG = 15, 1569*7c568831SAndroid Build Coastguard Worker XML_WITH_XPATH = 16, 1570*7c568831SAndroid Build Coastguard Worker XML_WITH_XPTR = 17, 1571*7c568831SAndroid Build Coastguard Worker XML_WITH_XINCLUDE = 18, 1572*7c568831SAndroid Build Coastguard Worker XML_WITH_ICONV = 19, 1573*7c568831SAndroid Build Coastguard Worker XML_WITH_ISO8859X = 20, 1574*7c568831SAndroid Build Coastguard Worker XML_WITH_UNICODE = 21, 1575*7c568831SAndroid Build Coastguard Worker XML_WITH_REGEXP = 22, 1576*7c568831SAndroid Build Coastguard Worker XML_WITH_AUTOMATA = 23, 1577*7c568831SAndroid Build Coastguard Worker XML_WITH_EXPR = 24, 1578*7c568831SAndroid Build Coastguard Worker XML_WITH_SCHEMAS = 25, 1579*7c568831SAndroid Build Coastguard Worker XML_WITH_SCHEMATRON = 26, 1580*7c568831SAndroid Build Coastguard Worker XML_WITH_MODULES = 27, 1581*7c568831SAndroid Build Coastguard Worker XML_WITH_DEBUG = 28, 1582*7c568831SAndroid Build Coastguard Worker XML_WITH_DEBUG_MEM = 29, 1583*7c568831SAndroid Build Coastguard Worker XML_WITH_DEBUG_RUN = 30, /* unused */ 1584*7c568831SAndroid Build Coastguard Worker XML_WITH_ZLIB = 31, 1585*7c568831SAndroid Build Coastguard Worker XML_WITH_ICU = 32, 1586*7c568831SAndroid Build Coastguard Worker XML_WITH_LZMA = 33, 1587*7c568831SAndroid Build Coastguard Worker XML_WITH_NONE = 99999 /* just to be sure of allocation size */ 1588*7c568831SAndroid Build Coastguard Worker } xmlFeature; 1589*7c568831SAndroid Build Coastguard Worker 1590*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 1591*7c568831SAndroid Build Coastguard Worker xmlHasFeature (xmlFeature feature); 1592*7c568831SAndroid Build Coastguard Worker 1593*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus 1594*7c568831SAndroid Build Coastguard Worker } 1595*7c568831SAndroid Build Coastguard Worker #endif 1596*7c568831SAndroid Build Coastguard Worker #endif /* __XML_PARSER_H__ */ 1597