1ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
2ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Summary: the core parser module
3ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Description: Interfaces, constants and types related to the XML parser
4ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
5ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Copy: See Copyright for the status of this software.
6ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
7ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Author: Daniel Veillard
8ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
9ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
10ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifndef __XML_PARSER_H__
11ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define __XML_PARSER_H__
12ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
13ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <stdarg.h>
14ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
15ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/xmlversion.h>
16ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/tree.h>
17ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/dict.h>
18ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/hash.h>
19ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/valid.h>
20ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/entities.h>
21ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/xmlerror.h>
22ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/xmlstring.h>
23ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
24ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus
25ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectextern "C" {
26ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
27ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
28ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
29ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_DEFAULT_VERSION:
30ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
31ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The default version of XML used: 1.0
32ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
33ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_DEFAULT_VERSION	"1.0"
34ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
35ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
36ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlParserInput:
37ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
38ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * An xmlParserInput is an input flow for the XML processor.
39ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Each entity parsed is associated an xmlParserInput (except the
40ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * few predefined ones). This is the case both for internal entities
41ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * - in which case the flow is already completely in memory - or
42ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * external entities - in which case we use the buf structure for
43ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * progressive reading and I18N conversions to the internal UTF-8 format.
44ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
45ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
46ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
47ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlParserInputDeallocate:
48ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @str:  the string to deallocate
49ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
50ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Callback for freeing some parser input allocations.
51ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
52ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (* xmlParserInputDeallocate)(xmlChar *str);
53ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
54ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlParserInput {
55ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    /* Input buffer */
56ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlParserInputBufferPtr buf;      /* UTF-8 encoded buffer */
57ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
58ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const char *filename;             /* The file analyzed, if any */
59ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const char *directory;            /* the directory/base of the file */
60ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *base;              /* Base of the array to parse */
61ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *cur;               /* Current char being parsed */
62ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *end;               /* end of the array to parse */
63ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int length;                       /* length if known */
64ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int line;                         /* Current line */
65ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int col;                          /* Current column */
66ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    /*
67ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     * NOTE: consumed is only tested for equality in the parser code,
68ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     *       so even if there is an overflow this should not give troubles
69ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     *       for parsing very large instances.
70ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     */
71ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    unsigned long consumed;           /* How many xmlChars already consumed */
72ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlParserInputDeallocate free;    /* function to deallocate the base */
73ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *encoding;          /* the encoding string for entity */
74ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *version;           /* the version string for entity */
75ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int standalone;                   /* Was that entity marked standalone */
76ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int id;                           /* an unique identifier for the entity */
77ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
78ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
79ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
80ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlParserNodeInfo:
81ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
82ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The parser can be asked to collect Node informations, i.e. at what
83ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * place in the file they were detected.
84ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * NOTE: This is off by default and not very well tested.
85ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
86ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlParserNodeInfo xmlParserNodeInfo;
87ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlParserNodeInfo *xmlParserNodeInfoPtr;
88ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
89ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlParserNodeInfo {
90ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project  const struct _xmlNode* node;
91ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project  /* Position & line # that text that created the node begins & ends on */
92ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project  unsigned long begin_pos;
93ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project  unsigned long begin_line;
94ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project  unsigned long end_pos;
95ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project  unsigned long end_line;
96ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
97ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
98ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
99ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
100ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlParserNodeInfoSeq {
101ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project  unsigned long maximum;
102ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project  unsigned long length;
103ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project  xmlParserNodeInfo* buffer;
104ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
105ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
106ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
107ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlParserInputState:
108ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
109ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The parser is now working also as a state based parser.
110ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The recursive one use the state info for entities processing.
111ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
112ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef enum {
113ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_EOF = -1,	/* nothing is to be parsed */
114ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_START = 0,	/* nothing has been parsed */
115ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_MISC,		/* Misc* before int subset */
116ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_PI,		/* Within a processing instruction */
117ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_DTD,		/* within some DTD content */
118ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_PROLOG,		/* Misc* after internal subset */
119ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_COMMENT,		/* within a comment */
120ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_START_TAG,	/* within a start tag */
121ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_CONTENT,		/* within the content */
122ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_CDATA_SECTION,	/* within a CDATA section */
123ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_END_TAG,		/* within a closing tag */
124ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_ENTITY_DECL,	/* within an entity declaration */
125ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_ENTITY_VALUE,	/* within an entity value in a decl */
126ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_ATTRIBUTE_VALUE,	/* within an attribute value */
127ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_SYSTEM_LITERAL,	/* within a SYSTEM value */
128ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_EPILOG, 		/* the Misc* after the last end tag */
129ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_IGNORE,		/* within an IGNORED section */
130ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSER_PUBLIC_LITERAL 	/* within a PUBLIC value */
131ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project} xmlParserInputState;
132ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
133ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
134ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_DETECT_IDS:
135ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
136ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Bit in the loadsubset context field to tell to do ID/REFs lookups.
137ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Use it to initialize xmlLoadExtDtdDefaultValue.
138ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
139ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_DETECT_IDS		2
140ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
141ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
142ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_COMPLETE_ATTRS:
143ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
144ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Bit in the loadsubset context field to tell to do complete the
145ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * elements attributes lists with the ones defaulted from the DTDs.
146ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Use it to initialize xmlLoadExtDtdDefaultValue.
147ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
148ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_COMPLETE_ATTRS	4
149ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
150ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
151ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SKIP_IDS:
152ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
153ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Bit in the loadsubset context field to tell to not do ID/REFs registration.
154ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Used to initialize xmlLoadExtDtdDefaultValue in some special cases.
155ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
156ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SKIP_IDS		8
157ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
158ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
159ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlParserMode:
160ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
161ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * A parser can operate in various modes
162ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
163ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef enum {
164ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_UNKNOWN = 0,
165ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_DOM = 1,
166ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_SAX = 2,
167ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_PUSH_DOM = 3,
168ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_PUSH_SAX = 4,
169ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_READER = 5
170ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project} xmlParserMode;
171ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
172ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
173ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlParserCtxt:
174ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
175ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The parser context.
176ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * NOTE This doesn't completely define the parser state, the (current ?)
177ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *      design of the parser uses recursive function calls since this allow
178ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *      and easy mapping from the production rules of the specification
179ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *      to the actual code. The drawback is that the actual function call
180ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *      also reflect the parser state. However most of the parsing routines
181ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *      takes as the only argument the parser context pointer, so migrating
182ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *      to a state based parser for progressive parsing shouldn't be too hard.
183ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
184ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlParserCtxt {
185ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    struct _xmlSAXHandler *sax;       /* The SAX handler */
186ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    void            *userData;        /* For SAX interface only, used by DOM build */
187ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlDocPtr           myDoc;        /* the document being built */
188ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int            wellFormed;        /* is the document well formed */
189ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int       replaceEntities;        /* shall we replace entities ? */
190ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar    *version;        /* the XML version string */
191ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar   *encoding;        /* the declared encoding, if any */
192ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int            standalone;        /* standalone document */
193df143a5041f03a22808b59c76698770b74692815Selim Gurun    int                  html;        /* an HTML(1)/Docbook(2) document
194df143a5041f03a22808b59c76698770b74692815Selim Gurun                                       * 3 is HTML after <head>
195df143a5041f03a22808b59c76698770b74692815Selim Gurun                                       * 10 is HTML after <body>
196df143a5041f03a22808b59c76698770b74692815Selim Gurun                                       */
197ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
198ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    /* Input stream stack */
199ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlParserInputPtr  input;         /* Current input stream */
200ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                inputNr;       /* Number of current input streams */
201ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                inputMax;      /* Max number of input streams */
202ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlParserInputPtr *inputTab;      /* stack of inputs */
203ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
204ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    /* Node analysis stack only used for DOM building */
205ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlNodePtr         node;          /* Current parsed Node */
206ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                nodeNr;        /* Depth of the parsing stack */
207ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                nodeMax;       /* Max depth of the parsing stack */
208ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlNodePtr        *nodeTab;       /* array of nodes */
209ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
210ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int record_info;                  /* Whether node info should be kept */
211ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlParserNodeInfoSeq node_seq;    /* info about each node parsed */
212ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
213ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int errNo;                        /* error code */
214ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
215ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int     hasExternalSubset;        /* reference and external subset */
216ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int             hasPErefs;        /* the internal subset has PE refs */
217ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int              external;        /* are we parsing an external entity */
218ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
219ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                 valid;        /* is the document valid */
220ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int              validate;        /* shall we try to validate ? */
221ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlValidCtxt        vctxt;        /* The validity context */
222ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
223ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlParserInputState instate;      /* current type of input */
224ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                 token;        /* next char look-ahead */
225ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
226ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    char           *directory;        /* the data directory */
227ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
228ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    /* Node name stack */
229ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar     *name;          /* Current parsed Node */
230ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                nameNr;        /* Depth of the parsing stack */
231ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                nameMax;       /* Max depth of the parsing stack */
232ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *   *nameTab;       /* array of nodes */
233ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
234ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    long               nbChars;       /* number of xmlChar processed */
235ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    long            checkIndex;       /* used by progressive parsing lookup */
236ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int             keepBlanks;       /* ugly but ... */
237ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int             disableSAX;       /* SAX callbacks are disabled */
238ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int               inSubset;       /* Parsing is in int 1/ext 2 subset */
239ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *    intSubName;    /* name of subset */
240ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlChar *          extSubURI;     /* URI of external subset */
241ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlChar *          extSubSystem;  /* SYSTEM ID of external subset */
242ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
243ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    /* xml:space values */
244ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int *              space;         /* Should the parser preserve spaces */
245ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                spaceNr;       /* Depth of the parsing stack */
246ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                spaceMax;      /* Max depth of the parsing stack */
247ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int *              spaceTab;      /* array of space infos */
248ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
249ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                depth;         /* to prevent entity substitution loops */
250ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlParserInputPtr  entity;        /* used to check entities boundaries */
251ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                charset;       /* encoding of the in-memory content
252ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				         actually an xmlCharEncoding */
253ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                nodelen;       /* Those two fields are there to */
254ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                nodemem;       /* Speed up large node parsing */
255ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                pedantic;      /* signal pedantic warnings */
256ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    void              *_private;      /* For user data, libxml won't touch it */
257ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
258ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                loadsubset;    /* should the external subset be loaded */
259ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                linenumbers;   /* set line number in element content */
260ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    void              *catalogs;      /* document's own catalog */
261ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                recovery;      /* run in recovery mode */
262ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                progressive;   /* is this a progressive parsing */
263ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlDictPtr         dict;          /* dictionnary for the parser */
264ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *   *atts;          /* array for the attributes callbacks */
265ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                maxatts;       /* the size of the array */
266ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                docdict;       /* use strings from dict to build tree */
267ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
268ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    /*
269ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     * pre-interned strings
270ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     */
271ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *str_xml;
272ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *str_xmlns;
273ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *str_xml_ns;
274ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
275ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    /*
276ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     * Everything below is used only by the new SAX mode
277ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     */
278ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                sax2;          /* operating in the new SAX mode */
279ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                nsNr;          /* the number of inherited namespaces */
280ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                nsMax;         /* the size of the arrays */
281ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *   *nsTab;         /* the array of prefix/namespace name */
282ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int               *attallocs;     /* which attribute were allocated */
283ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    void *            *pushTab;       /* array of data for push */
284ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlHashTablePtr    attsDefault;   /* defaulted attributes if any */
285ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlHashTablePtr    attsSpecial;   /* non-CDATA attributes if any */
286ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                nsWellFormed;  /* is the document XML Nanespace okay */
287ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int                options;       /* Extra options */
288ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
289ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    /*
290ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     * Those fields are needed only for treaming parsing so far
291ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     */
292ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int               dictNames;    /* Use dictionary names for the tree */
293ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int               freeElemsNr;  /* number of freed element nodes */
294ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlNodePtr        freeElems;    /* List of freed element nodes */
295ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int               freeAttrsNr;  /* number of freed attributes nodes */
296ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlAttrPtr        freeAttrs;    /* List of freed attributes nodes */
297ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
298ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    /*
299ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     * the complete error informations for the last error.
300ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project     */
301ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlError          lastError;
302ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlParserMode     parseMode;    /* the parser mode */
30360a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott    unsigned long    nbentities;    /* number of entities references */
30460a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott    unsigned long  sizeentities;    /* size of parsed entities */
305df143a5041f03a22808b59c76698770b74692815Selim Gurun
306df143a5041f03a22808b59c76698770b74692815Selim Gurun    /* for use by HTML non-recursive parser */
307df143a5041f03a22808b59c76698770b74692815Selim Gurun    xmlParserNodeInfo *nodeInfo;      /* Current NodeInfo */
308df143a5041f03a22808b59c76698770b74692815Selim Gurun    int                nodeInfoNr;    /* Depth of the parsing stack */
309df143a5041f03a22808b59c76698770b74692815Selim Gurun    int                nodeInfoMax;   /* Max depth of the parsing stack */
310df143a5041f03a22808b59c76698770b74692815Selim Gurun    xmlParserNodeInfo *nodeInfoTab;   /* array of nodeInfos */
311ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
312ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
313ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
314ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlSAXLocator:
315ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
316ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * A SAX Locator.
317ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
318ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSAXLocator {
319ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *(*getPublicId)(void *ctx);
320ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    const xmlChar *(*getSystemId)(void *ctx);
321ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int (*getLineNumber)(void *ctx);
322ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    int (*getColumnNumber)(void *ctx);
323ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
324ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
325ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
326ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlSAXHandler:
327ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
328ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * A SAX handler is bunch of callbacks called by the parser when processing
329ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * of the input generate data or structure informations.
330ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
331ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
332ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
333ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * resolveEntitySAXFunc:
334ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
335ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @publicId: The public ID of the entity
336ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @systemId: The system ID of the entity
337ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
338ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Callback:
339ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The entity loader, to control the loading of external entities,
340ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the application can either:
341ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *    - override this resolveEntity() callback in the SAX block
342ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *    - or better use the xmlSetExternalEntityLoader() function to
343ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *      set up it's own entity resolution routine
344ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
345ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
346ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
347ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx,
348ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *publicId,
349ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *systemId);
350ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
351ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * internalSubsetSAXFunc:
352ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
353ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name:  the root element name
354ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ExternalID:  the external ID
355ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @SystemID:  the SYSTEM ID (e.g. filename or URL)
356ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
357ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Callback on internal subset declaration.
358ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
359ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*internalSubsetSAXFunc) (void *ctx,
360ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name,
361ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *ExternalID,
362ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *SystemID);
363ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
364ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * externalSubsetSAXFunc:
365ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
366ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name:  the root element name
367ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ExternalID:  the external ID
368ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @SystemID:  the SYSTEM ID (e.g. filename or URL)
369ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
370ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Callback on external subset declaration.
371ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
372ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*externalSubsetSAXFunc) (void *ctx,
373ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name,
374ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *ExternalID,
375ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *SystemID);
376ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
377ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * getEntitySAXFunc:
378ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
379ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name: The entity name
380ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
381ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Get an entity by name.
382ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
383ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Returns the xmlEntityPtr if found.
384ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
385ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx,
386ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name);
387ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
388ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * getParameterEntitySAXFunc:
389ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
390ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name: The entity name
391ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
392ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Get a parameter entity by name.
393ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
394ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Returns the xmlEntityPtr if found.
395ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
396ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx,
397ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name);
398ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
399ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * entityDeclSAXFunc:
400ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
401ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name:  the entity name
402ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @type:  the entity type
403ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @publicId: The public ID of the entity
404ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @systemId: The system ID of the entity
405ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @content: the entity value (without processing).
406ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
407ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * An entity definition has been parsed.
408ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
409ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*entityDeclSAXFunc) (void *ctx,
410ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name,
411ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				int type,
412ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *publicId,
413ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *systemId,
414ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				xmlChar *content);
415ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
416ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * notationDeclSAXFunc:
417ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
418ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name: The name of the notation
419ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @publicId: The public ID of the entity
420ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @systemId: The system ID of the entity
421ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
422ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * What to do when a notation declaration has been parsed.
423ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
424ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*notationDeclSAXFunc)(void *ctx,
425ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name,
426ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *publicId,
427ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *systemId);
428ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
429ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * attributeDeclSAXFunc:
430ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
431ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @elem:  the name of the element
432ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @fullname:  the attribute name
433ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @type:  the attribute type
434ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @def:  the type of default value
435ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @defaultValue: the attribute default value
436ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @tree:  the tree of enumerated value set
437ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
438ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * An attribute definition has been parsed.
439ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
440ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*attributeDeclSAXFunc)(void *ctx,
441ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *elem,
442ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *fullname,
443ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				int type,
444ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				int def,
445ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *defaultValue,
446ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				xmlEnumerationPtr tree);
447ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
448ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * elementDeclSAXFunc:
449ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
450ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name:  the element name
451ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @type:  the element type
452ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @content: the element value tree
453ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
454ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * An element definition has been parsed.
455ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
456ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*elementDeclSAXFunc)(void *ctx,
457ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name,
458ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				int type,
459ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				xmlElementContentPtr content);
460ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
461ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * unparsedEntityDeclSAXFunc:
462ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
463ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name: The name of the entity
464ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @publicId: The public ID of the entity
465ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @systemId: The system ID of the entity
466ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @notationName: the name of the notation
467ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
468ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * What to do when an unparsed entity declaration is parsed.
469ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
470ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*unparsedEntityDeclSAXFunc)(void *ctx,
471ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name,
472ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *publicId,
473ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *systemId,
474ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *notationName);
475ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
476ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * setDocumentLocatorSAXFunc:
477ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
478ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @loc: A SAX Locator
479ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
480ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Receive the document locator at startup, actually xmlDefaultSAXLocator.
481ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Everything is available on the context, so this is useless in our case.
482ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
483ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*setDocumentLocatorSAXFunc) (void *ctx,
484ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				xmlSAXLocatorPtr loc);
485ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
486ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * startDocumentSAXFunc:
487ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
488ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
489ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Called when the document start being processed.
490ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
491ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*startDocumentSAXFunc) (void *ctx);
492ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
493ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * endDocumentSAXFunc:
494ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
495ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
496ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Called when the document end has been detected.
497ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
498ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*endDocumentSAXFunc) (void *ctx);
499ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
500ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * startElementSAXFunc:
501ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
502ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name:  The element name, including namespace prefix
503ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @atts:  An array of name/value attributes pairs, NULL terminated
504ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
505ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Called when an opening tag has been processed.
506ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
507ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*startElementSAXFunc) (void *ctx,
508ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name,
509ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar **atts);
510ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
511ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * endElementSAXFunc:
512ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
513ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name:  The element name
514ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
515ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Called when the end of an element has been detected.
516ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
517ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*endElementSAXFunc) (void *ctx,
518ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name);
519ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
520ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * attributeSAXFunc:
521ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
522ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name:  The attribute name, including namespace prefix
523ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @value:  The attribute value
524ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
525ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Handle an attribute that has been read by the parser.
526ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The default handling is to convert the attribute into an
527ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * DOM subtree and past it in a new xmlAttr element added to
528ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the element.
529ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
530ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*attributeSAXFunc) (void *ctx,
531ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name,
532ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *value);
533ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
534ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * referenceSAXFunc:
535ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
536ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @name:  The entity name
537ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
538ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Called when an entity reference is detected.
539ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
540ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*referenceSAXFunc) (void *ctx,
541ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *name);
542ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
543ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * charactersSAXFunc:
544ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
545ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ch:  a xmlChar string
546ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @len: the number of xmlChar
547ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
548ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Receiving some chars from the parser.
549ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
550ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*charactersSAXFunc) (void *ctx,
551ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *ch,
552ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				int len);
553ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
554ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * ignorableWhitespaceSAXFunc:
555ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
556ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ch:  a xmlChar string
557ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @len: the number of xmlChar
558ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
559ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Receiving some ignorable whitespaces from the parser.
560ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * UNUSED: by default the DOM building will use characters.
561ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
562ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*ignorableWhitespaceSAXFunc) (void *ctx,
563ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *ch,
564ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				int len);
565ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
566ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * processingInstructionSAXFunc:
567ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
568ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @target:  the target name
569ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @data: the PI data's
570ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
571ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * A processing instruction has been parsed.
572ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
573ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*processingInstructionSAXFunc) (void *ctx,
574ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *target,
575ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *data);
576ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
577ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * commentSAXFunc:
578ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
579ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @value:  the comment content
580ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
581ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * A comment has been parsed.
582ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
583ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*commentSAXFunc) (void *ctx,
584ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *value);
585ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
586ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * cdataBlockSAXFunc:
587ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
588ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @value:  The pcdata content
589ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @len:  the block length
590ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
591ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Called when a pcdata block has been parsed.
592ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
593ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*cdataBlockSAXFunc) (
594ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project	                        void *ctx,
595ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				const xmlChar *value,
596ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				int len);
597ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
598ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * warningSAXFunc:
599ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  an XML parser context
600ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @msg:  the message to display/transmit
601ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @...:  extra parameters for the message display
602ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
603ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Display and format a warning messages, callback.
604ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
605ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (XMLCDECL *warningSAXFunc) (void *ctx,
606df143a5041f03a22808b59c76698770b74692815Selim Gurun				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
607ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
608ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * errorSAXFunc:
609ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  an XML parser context
610ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @msg:  the message to display/transmit
611ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @...:  extra parameters for the message display
612ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
613ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Display and format an error messages, callback.
614ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
615ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (XMLCDECL *errorSAXFunc) (void *ctx,
616df143a5041f03a22808b59c76698770b74692815Selim Gurun				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
617ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
618ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * fatalErrorSAXFunc:
619ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  an XML parser context
620ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @msg:  the message to display/transmit
621ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @...:  extra parameters for the message display
622ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
623ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Display and format fatal error messages, callback.
624ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Note: so far fatalError() SAX callbacks are not used, error()
625ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *       get all the callbacks for errors.
626ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
627ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (XMLCDECL *fatalErrorSAXFunc) (void *ctx,
628df143a5041f03a22808b59c76698770b74692815Selim Gurun				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
629ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
630ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * isStandaloneSAXFunc:
631ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
632ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
633ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Is this document tagged standalone?
634ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
635ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Returns 1 if true
636ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
637ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef int (*isStandaloneSAXFunc) (void *ctx);
638ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
639ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * hasInternalSubsetSAXFunc:
640ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
641ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
642ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Does this document has an internal subset.
643ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
644ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Returns 1 if true
645ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
646ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef int (*hasInternalSubsetSAXFunc) (void *ctx);
647ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
648ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
649ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * hasExternalSubsetSAXFunc:
650ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
651ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
652ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Does this document has an external subset?
653ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
654ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Returns 1 if true
655ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
656ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef int (*hasExternalSubsetSAXFunc) (void *ctx);
657ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
658ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/************************************************************************
659ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *									*
660ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *			The SAX version 2 API extensions		*
661ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *									*
662ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project ************************************************************************/
663ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
664ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SAX2_MAGIC:
665ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
666ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Special constant found in SAX2 blocks initialized fields
667ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
668ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SAX2_MAGIC 0xDEEDBEAF
669ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
670ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
671ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * startElementNsSAX2Func:
672ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
673ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @localname:  the local name of the element
674ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @prefix:  the element namespace prefix if available
675ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @URI:  the element namespace name if available
676ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @nb_namespaces:  number of namespace definitions on that node
677ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @namespaces:  pointer to the array of prefix/URI pairs namespace definitions
678ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @nb_attributes:  the number of attributes on that node
679ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @nb_defaulted:  the number of defaulted attributes. The defaulted
680ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *                  ones are at the end of the array
681ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @attributes:  pointer to the array of (localname/prefix/URI/value/end)
682ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *               attribute values.
683ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
684ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * SAX2 callback when an element start has been detected by the parser.
685ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * It provides the namespace informations for the element, as well as
686ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * the new namespace declarations on the element.
687ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
688ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
689ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*startElementNsSAX2Func) (void *ctx,
690ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					const xmlChar *localname,
691ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					const xmlChar *prefix,
692ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					const xmlChar *URI,
693ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					int nb_namespaces,
694ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					const xmlChar **namespaces,
695ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					int nb_attributes,
696ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					int nb_defaulted,
697ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					const xmlChar **attributes);
698ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
699ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
700ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * endElementNsSAX2Func:
701ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ctx:  the user data (XML parser context)
702ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @localname:  the local name of the element
703ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @prefix:  the element namespace prefix if available
704ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @URI:  the element namespace name if available
705ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
706ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * SAX2 callback when an element end has been detected by the parser.
707ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * It provides the namespace informations for the element.
708ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
709ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
710ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef void (*endElementNsSAX2Func)   (void *ctx,
711ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					const xmlChar *localname,
712ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					const xmlChar *prefix,
713ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					const xmlChar *URI);
714ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
715ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
716ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSAXHandler {
717ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    internalSubsetSAXFunc internalSubset;
718ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    isStandaloneSAXFunc isStandalone;
719ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    hasInternalSubsetSAXFunc hasInternalSubset;
720ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    hasExternalSubsetSAXFunc hasExternalSubset;
721ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    resolveEntitySAXFunc resolveEntity;
722ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    getEntitySAXFunc getEntity;
723ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    entityDeclSAXFunc entityDecl;
724ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    notationDeclSAXFunc notationDecl;
725ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    attributeDeclSAXFunc attributeDecl;
726ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    elementDeclSAXFunc elementDecl;
727ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    unparsedEntityDeclSAXFunc unparsedEntityDecl;
728ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    setDocumentLocatorSAXFunc setDocumentLocator;
729ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    startDocumentSAXFunc startDocument;
730ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    endDocumentSAXFunc endDocument;
731ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    startElementSAXFunc startElement;
732ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    endElementSAXFunc endElement;
733ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    referenceSAXFunc reference;
734ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    charactersSAXFunc characters;
735ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    ignorableWhitespaceSAXFunc ignorableWhitespace;
736ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    processingInstructionSAXFunc processingInstruction;
737ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    commentSAXFunc comment;
738ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    warningSAXFunc warning;
739ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    errorSAXFunc error;
740ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
741ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    getParameterEntitySAXFunc getParameterEntity;
742ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    cdataBlockSAXFunc cdataBlock;
743ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    externalSubsetSAXFunc externalSubset;
744ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    unsigned int initialized;
745ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    /* The following fields are extensions available only on version 2 */
746ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    void *_private;
747ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    startElementNsSAX2Func startElementNs;
748ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    endElementNsSAX2Func endElementNs;
749ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    xmlStructuredErrorFunc serror;
750ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
751ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
752ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
753ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * SAX Version 1
754ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
755ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1;
756ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr;
757ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectstruct _xmlSAXHandlerV1 {
758ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    internalSubsetSAXFunc internalSubset;
759ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    isStandaloneSAXFunc isStandalone;
760ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    hasInternalSubsetSAXFunc hasInternalSubset;
761ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    hasExternalSubsetSAXFunc hasExternalSubset;
762ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    resolveEntitySAXFunc resolveEntity;
763ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    getEntitySAXFunc getEntity;
764ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    entityDeclSAXFunc entityDecl;
765ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    notationDeclSAXFunc notationDecl;
766ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    attributeDeclSAXFunc attributeDecl;
767ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    elementDeclSAXFunc elementDecl;
768ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    unparsedEntityDeclSAXFunc unparsedEntityDecl;
769ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    setDocumentLocatorSAXFunc setDocumentLocator;
770ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    startDocumentSAXFunc startDocument;
771ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    endDocumentSAXFunc endDocument;
772ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    startElementSAXFunc startElement;
773ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    endElementSAXFunc endElement;
774ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    referenceSAXFunc reference;
775ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    charactersSAXFunc characters;
776ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    ignorableWhitespaceSAXFunc ignorableWhitespace;
777ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    processingInstructionSAXFunc processingInstruction;
778ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    commentSAXFunc comment;
779ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    warningSAXFunc warning;
780ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    errorSAXFunc error;
781ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
782ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    getParameterEntitySAXFunc getParameterEntity;
783ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    cdataBlockSAXFunc cdataBlock;
784ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    externalSubsetSAXFunc externalSubset;
785ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    unsigned int initialized;
786ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project};
787ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
788ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
789ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
790ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlExternalEntityLoader:
791ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @URL: The System ID of the resource requested
792ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ID: The Public ID of the resource requested
793ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @context: the XML parser context
794ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
795ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * External entity loaders types.
796ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
797ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Returns the entity input parser.
798ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
799ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL,
800ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *ID,
801ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlParserCtxtPtr context);
802ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
803ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus
804ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project}
805ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
806ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
807ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/encoding.h>
808ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/xmlIO.h>
809ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/globals.h>
810ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
811ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus
812ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectextern "C" {
813ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
814ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
815ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
816ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
817ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Init/Cleanup
818ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
819ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
820ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlInitParser		(void);
821ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
822ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCleanupParser	(void);
823ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
824ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
825ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Input functions
826ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
827ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
828ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParserInputRead	(xmlParserInputPtr in,
829ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int len);
830ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
831ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParserInputGrow	(xmlParserInputPtr in,
832ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int len);
833ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
834ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
835ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Basic parsing Interfaces
836ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
837ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_SAX1_ENABLED
838ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
839ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseDoc		(const xmlChar *cur);
840ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
841ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseFile		(const char *filename);
842ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
843ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseMemory		(const char *buffer,
844ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int size);
845ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_SAX1_ENABLED */
846ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
847ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSubstituteEntitiesDefault(int val);
848ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
849ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlKeepBlanksDefault	(int val);
850ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
851ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlStopParser		(xmlParserCtxtPtr ctxt);
852ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
853ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlPedanticParserDefault(int val);
854ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
855ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlLineNumbersDefault	(int val);
856ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
857ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_SAX1_ENABLED
858ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
859ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Recovery mode
860ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
861ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
862df143a5041f03a22808b59c76698770b74692815Selim Gurun		xmlRecoverDoc		(const xmlChar *cur);
863ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
864ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlRecoverMemory	(const char *buffer,
865ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int size);
866ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
867ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlRecoverFile		(const char *filename);
868ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_SAX1_ENABLED */
869ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
870ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
871ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Less common routines and SAX interfaces
872ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
873ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
874ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseDocument	(xmlParserCtxtPtr ctxt);
875ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
876ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseExtParsedEnt	(xmlParserCtxtPtr ctxt);
877ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_SAX1_ENABLED
878ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
879ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSAXUserParseFile	(xmlSAXHandlerPtr sax,
880ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *user_data,
881ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *filename);
882ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
883ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSAXUserParseMemory	(xmlSAXHandlerPtr sax,
884ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *user_data,
885ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *buffer,
886ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int size);
887ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
888ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSAXParseDoc		(xmlSAXHandlerPtr sax,
889ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar *cur,
890ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int recovery);
891ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
892ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSAXParseMemory	(xmlSAXHandlerPtr sax,
893ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *buffer,
894ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                                   	 int size,
895ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int recovery);
896ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
897ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax,
898ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *buffer,
899ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                                   	 int size,
900ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int recovery,
901ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *data);
902ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
903ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSAXParseFile		(xmlSAXHandlerPtr sax,
904ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *filename,
905ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int recovery);
906ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
907ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSAXParseFileWithData	(xmlSAXHandlerPtr sax,
908ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *filename,
909ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int recovery,
910ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *data);
911ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
912ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSAXParseEntity	(xmlSAXHandlerPtr sax,
913ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *filename);
914ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
915ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseEntity		(const char *filename);
916ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_SAX1_ENABLED */
917ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
918ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_VALID_ENABLED
919ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDtdPtr XMLCALL
920ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSAXParseDTD		(xmlSAXHandlerPtr sax,
921ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar *ExternalID,
922ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar *SystemID);
923ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDtdPtr XMLCALL
924ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseDTD		(const xmlChar *ExternalID,
925ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar *SystemID);
926ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDtdPtr XMLCALL
927ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlIOParseDTD		(xmlSAXHandlerPtr sax,
928ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlParserInputBufferPtr input,
929ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlCharEncoding enc);
930ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_VALID_ENABLE */
931ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_SAX1_ENABLED
932ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
933ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseBalancedChunkMemory(xmlDocPtr doc,
934ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlSAXHandlerPtr sax,
935ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *user_data,
936ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int depth,
937ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar *string,
938ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlNodePtr *lst);
939ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_SAX1_ENABLED */
940ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlParserErrors XMLCALL
941ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseInNodeContext	(xmlNodePtr node,
942ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *data,
943ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int datalen,
944ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options,
945ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlNodePtr *lst);
946ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_SAX1_ENABLED
947ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
948ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc,
949ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                     xmlSAXHandlerPtr sax,
950ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                     void *user_data,
951ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                     int depth,
952ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                     const xmlChar *string,
953ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                     xmlNodePtr *lst,
954ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                     int recover);
955ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
956ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseExternalEntity	(xmlDocPtr doc,
957ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlSAXHandlerPtr sax,
958ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *user_data,
959ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int depth,
960ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar *URL,
961ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar *ID,
962ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlNodePtr *lst);
963ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_SAX1_ENABLED */
964ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
965ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx,
966ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar *URL,
967ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar *ID,
968ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlNodePtr *lst);
969ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
970ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
971ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Parser contexts handling.
972ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
973ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlParserCtxtPtr XMLCALL
974ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlNewParserCtxt	(void);
975ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
976ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlInitParserCtxt	(xmlParserCtxtPtr ctxt);
977ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
978ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlClearParserCtxt	(xmlParserCtxtPtr ctxt);
979ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
980ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlFreeParserCtxt	(xmlParserCtxtPtr ctxt);
981ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_SAX1_ENABLED
982ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
983ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSetupParserForBuffer	(xmlParserCtxtPtr ctxt,
984ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar* buffer,
985ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *filename);
986ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_SAX1_ENABLED */
987ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlParserCtxtPtr XMLCALL
988ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCreateDocParserCtxt	(const xmlChar *cur);
989ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
990ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_LEGACY_ENABLED
991ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
992ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Reading/setting optional parsing features.
993ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
994ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
995ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlGetFeaturesList	(int *len,
996ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char **result);
997ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
998ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlGetFeature		(xmlParserCtxtPtr ctxt,
999ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *name,
1000ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *result);
1001ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
1002ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSetFeature		(xmlParserCtxtPtr ctxt,
1003ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *name,
1004ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *value);
1005ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_LEGACY_ENABLED */
1006ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1007ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_PUSH_ENABLED
1008ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
1009ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Interfaces for the Push mode.
1010ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
1011ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlParserCtxtPtr XMLCALL
1012ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
1013ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *user_data,
1014ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *chunk,
1015ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int size,
1016ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *filename);
1017ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
1018ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParseChunk		(xmlParserCtxtPtr ctxt,
1019ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *chunk,
1020ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int size,
1021ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int terminate);
1022ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_PUSH_ENABLED */
1023ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1024ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
1025ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Special I/O mode.
1026ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
1027ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1028ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlParserCtxtPtr XMLCALL
1029ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCreateIOParserCtxt	(xmlSAXHandlerPtr sax,
1030ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *user_data,
1031ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlInputReadCallback   ioread,
1032ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlInputCloseCallback  ioclose,
1033ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *ioctx,
1034ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlCharEncoding enc);
1035ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1036ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlParserInputPtr XMLCALL
1037ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlNewIOInputStream	(xmlParserCtxtPtr ctxt,
1038ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlParserInputBufferPtr input,
1039ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlCharEncoding enc);
1040ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1041ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
1042ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Node infos.
1043ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
1044ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN const xmlParserNodeInfo* XMLCALL
1045ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParserFindNodeInfo	(const xmlParserCtxtPtr ctxt,
1046ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				         const xmlNodePtr node);
1047ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
1048ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlInitNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
1049ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
1050ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlClearNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
1051ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN unsigned long XMLCALL
1052ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq,
1053ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                                         const xmlNodePtr node);
1054ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
1055ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlParserAddNodeInfo	(xmlParserCtxtPtr ctxt,
1056ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlParserNodeInfoPtr info);
1057ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1058ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
1059ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * External entities handling actually implemented in xmlIO.
1060ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
1061ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1062ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
1063ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlSetExternalEntityLoader(xmlExternalEntityLoader f);
1064ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlExternalEntityLoader XMLCALL
1065ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlGetExternalEntityLoader(void);
1066ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlParserInputPtr XMLCALL
1067ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlLoadExternalEntity	(const char *URL,
1068ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *ID,
1069ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlParserCtxtPtr ctxt);
1070ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1071ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
1072ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Index lookup, actually implemented in the encoding module
1073ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
1074ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN long XMLCALL
1075ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlByteConsumed		(xmlParserCtxtPtr ctxt);
1076ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1077ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
1078ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * New set of simpler/more flexible APIs
1079ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
1080ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
1081ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlParserOption:
1082ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
1083ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * This is the set of XML parser options that can be passed down
1084ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * to the xmlReadDoc() and similar calls.
1085ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
1086ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef enum {
1087ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_RECOVER	= 1<<0,	/* recover on errors */
1088ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_NOENT	= 1<<1,	/* substitute entities */
1089ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_DTDLOAD	= 1<<2,	/* load the external subset */
1090ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_DTDATTR	= 1<<3,	/* default DTD attributes */
1091ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_DTDVALID	= 1<<4,	/* validate with the DTD */
1092ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_NOERROR	= 1<<5,	/* suppress error reports */
1093ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_NOWARNING	= 1<<6,	/* suppress warning reports */
1094ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_PEDANTIC	= 1<<7,	/* pedantic error reporting */
1095ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_NOBLANKS	= 1<<8,	/* remove blank nodes */
1096ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_SAX1	= 1<<9,	/* use the SAX1 interface internally */
1097ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_XINCLUDE	= 1<<10,/* Implement XInclude substitition  */
1098ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_NONET	= 1<<11,/* Forbid network access */
1099ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_NODICT	= 1<<12,/* Do not reuse the context dictionnary */
1100ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_NSCLEAN	= 1<<13,/* remove redundant namespaces declarations */
1101ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_NOCDATA	= 1<<14,/* merge CDATA as text nodes */
1102ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_PARSE_NOXINCNODE= 1<<15,/* do not generate XINCLUDE START/END nodes */
110360a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott    XML_PARSE_COMPACT   = 1<<16,/* compact small text nodes; no modification of
1104ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                                   the tree allowed afterwards (will possibly
1105ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				   crash if you try to modify the tree) */
110660a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott    XML_PARSE_OLD10	= 1<<17,/* parse using XML-1.0 before update 5 */
110760a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott    XML_PARSE_NOBASEFIX = 1<<18,/* do not fixup XINCLUDE xml:base uris */
1108df143a5041f03a22808b59c76698770b74692815Selim Gurun    XML_PARSE_HUGE      = 1<<19,/* relax any hardcoded limit from the parser */
1109df143a5041f03a22808b59c76698770b74692815Selim Gurun    XML_PARSE_OLDSAX    = 1<<20,/* parse using SAX2 interface before 2.7.0 */
1110df143a5041f03a22808b59c76698770b74692815Selim Gurun    XML_PARSE_IGNORE_ENC= 1<<21 /* ignore internal document encoding hint */
1111ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project} xmlParserOption;
1112ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1113ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
1114ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCtxtReset		(xmlParserCtxtPtr ctxt);
1115ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
1116ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCtxtResetPush	(xmlParserCtxtPtr ctxt,
1117ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *chunk,
1118ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int size,
1119ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *filename,
1120ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *encoding);
1121ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
1122ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCtxtUseOptions	(xmlParserCtxtPtr ctxt,
1123ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options);
1124ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
1125ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlReadDoc		(const xmlChar *cur,
1126ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *URL,
1127ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *encoding,
1128ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options);
1129ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
1130ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlReadFile		(const char *URL,
1131ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *encoding,
1132ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options);
1133ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
1134ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlReadMemory		(const char *buffer,
1135ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int size,
1136ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *URL,
1137ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *encoding,
1138ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options);
1139ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
1140ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlReadFd		(int fd,
1141ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *URL,
1142ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *encoding,
1143ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options);
1144ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
1145ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlReadIO		(xmlInputReadCallback ioread,
1146ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlInputCloseCallback ioclose,
1147ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *ioctx,
1148ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *URL,
1149ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *encoding,
1150ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options);
1151ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
1152ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCtxtReadDoc		(xmlParserCtxtPtr ctxt,
1153ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar *cur,
1154ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *URL,
1155ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *encoding,
1156ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options);
1157ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
1158ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCtxtReadFile		(xmlParserCtxtPtr ctxt,
1159ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *filename,
1160ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *encoding,
1161ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options);
1162ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
1163ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCtxtReadMemory		(xmlParserCtxtPtr ctxt,
1164ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *buffer,
1165ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int size,
1166ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *URL,
1167ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *encoding,
1168ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options);
1169ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
1170ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCtxtReadFd		(xmlParserCtxtPtr ctxt,
1171ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int fd,
1172ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *URL,
1173ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *encoding,
1174ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options);
1175ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDocPtr XMLCALL
1176ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlCtxtReadIO		(xmlParserCtxtPtr ctxt,
1177ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlInputReadCallback ioread,
1178ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlInputCloseCallback ioclose,
1179ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 void *ioctx,
1180ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *URL,
1181ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const char *encoding,
1182ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 int options);
1183ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1184ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
1185ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Library wide options
1186ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
1187ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
1188ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlFeature:
1189ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
1190ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Used to examine the existance of features that can be enabled
1191ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * or disabled at compile-time.
1192ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * They used to be called XML_FEATURE_xxx but this clashed with Expat
1193ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
1194ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef enum {
1195ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_THREAD = 1,
1196ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_TREE = 2,
1197ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_OUTPUT = 3,
1198ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_PUSH = 4,
1199ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_READER = 5,
1200ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_PATTERN = 6,
1201ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_WRITER = 7,
1202ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_SAX1 = 8,
1203ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_FTP = 9,
1204ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_HTTP = 10,
1205ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_VALID = 11,
1206ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_HTML = 12,
1207ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_LEGACY = 13,
1208ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_C14N = 14,
1209ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_CATALOG = 15,
1210ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_XPATH = 16,
1211ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_XPTR = 17,
1212ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_XINCLUDE = 18,
1213ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_ICONV = 19,
1214ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_ISO8859X = 20,
1215ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_UNICODE = 21,
1216ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_REGEXP = 22,
1217ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_AUTOMATA = 23,
1218ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_EXPR = 24,
1219ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_SCHEMAS = 25,
1220ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_SCHEMATRON = 26,
1221ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_MODULES = 27,
1222ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_DEBUG = 28,
1223ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_DEBUG_MEM = 29,
1224ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_DEBUG_RUN = 30,
1225ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_ZLIB = 31,
1226218647ebd721a259319b28f5719e89a4d0d1aaefShimeng (Simon) Wang    XML_WITH_ICU = 32,
1227df143a5041f03a22808b59c76698770b74692815Selim Gurun    XML_WITH_LZMA = 33,
1228ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    XML_WITH_NONE = 99999 /* just to be sure of allocation size */
1229ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project} xmlFeature;
1230ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1231ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
1232ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlHasFeature		(xmlFeature feature);
1233ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1234ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus
1235ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project}
1236ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
1237ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* __XML_PARSER_H__ */
1238