1ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
294442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * Summary: internals routines and limits exported by the parser.
3ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Description: this module exports a number of internal parsing routines
4ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *              they are not really all intended for applications but
5ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *              can prove useful doing low level processing.
6ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
7ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Copy: See Copyright for the status of this software.
8ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
9ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Author: Daniel Veillard
10ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
11ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
12ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifndef __XML_PARSER_INTERNALS_H__
13ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define __XML_PARSER_INTERNALS_H__
14ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
15ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/xmlversion.h>
16ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/parser.h>
17ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/HTMLparser.h>
18ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/chvalid.h>
19ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
20ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus
21ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectextern "C" {
22ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
23ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
24ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
25ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlParserMaxDepth:
26ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
2760a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * arbitrary depth limit for the XML documents that we allow to
2860a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * process. This is not a limitation of the parser but a safety
2960a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * boundary feature, use XML_PARSE_HUGE option to override it.
30ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
31ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBVAR unsigned int xmlParserMaxDepth;
32ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
3360a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott/**
3460a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * XML_MAX_TEXT_LENGTH:
3560a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott *
3660a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * Maximum size allowed for a single text node when building a tree.
3760a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * This is not a limitation of the parser but a safety boundary feature,
3860a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * use XML_PARSE_HUGE option to override it.
3994442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * Introduced in 2.9.0
4060a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott */
4160a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott#define XML_MAX_TEXT_LENGTH 10000000
4260a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott
4360a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott/**
4494442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * XML_MAX_NAME_LENGTH:
4594442ad4107000e6d49f9b85a46a591495a57632Selim Gurun *
4694442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * Maximum size allowed for a markup identitier
4794442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * This is not a limitation of the parser but a safety boundary feature,
4894442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * use XML_PARSE_HUGE option to override it.
4994442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * Note that with the use of parsing dictionaries overriding the limit
5094442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * may result in more runtime memory usage in face of "unfriendly' content
5194442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * Introduced in 2.9.0
5294442ad4107000e6d49f9b85a46a591495a57632Selim Gurun */
5394442ad4107000e6d49f9b85a46a591495a57632Selim Gurun#define XML_MAX_NAME_LENGTH 50000
5494442ad4107000e6d49f9b85a46a591495a57632Selim Gurun
5594442ad4107000e6d49f9b85a46a591495a57632Selim Gurun/**
5694442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * XML_MAX_DICTIONARY_LIMIT:
5794442ad4107000e6d49f9b85a46a591495a57632Selim Gurun *
5894442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * Maximum size allowed by the parser for a dictionary by default
5994442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * This is not a limitation of the parser but a safety boundary feature,
6094442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * use XML_PARSE_HUGE option to override it.
6194442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * Introduced in 2.9.0
6294442ad4107000e6d49f9b85a46a591495a57632Selim Gurun */
6394442ad4107000e6d49f9b85a46a591495a57632Selim Gurun#define XML_MAX_DICTIONARY_LIMIT 10000000
6494442ad4107000e6d49f9b85a46a591495a57632Selim Gurun
6594442ad4107000e6d49f9b85a46a591495a57632Selim Gurun/**
6694442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * XML_MAX_LOOKUP_LIMIT:
6794442ad4107000e6d49f9b85a46a591495a57632Selim Gurun *
6894442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * Maximum size allowed by the parser for ahead lookup
6994442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * This is an upper boundary enforced by the parser to avoid bad
7094442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * behaviour on "unfriendly' content
7194442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * Introduced in 2.9.0
7294442ad4107000e6d49f9b85a46a591495a57632Selim Gurun */
7394442ad4107000e6d49f9b85a46a591495a57632Selim Gurun#define XML_MAX_LOOKUP_LIMIT 10000000
7494442ad4107000e6d49f9b85a46a591495a57632Selim Gurun
7594442ad4107000e6d49f9b85a46a591495a57632Selim Gurun/**
7660a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * XML_MAX_NAMELEN:
7760a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott *
7860a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * Identifiers can be longer, but this will be more costly
7960a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott * at runtime.
8060a4c356ee9ce5e9ccb23347c0381f0436192691Patrick Scott */
81ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_MAX_NAMELEN 100
82ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
83ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
84ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * INPUT_CHUNK:
85ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
86ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The parser tries to always have that amount of input ready.
87ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * One of the point is providing context when reporting errors.
88ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
89ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define INPUT_CHUNK	250
90ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
91ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/************************************************************************
92ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *									*
9394442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * UNICODE version of the macros.					*
94ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *									*
95ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project ************************************************************************/
96ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
97ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_BYTE_CHAR:
98ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an byte value (int)
99ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
100ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check the following production in the XML spec:
101ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
102ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * [2] Char ::= #x9 | #xA | #xD | [#x20...]
103ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * any byte character in the accepted range
104ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
105ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_BYTE_CHAR(c)	 xmlIsChar_ch(c)
106ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
107ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
108ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_CHAR:
109ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an UNICODE value (int)
110ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
111ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check the following production in the XML spec:
112ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
113ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
114ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *                  | [#x10000-#x10FFFF]
115ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
116ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
117ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_CHAR(c)   xmlIsCharQ(c)
118ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
119ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
120ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_CHAR_CH:
121ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c: an xmlChar (usually an unsigned char)
122ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
123ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Behaves like IS_CHAR on single-byte value
124ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
125ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_CHAR_CH(c)  xmlIsChar_ch(c)
126ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
127ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
128ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_BLANK:
129ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an UNICODE value (int)
130ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
131ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check the following production in the XML spec:
132ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
133ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * [3] S ::= (#x20 | #x9 | #xD | #xA)+
134ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
135ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_BLANK(c)  xmlIsBlankQ(c)
136ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
137ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
138ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_BLANK_CH:
139ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an xmlChar value (normally unsigned char)
140ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
141ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Behaviour same as IS_BLANK
142ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
143ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_BLANK_CH(c)  xmlIsBlank_ch(c)
144ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
145ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
146ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_BASECHAR:
147ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an UNICODE value (int)
148ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
149ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check the following production in the XML spec:
150ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
151ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * [85] BaseChar ::= ... long list see REC ...
152ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
153ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_BASECHAR(c) xmlIsBaseCharQ(c)
154ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
155ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
156ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_DIGIT:
157ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an UNICODE value (int)
158ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
159ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check the following production in the XML spec:
160ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
161ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * [88] Digit ::= ... long list see REC ...
162ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
163ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_DIGIT(c) xmlIsDigitQ(c)
164ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
165ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
166ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_DIGIT_CH:
167ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an xmlChar value (usually an unsigned char)
168ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
169ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Behaves like IS_DIGIT but with a single byte argument
170ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
171ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_DIGIT_CH(c)  xmlIsDigit_ch(c)
172ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
173ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
174ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_COMBINING:
175ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an UNICODE value (int)
176ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
177ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check the following production in the XML spec:
178ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
179ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * [87] CombiningChar ::= ... long list see REC ...
180ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
181ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_COMBINING(c) xmlIsCombiningQ(c)
182ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
183ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
184ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_COMBINING_CH:
185ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an xmlChar (usually an unsigned char)
186ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
187ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Always false (all combining chars > 0xff)
188ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
18994442ad4107000e6d49f9b85a46a591495a57632Selim Gurun#define IS_COMBINING_CH(c) 0
190ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
191ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
192ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_EXTENDER:
193ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an UNICODE value (int)
194ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
195ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check the following production in the XML spec:
196ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
197ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
198ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 |
199ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *                   #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] |
200ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *                   [#x309D-#x309E] | [#x30FC-#x30FE]
201ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
202ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_EXTENDER(c) xmlIsExtenderQ(c)
203ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
204ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
205ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_EXTENDER_CH:
206ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an xmlChar value (usually an unsigned char)
207ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
208ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Behaves like IS_EXTENDER but with a single-byte argument
209ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
210ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_EXTENDER_CH(c)  xmlIsExtender_ch(c)
211ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
212ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
213ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_IDEOGRAPHIC:
214ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an UNICODE value (int)
215ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
216ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check the following production in the XML spec:
217ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
218ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
219ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
220ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
221ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c)
222ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
223ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
224ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_LETTER:
225ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an UNICODE value (int)
226ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
227ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check the following production in the XML spec:
228ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
229ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
23094442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * [84] Letter ::= BaseChar | Ideographic
231ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
232ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))
233ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
234ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
235ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_LETTER_CH:
236ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an xmlChar value (normally unsigned char)
237ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
238ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro behaves like IS_LETTER, but only check base chars
239ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
240ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
241ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c)
242ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
243ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
244ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_ASCII_LETTER:
245ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c: an xmlChar value
246ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
247ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check [a-zA-Z]
248ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
249ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
250ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_ASCII_LETTER(c)	(((0x41 <= (c)) && ((c) <= 0x5a)) || \
251ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				 ((0x61 <= (c)) && ((c) <= 0x7a)))
252ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
253ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
254ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_ASCII_DIGIT:
255ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c: an xmlChar value
256ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
257ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check [0-9]
258ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
259ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
260ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_ASCII_DIGIT(c)	((0x30 <= (c)) && ((c) <= 0x39))
261ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
262ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
263ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_PUBIDCHAR:
264ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an UNICODE value (int)
265ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
266ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Macro to check the following production in the XML spec:
267ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
268ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
269ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]
270ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
271ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_PUBIDCHAR(c)	xmlIsPubidCharQ(c)
272ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
273ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
274ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * IS_PUBIDCHAR_CH:
275ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @c:  an xmlChar value (normally unsigned char)
276ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
277ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Same as IS_PUBIDCHAR but for single-byte value
278ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
279ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c)
280ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
281ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
282ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * SKIP_EOL:
283ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @p:  and UTF8 string pointer
284ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
285ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Skips the end of line chars.
286ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
28794442ad4107000e6d49f9b85a46a591495a57632Selim Gurun#define SKIP_EOL(p)							\
288ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    if (*(p) == 0x13) { p++ ; if (*(p) == 0x10) p++; }			\
289ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    if (*(p) == 0x10) { p++ ; if (*(p) == 0x13) p++; }
290ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
291ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
292ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * MOVETO_ENDTAG:
293ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @p:  and UTF8 string pointer
294ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
295ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Skips to the next '>' char.
296ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
297ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define MOVETO_ENDTAG(p)						\
298ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    while ((*p) && (*(p) != '>')) (p)++
299ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
300ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
301ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * MOVETO_STARTTAG:
302ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @p:  and UTF8 string pointer
303ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
304ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Skips to the next '<' char.
305ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
306ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define MOVETO_STARTTAG(p)						\
307ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project    while ((*p) && (*(p) != '<')) (p)++
308ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
309ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
310ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Global variables used for predefined strings.
311ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
312ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBVAR const xmlChar xmlStringText[];
313ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBVAR const xmlChar xmlStringTextNoenc[];
314ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBVAR const xmlChar xmlStringComment[];
315ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
316ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
317ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Function to finish the work of the macros where needed.
318ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
319ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL                   xmlIsLetter     (int c);
320ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
321ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
322ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Parser context.
323ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
32494442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlParserCtxtPtr XMLCALL
325ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlCreateFileParserCtxt	(const char *filename);
32694442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlParserCtxtPtr XMLCALL
327ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlCreateURLParserCtxt	(const char *filename,
328ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int options);
32994442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlParserCtxtPtr XMLCALL
330ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlCreateMemoryParserCtxt(const char *buffer,
331ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int size);
33294442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlParserCtxtPtr XMLCALL
333ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlCreateEntityParserCtxt(const xmlChar *URL,
334ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar *ID,
335ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar *base);
33694442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
337ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlSwitchEncoding	(xmlParserCtxtPtr ctxt,
338ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlCharEncoding enc);
33994442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
340ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlSwitchToEncoding	(xmlParserCtxtPtr ctxt,
341ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlCharEncodingHandlerPtr handler);
34294442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
343ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlSwitchInputEncoding	(xmlParserCtxtPtr ctxt,
344ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlParserInputPtr input,
345ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 xmlCharEncodingHandlerPtr handler);
346ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
347ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef IN_LIBXML
348ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/* internal error reporting */
349ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
350ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			__xmlErrEncoding	(xmlParserCtxtPtr ctxt,
351ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlParserErrors xmlerr,
352ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const char *msg,
353ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar * str1,
354ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar * str2);
355ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
356ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
357ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
358ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Input Streams.
359ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
36094442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlParserInputPtr XMLCALL
361ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlNewStringInputStream	(xmlParserCtxtPtr ctxt,
362ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar *buffer);
36394442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlParserInputPtr XMLCALL
364ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlNewEntityInputStream	(xmlParserCtxtPtr ctxt,
365ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlEntityPtr entity);
36694442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
367ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlPushInput		(xmlParserCtxtPtr ctxt,
368ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlParserInputPtr input);
36994442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar XMLCALL
370ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlPopInput		(xmlParserCtxtPtr ctxt);
37194442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
372ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlFreeInputStream	(xmlParserInputPtr input);
37394442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlParserInputPtr XMLCALL
374ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlNewInputFromFile	(xmlParserCtxtPtr ctxt,
375ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const char *filename);
37694442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlParserInputPtr XMLCALL
377ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlNewInputStream	(xmlParserCtxtPtr ctxt);
378ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
379ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
380ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Namespaces.
381ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
38294442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
383ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlSplitQName		(xmlParserCtxtPtr ctxt,
384ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar *name,
385ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar **prefix);
386ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
387ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
388ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Generic production rules.
389ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
39094442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN const xmlChar * XMLCALL
391ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseName		(xmlParserCtxtPtr ctxt);
39294442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
393ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseNmtoken		(xmlParserCtxtPtr ctxt);
39494442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
395ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseEntityValue	(xmlParserCtxtPtr ctxt,
396ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar **orig);
39794442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
398ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseAttValue	(xmlParserCtxtPtr ctxt);
39994442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
400ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseSystemLiteral	(xmlParserCtxtPtr ctxt);
40194442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
402ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParsePubidLiteral	(xmlParserCtxtPtr ctxt);
40394442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
404ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseCharData	(xmlParserCtxtPtr ctxt,
405ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int cdata);
40694442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
407ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseExternalID	(xmlParserCtxtPtr ctxt,
408ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar **publicID,
409ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int strict);
41094442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
411ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseComment		(xmlParserCtxtPtr ctxt);
41294442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN const xmlChar * XMLCALL
413ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParsePITarget	(xmlParserCtxtPtr ctxt);
41494442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
415ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParsePI		(xmlParserCtxtPtr ctxt);
41694442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
417ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseNotationDecl	(xmlParserCtxtPtr ctxt);
41894442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
419ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseEntityDecl	(xmlParserCtxtPtr ctxt);
42094442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
421ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseDefaultDecl	(xmlParserCtxtPtr ctxt,
422ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar **value);
42394442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlEnumerationPtr XMLCALL
424ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseNotationType	(xmlParserCtxtPtr ctxt);
42594442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlEnumerationPtr XMLCALL
426ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseEnumerationType	(xmlParserCtxtPtr ctxt);
42794442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
428ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseEnumeratedType	(xmlParserCtxtPtr ctxt,
429ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlEnumerationPtr *tree);
43094442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
431ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseAttributeType	(xmlParserCtxtPtr ctxt,
432ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlEnumerationPtr *tree);
43394442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
434ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
43594442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlElementContentPtr XMLCALL
436ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseElementMixedContentDecl
437ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						(xmlParserCtxtPtr ctxt,
438ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int inputchk);
43994442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlElementContentPtr XMLCALL
440ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseElementChildrenContentDecl
441ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						(xmlParserCtxtPtr ctxt,
442ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int inputchk);
44394442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
444ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseElementContentDecl(xmlParserCtxtPtr ctxt,
445ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar *name,
446ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlElementContentPtr *result);
44794442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
448ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseElementDecl	(xmlParserCtxtPtr ctxt);
44994442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
450ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseMarkupDecl	(xmlParserCtxtPtr ctxt);
45194442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
452ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseCharRef		(xmlParserCtxtPtr ctxt);
45394442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlEntityPtr XMLCALL
454ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseEntityRef	(xmlParserCtxtPtr ctxt);
45594442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
456ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseReference	(xmlParserCtxtPtr ctxt);
45794442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
458ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParsePEReference	(xmlParserCtxtPtr ctxt);
45994442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
460ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseDocTypeDecl	(xmlParserCtxtPtr ctxt);
461ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_SAX1_ENABLED
46294442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN const xmlChar * XMLCALL
463ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseAttribute	(xmlParserCtxtPtr ctxt,
464ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar **value);
46594442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN const xmlChar * XMLCALL
466ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseStartTag	(xmlParserCtxtPtr ctxt);
46794442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
468ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseEndTag		(xmlParserCtxtPtr ctxt);
469ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_SAX1_ENABLED */
47094442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
471ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseCDSect		(xmlParserCtxtPtr ctxt);
47294442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
473ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseContent		(xmlParserCtxtPtr ctxt);
47494442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
475ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseElement		(xmlParserCtxtPtr ctxt);
47694442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
477ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseVersionNum	(xmlParserCtxtPtr ctxt);
47894442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
479ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseVersionInfo	(xmlParserCtxtPtr ctxt);
48094442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
481ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseEncName		(xmlParserCtxtPtr ctxt);
48294442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN const xmlChar * XMLCALL
483ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseEncodingDecl	(xmlParserCtxtPtr ctxt);
48494442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
485ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseSDDecl		(xmlParserCtxtPtr ctxt);
48694442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
487ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseXMLDecl		(xmlParserCtxtPtr ctxt);
48894442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
489ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseTextDecl	(xmlParserCtxtPtr ctxt);
49094442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
491ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseMisc		(xmlParserCtxtPtr ctxt);
49294442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
493ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseExternalSubset	(xmlParserCtxtPtr ctxt,
494ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar *ExternalID,
49594442ad4107000e6d49f9b85a46a591495a57632Selim Gurun						 const xmlChar *SystemID);
496ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
497ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SUBSTITUTE_NONE:
498ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
499ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * If no entities need to be substituted.
500ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
501ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SUBSTITUTE_NONE	0
502ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
503ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SUBSTITUTE_REF:
504ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
505ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Whether general entities need to be substituted.
506ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
507ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SUBSTITUTE_REF	1
508ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
509ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SUBSTITUTE_PEREF:
510ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
511ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Whether parameter entities need to be substituted.
512ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
513ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define XML_SUBSTITUTE_PEREF	2
514ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
515ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * XML_SUBSTITUTE_BOTH:
516ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
517ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Both general and parameter entities need to be substituted.
518ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
51994442ad4107000e6d49f9b85a46a591495a57632Selim Gurun#define XML_SUBSTITUTE_BOTH	3
520ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
521ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlChar * XMLCALL
522ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlStringDecodeEntities		(xmlParserCtxtPtr ctxt,
523ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar *str,
524ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int what,
525ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar end,
526ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar  end2,
527ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar end3);
528ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlChar * XMLCALL
529ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlStringLenDecodeEntities	(xmlParserCtxtPtr ctxt,
530ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar *str,
531ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int len,
532ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int what,
533ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar end,
534ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar  end2,
535ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar end3);
536ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
537ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
538ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP.
539ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
540ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL			nodePush		(xmlParserCtxtPtr ctxt,
541ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlNodePtr value);
542ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlNodePtr XMLCALL		nodePop			(xmlParserCtxtPtr ctxt);
543ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL			inputPush		(xmlParserCtxtPtr ctxt,
544ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlParserInputPtr value);
545ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlParserInputPtr XMLCALL	inputPop		(xmlParserCtxtPtr ctxt);
546ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN const xmlChar * XMLCALL	namePop			(xmlParserCtxtPtr ctxt);
547ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL			namePush		(xmlParserCtxtPtr ctxt,
548ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar *value);
549ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
550ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
551ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * other commodities shared between parser.c and parserInternals.
552ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
553ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL			xmlSkipBlankChars	(xmlParserCtxtPtr ctxt);
554ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL			xmlStringCurrentChar	(xmlParserCtxtPtr ctxt,
555ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 const xmlChar *cur,
556ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int *len);
557ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL			xmlParserHandlePEReference(xmlParserCtxtPtr ctxt);
558ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL			xmlCheckLanguageID	(const xmlChar *lang);
559ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
560ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
561ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Really core function shared with HTML parser.
562ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
563ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL			xmlCurrentChar		(xmlParserCtxtPtr ctxt,
564ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int *len);
565ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL		xmlCopyCharMultiByte	(xmlChar *out,
566ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int val);
567ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL			xmlCopyChar		(int len,
568ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar *out,
569ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int val);
570ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL			xmlNextChar		(xmlParserCtxtPtr ctxt);
571ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL			xmlParserInputShrink	(xmlParserInputPtr in);
572ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
573ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_HTML_ENABLED
574ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
575ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Actually comes from the HTML parser but launched from the init stuff.
576ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
577ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL			htmlInitAutoClose	(void);
578ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN htmlParserCtxtPtr XMLCALL	htmlCreateFileParserCtxt(const char *filename,
579ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project	                                         const char *encoding);
580ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
581ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
582ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
583ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Specific function to keep track of entities references
584ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * and used by the XSLT debugger.
585ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
586ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef LIBXML_LEGACY_ENABLED
587ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
588ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * xmlEntityReferenceFunc:
589ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @ent: the entity
590ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @firstNode:  the fist node in the chunk
591ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * @lastNode:  the last nod in the chunk
592ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
593ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Callback function used when one needs to be able to track back the
594ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * provenance of a chunk of nodes inherited from an entity replacement.
595ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
596ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef	void	(*xmlEntityReferenceFunc)	(xmlEntityPtr ent,
597ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlNodePtr firstNode,
598ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlNodePtr lastNode);
59994442ad4107000e6d49f9b85a46a591495a57632Selim Gurun
600ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL		xmlSetEntityReferenceFunc	(xmlEntityReferenceFunc func);
601ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
60294442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
603ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlParseQuotedString	(xmlParserCtxtPtr ctxt);
604ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
605ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                        xmlParseNamespace       (xmlParserCtxtPtr ctxt);
60694442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
607ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlNamespaceParseNSDef	(xmlParserCtxtPtr ctxt);
60894442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
609ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlScanName		(xmlParserCtxtPtr ctxt);
61094442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
611ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlNamespaceParseNCName	(xmlParserCtxtPtr ctxt);
612ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL	xmlParserHandleReference(xmlParserCtxtPtr ctxt);
61394442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN xmlChar * XMLCALL
614ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlNamespaceParseQName	(xmlParserCtxtPtr ctxt,
615ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar **prefix);
616ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/**
617ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Entities
618ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
619ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlChar * XMLCALL
620ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		xmlDecodeEntities		(xmlParserCtxtPtr ctxt,
621ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int len,
622ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 int what,
623ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar end,
624ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar  end2,
625ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlChar end3);
62694442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
627ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlHandleEntity		(xmlParserCtxtPtr ctxt,
628ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project						 xmlEntityPtr entity);
629ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
630ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* LIBXML_LEGACY_ENABLED */
631ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
632ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef IN_LIBXML
633ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
634ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * internal only
635ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
636ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
637ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project	xmlErrMemory		(xmlParserCtxtPtr ctxt,
638ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project				 const char *extra);
639ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
640ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
641ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus
642ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project}
643ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
644ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* __XML_PARSER_INTERNALS_H__ */
645