Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/expat/src/xmltok.h

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/expat/src/xmltok.h (Version 11.3.0) and /externals/expat/src/xmltok.h (Version 10.3.p2)


  1 /*                                             <<   1 /* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
  2                             __  __             <<   2    See the file COPYING for copying permission.
  3                          ___\ \/ /_ __   __ _| << 
  4                         / _ \\  /| '_ \ / _` | << 
  5                        |  __//  \| |_) | (_| | << 
  6                         \___/_/\_\ .__/ \__,_| << 
  7                                  |_| XML parse << 
  8                                                << 
  9    Copyright (c) 1997-2000 Thai Open Source So << 
 10    Copyright (c) 2000      Clark Cooper <coope << 
 11    Copyright (c) 2002      Fred L. Drake, Jr.  << 
 12    Copyright (c) 2002-2005 Karl Waclawek <karl << 
 13    Copyright (c) 2016-2017 Sebastian Pipping < << 
 14    Copyright (c) 2017      Rhodri James <rhodr << 
 15    Licensed under the MIT license:             << 
 16                                                << 
 17    Permission is  hereby granted,  free of cha << 
 18    a  copy  of  this  software   and  associat << 
 19    "Software"),  to  deal in  the  Software  w << 
 20    without  limitation the  rights  to use,  c << 
 21    distribute, sublicense, and/or sell copies  << 
 22    persons  to whom  the Software  is  furnish << 
 23    following conditions:                       << 
 24                                                << 
 25    The above copyright  notice and this permis << 
 26    in all copies or substantial portions of th << 
 27                                                << 
 28    THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WIT << 
 29    EXPRESS  OR IMPLIED,  INCLUDING  BUT  NOT L << 
 30    MERCHANTABILITY, FITNESS FOR A PARTICULAR P << 
 31    NO EVENT SHALL THE AUTHORS OR  COPYRIGHT HO << 
 32    DAMAGES OR  OTHER LIABILITY, WHETHER  IN AN << 
 33    OTHERWISE, ARISING FROM, OUT OF OR IN CONNE << 
 34    USE OR OTHER DEALINGS IN THE SOFTWARE.      << 
 35 */                                                  3 */
 36                                                     4 
 37 #ifndef XmlTok_INCLUDED                             5 #ifndef XmlTok_INCLUDED
 38 #define XmlTok_INCLUDED 1                           6 #define XmlTok_INCLUDED 1
 39                                                     7 
 40 #ifdef __cplusplus                                  8 #ifdef __cplusplus
 41 extern "C" {                                        9 extern "C" {
 42 #endif                                             10 #endif
 43                                                    11 
 44 /* The following token may be returned by XmlC     12 /* The following token may be returned by XmlContentTok */
 45 #define XML_TOK_TRAILING_RSQB                  <<  13 #define XML_TOK_TRAILING_RSQB -5 /* ] or ]] at the end of the scan; might be
 46   -5 /* ] or ]] at the end of the scan; might  <<  14                                     start of illegal ]]> sequence */
 47         start of illegal ]]> sequence */       << 
 48 /* The following tokens may be returned by bot     15 /* The following tokens may be returned by both XmlPrologTok and
 49    XmlContentTok.                                  16    XmlContentTok.
 50 */                                                 17 */
 51 #define XML_TOK_NONE -4 /* The string to be sc <<  18 #define XML_TOK_NONE -4          /* The string to be scanned is empty */
 52 #define XML_TOK_TRAILING_CR                    <<  19 #define XML_TOK_TRAILING_CR -3   /* A CR at the end of the scan;
 53   -3                            /* A CR at the <<  20                                     might be part of CRLF sequence */
 54                                    might be pa <<  21 #define XML_TOK_PARTIAL_CHAR -2  /* only part of a multibyte sequence */
 55 #define XML_TOK_PARTIAL_CHAR -2 /* only part o <<  22 #define XML_TOK_PARTIAL -1       /* only part of a token */
 56 #define XML_TOK_PARTIAL -1      /* only part o << 
 57 #define XML_TOK_INVALID 0                          23 #define XML_TOK_INVALID 0
 58                                                    24 
 59 /* The following tokens are returned by XmlCon     25 /* The following tokens are returned by XmlContentTok; some are also
 60    returned by XmlAttributeValueTok, XmlEntity     26    returned by XmlAttributeValueTok, XmlEntityTok, XmlCdataSectionTok.
 61 */                                                 27 */
 62 #define XML_TOK_START_TAG_WITH_ATTS 1              28 #define XML_TOK_START_TAG_WITH_ATTS 1
 63 #define XML_TOK_START_TAG_NO_ATTS 2                29 #define XML_TOK_START_TAG_NO_ATTS 2
 64 #define XML_TOK_EMPTY_ELEMENT_WITH_ATTS 3 /* e     30 #define XML_TOK_EMPTY_ELEMENT_WITH_ATTS 3 /* empty element tag <e/> */
 65 #define XML_TOK_EMPTY_ELEMENT_NO_ATTS 4            31 #define XML_TOK_EMPTY_ELEMENT_NO_ATTS 4
 66 #define XML_TOK_END_TAG 5                          32 #define XML_TOK_END_TAG 5
 67 #define XML_TOK_DATA_CHARS 6                       33 #define XML_TOK_DATA_CHARS 6
 68 #define XML_TOK_DATA_NEWLINE 7                     34 #define XML_TOK_DATA_NEWLINE 7
 69 #define XML_TOK_CDATA_SECT_OPEN 8                  35 #define XML_TOK_CDATA_SECT_OPEN 8
 70 #define XML_TOK_ENTITY_REF 9                       36 #define XML_TOK_ENTITY_REF 9
 71 #define XML_TOK_CHAR_REF 10 /* numeric charact <<  37 #define XML_TOK_CHAR_REF 10               /* numeric character reference */
 72                                                    38 
 73 /* The following tokens may be returned by bot     39 /* The following tokens may be returned by both XmlPrologTok and
 74    XmlContentTok.                                  40    XmlContentTok.
 75 */                                                 41 */
 76 #define XML_TOK_PI 11       /* processing inst <<  42 #define XML_TOK_PI 11                     /* processing instruction */
 77 #define XML_TOK_XML_DECL 12 /* XML decl or tex <<  43 #define XML_TOK_XML_DECL 12               /* XML decl or text decl */
 78 #define XML_TOK_COMMENT 13                         44 #define XML_TOK_COMMENT 13
 79 #define XML_TOK_BOM 14 /* Byte order mark */   <<  45 #define XML_TOK_BOM 14                    /* Byte order mark */
 80                                                    46 
 81 /* The following tokens are returned only by X     47 /* The following tokens are returned only by XmlPrologTok */
 82 #define XML_TOK_PROLOG_S 15                        48 #define XML_TOK_PROLOG_S 15
 83 #define XML_TOK_DECL_OPEN 16  /* <!foo */      <<  49 #define XML_TOK_DECL_OPEN 16              /* <!foo */
 84 #define XML_TOK_DECL_CLOSE 17 /* > */          <<  50 #define XML_TOK_DECL_CLOSE 17             /* > */
 85 #define XML_TOK_NAME 18                            51 #define XML_TOK_NAME 18
 86 #define XML_TOK_NMTOKEN 19                         52 #define XML_TOK_NMTOKEN 19
 87 #define XML_TOK_POUND_NAME 20 /* #name */      <<  53 #define XML_TOK_POUND_NAME 20             /* #name */
 88 #define XML_TOK_OR 21         /* | */          <<  54 #define XML_TOK_OR 21                     /* | */
 89 #define XML_TOK_PERCENT 22                         55 #define XML_TOK_PERCENT 22
 90 #define XML_TOK_OPEN_PAREN 23                      56 #define XML_TOK_OPEN_PAREN 23
 91 #define XML_TOK_CLOSE_PAREN 24                     57 #define XML_TOK_CLOSE_PAREN 24
 92 #define XML_TOK_OPEN_BRACKET 25                    58 #define XML_TOK_OPEN_BRACKET 25
 93 #define XML_TOK_CLOSE_BRACKET 26                   59 #define XML_TOK_CLOSE_BRACKET 26
 94 #define XML_TOK_LITERAL 27                         60 #define XML_TOK_LITERAL 27
 95 #define XML_TOK_PARAM_ENTITY_REF 28                61 #define XML_TOK_PARAM_ENTITY_REF 28
 96 #define XML_TOK_INSTANCE_START 29                  62 #define XML_TOK_INSTANCE_START 29
 97                                                    63 
 98 /* The following occur only in element type de     64 /* The following occur only in element type declarations */
 99 #define XML_TOK_NAME_QUESTION 30        /* nam <<  65 #define XML_TOK_NAME_QUESTION 30          /* name? */
100 #define XML_TOK_NAME_ASTERISK 31        /* nam <<  66 #define XML_TOK_NAME_ASTERISK 31          /* name* */
101 #define XML_TOK_NAME_PLUS 32            /* nam <<  67 #define XML_TOK_NAME_PLUS 32              /* name+ */
102 #define XML_TOK_COND_SECT_OPEN 33       /* <![ <<  68 #define XML_TOK_COND_SECT_OPEN 33         /* <![ */
103 #define XML_TOK_COND_SECT_CLOSE 34      /* ]]> <<  69 #define XML_TOK_COND_SECT_CLOSE 34        /* ]]> */
104 #define XML_TOK_CLOSE_PAREN_QUESTION 35 /* )?  <<  70 #define XML_TOK_CLOSE_PAREN_QUESTION 35   /* )? */
105 #define XML_TOK_CLOSE_PAREN_ASTERISK 36 /* )*  <<  71 #define XML_TOK_CLOSE_PAREN_ASTERISK 36   /* )* */
106 #define XML_TOK_CLOSE_PAREN_PLUS 37     /* )+  <<  72 #define XML_TOK_CLOSE_PAREN_PLUS 37       /* )+ */
107 #define XML_TOK_COMMA 38                           73 #define XML_TOK_COMMA 38
108                                                    74 
109 /* The following token is returned only by Xml     75 /* The following token is returned only by XmlAttributeValueTok */
110 #define XML_TOK_ATTRIBUTE_VALUE_S 39               76 #define XML_TOK_ATTRIBUTE_VALUE_S 39
111                                                    77 
112 /* The following token is returned only by Xml     78 /* The following token is returned only by XmlCdataSectionTok */
113 #define XML_TOK_CDATA_SECT_CLOSE 40                79 #define XML_TOK_CDATA_SECT_CLOSE 40
114                                                    80 
115 /* With namespace processing this is returned      81 /* With namespace processing this is returned by XmlPrologTok for a
116    name with a colon.                              82    name with a colon.
117 */                                                 83 */
118 #define XML_TOK_PREFIXED_NAME 41                   84 #define XML_TOK_PREFIXED_NAME 41
119                                                    85 
120 #ifdef XML_DTD                                     86 #ifdef XML_DTD
121 #  define XML_TOK_IGNORE_SECT 42               <<  87 #define XML_TOK_IGNORE_SECT 42
122 #endif /* XML_DTD */                               88 #endif /* XML_DTD */
123                                                    89 
124 #ifdef XML_DTD                                     90 #ifdef XML_DTD
125 #  define XML_N_STATES 4                       <<  91 #define XML_N_STATES 4
126 #else /* not XML_DTD */                            92 #else /* not XML_DTD */
127 #  define XML_N_STATES 3                       <<  93 #define XML_N_STATES 3
128 #endif /* not XML_DTD */                           94 #endif /* not XML_DTD */
129                                                    95 
130 #define XML_PROLOG_STATE 0                         96 #define XML_PROLOG_STATE 0
131 #define XML_CONTENT_STATE 1                        97 #define XML_CONTENT_STATE 1
132 #define XML_CDATA_SECTION_STATE 2                  98 #define XML_CDATA_SECTION_STATE 2
133 #ifdef XML_DTD                                     99 #ifdef XML_DTD
134 #  define XML_IGNORE_SECTION_STATE 3           << 100 #define XML_IGNORE_SECTION_STATE 3
135 #endif /* XML_DTD */                              101 #endif /* XML_DTD */
136                                                   102 
137 #define XML_N_LITERAL_TYPES 2                     103 #define XML_N_LITERAL_TYPES 2
138 #define XML_ATTRIBUTE_VALUE_LITERAL 0             104 #define XML_ATTRIBUTE_VALUE_LITERAL 0
139 #define XML_ENTITY_VALUE_LITERAL 1                105 #define XML_ENTITY_VALUE_LITERAL 1
140                                                   106 
141 /* The size of the buffer passed to XmlUtf8Enc    107 /* The size of the buffer passed to XmlUtf8Encode must be at least this. */
142 #define XML_UTF8_ENCODE_MAX 4                     108 #define XML_UTF8_ENCODE_MAX 4
143 /* The size of the buffer passed to XmlUtf16En    109 /* The size of the buffer passed to XmlUtf16Encode must be at least this. */
144 #define XML_UTF16_ENCODE_MAX 2                    110 #define XML_UTF16_ENCODE_MAX 2
145                                                   111 
146 typedef struct position {                         112 typedef struct position {
147   /* first line and first column are 0 not 1 *    113   /* first line and first column are 0 not 1 */
148   XML_Size lineNumber;                            114   XML_Size lineNumber;
149   XML_Size columnNumber;                          115   XML_Size columnNumber;
150 } POSITION;                                       116 } POSITION;
151                                                   117 
152 typedef struct {                                  118 typedef struct {
153   const char *name;                               119   const char *name;
154   const char *valuePtr;                           120   const char *valuePtr;
155   const char *valueEnd;                           121   const char *valueEnd;
156   char normalized;                                122   char normalized;
157 } ATTRIBUTE;                                      123 } ATTRIBUTE;
158                                                   124 
159 struct encoding;                                  125 struct encoding;
160 typedef struct encoding ENCODING;                 126 typedef struct encoding ENCODING;
161                                                   127 
162 typedef int(PTRCALL *SCANNER)(const ENCODING * << 128 typedef int (PTRCALL *SCANNER)(const ENCODING *,
163                               const char **);  << 129                                const char *,
164                                                << 130                                const char *,
165 enum XML_Convert_Result {                      << 131                                const char **);
166   XML_CONVERT_COMPLETED = 0,                   << 
167   XML_CONVERT_INPUT_INCOMPLETE = 1,            << 
168   XML_CONVERT_OUTPUT_EXHAUSTED                 << 
169   = 2 /* and therefore potentially input remai << 
170 };                                             << 
171                                                   132 
172 struct encoding {                                 133 struct encoding {
173   SCANNER scanners[XML_N_STATES];                 134   SCANNER scanners[XML_N_STATES];
174   SCANNER literalScanners[XML_N_LITERAL_TYPES]    135   SCANNER literalScanners[XML_N_LITERAL_TYPES];
175   int(PTRCALL *nameMatchesAscii)(const ENCODIN << 136   int (PTRCALL *sameName)(const ENCODING *,
176                                  const char *) << 137                           const char *,
177   int(PTRFASTCALL *nameLength)(const ENCODING  << 138                           const char *);
                                                   >> 139   int (PTRCALL *nameMatchesAscii)(const ENCODING *,
                                                   >> 140                                   const char *,
                                                   >> 141                                   const char *,
                                                   >> 142                                   const char *);
                                                   >> 143   int (PTRFASTCALL *nameLength)(const ENCODING *, const char *);
178   const char *(PTRFASTCALL *skipS)(const ENCOD    144   const char *(PTRFASTCALL *skipS)(const ENCODING *, const char *);
179   int(PTRCALL *getAtts)(const ENCODING *enc, c << 145   int (PTRCALL *getAtts)(const ENCODING *enc,
180                         ATTRIBUTE *atts);      << 146                          const char *ptr,
181   int(PTRFASTCALL *charRefNumber)(const ENCODI << 147                          int attsMax,
182   int(PTRCALL *predefinedEntityName)(const ENC << 148                          ATTRIBUTE *atts);
183                                      const cha << 149   int (PTRFASTCALL *charRefNumber)(const ENCODING *enc, const char *ptr);
184   void(PTRCALL *updatePosition)(const ENCODING << 150   int (PTRCALL *predefinedEntityName)(const ENCODING *,
185                                 const char *en << 151                                       const char *,
186   int(PTRCALL *isPublicId)(const ENCODING *enc << 152                                       const char *);
187                            const char *end, co << 153   void (PTRCALL *updatePosition)(const ENCODING *,
188   enum XML_Convert_Result(PTRCALL *utf8Convert << 154                                  const char *ptr,
189                                                << 155                                  const char *end,
190                                                << 156                                  POSITION *);
191                                                << 157   int (PTRCALL *isPublicId)(const ENCODING *enc,
192   enum XML_Convert_Result(PTRCALL *utf16Conver << 158                             const char *ptr,
193                                                << 159                             const char *end,
194                                                << 160                             const char **badPtr);
195                                                << 161   void (PTRCALL *utf8Convert)(const ENCODING *enc,
196                                                << 162                               const char **fromP,
                                                   >> 163                               const char *fromLim,
                                                   >> 164                               char **toP,
                                                   >> 165                               const char *toLim);
                                                   >> 166   void (PTRCALL *utf16Convert)(const ENCODING *enc,
                                                   >> 167                                const char **fromP,
                                                   >> 168                                const char *fromLim,
                                                   >> 169                                unsigned short **toP,
                                                   >> 170                                const unsigned short *toLim);
197   int minBytesPerChar;                            171   int minBytesPerChar;
198   char isUtf8;                                    172   char isUtf8;
199   char isUtf16;                                   173   char isUtf16;
200 };                                                174 };
201                                                   175 
202 /* Scan the string starting at ptr until the e    176 /* Scan the string starting at ptr until the end of the next complete
203    token, but do not scan past eptr.  Return a    177    token, but do not scan past eptr.  Return an integer giving the
204    type of token.                                 178    type of token.
205                                                   179 
206    Return XML_TOK_NONE when ptr == eptr; nextT    180    Return XML_TOK_NONE when ptr == eptr; nextTokPtr will not be set.
207                                                   181 
208    Return XML_TOK_PARTIAL when the string does    182    Return XML_TOK_PARTIAL when the string does not contain a complete
209    token; nextTokPtr will not be set.             183    token; nextTokPtr will not be set.
210                                                   184 
211    Return XML_TOK_INVALID when the string does    185    Return XML_TOK_INVALID when the string does not start a valid
212    token; nextTokPtr will be set to point to t    186    token; nextTokPtr will be set to point to the character which made
213    the token invalid.                             187    the token invalid.
214                                                   188 
215    Otherwise the string starts with a valid to    189    Otherwise the string starts with a valid token; nextTokPtr will be
216    set to point to the character following the    190    set to point to the character following the end of that token.
217                                                   191 
218    Each data character counts as a single toke    192    Each data character counts as a single token, but adjacent data
219    characters may be returned together.  Simil    193    characters may be returned together.  Similarly for characters in
220    the prolog outside literals, comments and p    194    the prolog outside literals, comments and processing instructions.
221 */                                                195 */
222                                                   196 
223 #define XmlTok(enc, state, ptr, end, nextTokPt << 197 
                                                   >> 198 #define XmlTok(enc, state, ptr, end, nextTokPtr) \
224   (((enc)->scanners[state])(enc, ptr, end, nex    199   (((enc)->scanners[state])(enc, ptr, end, nextTokPtr))
225                                                   200 
226 #define XmlPrologTok(enc, ptr, end, nextTokPtr << 201 #define XmlPrologTok(enc, ptr, end, nextTokPtr) \
227   XmlTok(enc, XML_PROLOG_STATE, ptr, end, next << 202    XmlTok(enc, XML_PROLOG_STATE, ptr, end, nextTokPtr)
228                                                   203 
229 #define XmlContentTok(enc, ptr, end, nextTokPt << 204 #define XmlContentTok(enc, ptr, end, nextTokPtr) \
230   XmlTok(enc, XML_CONTENT_STATE, ptr, end, nex << 205    XmlTok(enc, XML_CONTENT_STATE, ptr, end, nextTokPtr)
231                                                   206 
232 #define XmlCdataSectionTok(enc, ptr, end, next << 207 #define XmlCdataSectionTok(enc, ptr, end, nextTokPtr) \
233   XmlTok(enc, XML_CDATA_SECTION_STATE, ptr, en << 208    XmlTok(enc, XML_CDATA_SECTION_STATE, ptr, end, nextTokPtr)
234                                                   209 
235 #ifdef XML_DTD                                    210 #ifdef XML_DTD
236                                                   211 
237 #  define XmlIgnoreSectionTok(enc, ptr, end, n << 212 #define XmlIgnoreSectionTok(enc, ptr, end, nextTokPtr) \
238     XmlTok(enc, XML_IGNORE_SECTION_STATE, ptr, << 213    XmlTok(enc, XML_IGNORE_SECTION_STATE, ptr, end, nextTokPtr)
239                                                   214 
240 #endif /* XML_DTD */                              215 #endif /* XML_DTD */
241                                                   216 
242 /* This is used for performing a 2nd-level tok    217 /* This is used for performing a 2nd-level tokenization on the content
243    of a literal that has already been returned    218    of a literal that has already been returned by XmlTok.
244 */                                                219 */
245 #define XmlLiteralTok(enc, literalType, ptr, e << 220 #define XmlLiteralTok(enc, literalType, ptr, end, nextTokPtr) \
246   (((enc)->literalScanners[literalType])(enc,     221   (((enc)->literalScanners[literalType])(enc, ptr, end, nextTokPtr))
247                                                   222 
248 #define XmlAttributeValueTok(enc, ptr, end, ne << 223 #define XmlAttributeValueTok(enc, ptr, end, nextTokPtr) \
249   XmlLiteralTok(enc, XML_ATTRIBUTE_VALUE_LITER << 224    XmlLiteralTok(enc, XML_ATTRIBUTE_VALUE_LITERAL, ptr, end, nextTokPtr)
                                                   >> 225 
                                                   >> 226 #define XmlEntityValueTok(enc, ptr, end, nextTokPtr) \
                                                   >> 227    XmlLiteralTok(enc, XML_ENTITY_VALUE_LITERAL, ptr, end, nextTokPtr)
250                                                   228 
251 #define XmlEntityValueTok(enc, ptr, end, nextT << 229 #define XmlSameName(enc, ptr1, ptr2) (((enc)->sameName)(enc, ptr1, ptr2))
252   XmlLiteralTok(enc, XML_ENTITY_VALUE_LITERAL, << 
253                                                   230 
254 #define XmlNameMatchesAscii(enc, ptr1, end1, p << 231 #define XmlNameMatchesAscii(enc, ptr1, end1, ptr2) \
255   (((enc)->nameMatchesAscii)(enc, ptr1, end1,     232   (((enc)->nameMatchesAscii)(enc, ptr1, end1, ptr2))
256                                                   233 
257 #define XmlNameLength(enc, ptr) (((enc)->nameL << 234 #define XmlNameLength(enc, ptr) \
                                                   >> 235   (((enc)->nameLength)(enc, ptr))
258                                                   236 
259 #define XmlSkipS(enc, ptr) (((enc)->skipS)(enc << 237 #define XmlSkipS(enc, ptr) \
                                                   >> 238   (((enc)->skipS)(enc, ptr))
260                                                   239 
261 #define XmlGetAttributes(enc, ptr, attsMax, at << 240 #define XmlGetAttributes(enc, ptr, attsMax, atts) \
262   (((enc)->getAtts)(enc, ptr, attsMax, atts))     241   (((enc)->getAtts)(enc, ptr, attsMax, atts))
263                                                   242 
264 #define XmlCharRefNumber(enc, ptr) (((enc)->ch << 243 #define XmlCharRefNumber(enc, ptr) \
                                                   >> 244   (((enc)->charRefNumber)(enc, ptr))
265                                                   245 
266 #define XmlPredefinedEntityName(enc, ptr, end) << 246 #define XmlPredefinedEntityName(enc, ptr, end) \
267   (((enc)->predefinedEntityName)(enc, ptr, end    247   (((enc)->predefinedEntityName)(enc, ptr, end))
268                                                   248 
269 #define XmlUpdatePosition(enc, ptr, end, pos)  << 249 #define XmlUpdatePosition(enc, ptr, end, pos) \
270   (((enc)->updatePosition)(enc, ptr, end, pos)    250   (((enc)->updatePosition)(enc, ptr, end, pos))
271                                                   251 
272 #define XmlIsPublicId(enc, ptr, end, badPtr)   << 252 #define XmlIsPublicId(enc, ptr, end, badPtr) \
273   (((enc)->isPublicId)(enc, ptr, end, badPtr))    253   (((enc)->isPublicId)(enc, ptr, end, badPtr))
274                                                   254 
275 #define XmlUtf8Convert(enc, fromP, fromLim, to << 255 #define XmlUtf8Convert(enc, fromP, fromLim, toP, toLim) \
276   (((enc)->utf8Convert)(enc, fromP, fromLim, t    256   (((enc)->utf8Convert)(enc, fromP, fromLim, toP, toLim))
277                                                   257 
278 #define XmlUtf16Convert(enc, fromP, fromLim, t << 258 #define XmlUtf16Convert(enc, fromP, fromLim, toP, toLim) \
279   (((enc)->utf16Convert)(enc, fromP, fromLim,     259   (((enc)->utf16Convert)(enc, fromP, fromLim, toP, toLim))
280                                                   260 
281 typedef struct {                                  261 typedef struct {
282   ENCODING initEnc;                               262   ENCODING initEnc;
283   const ENCODING **encPtr;                        263   const ENCODING **encPtr;
284 } INIT_ENCODING;                                  264 } INIT_ENCODING;
285                                                   265 
286 int XmlParseXmlDecl(int isGeneralTextEntity, c << 266 int XmlParseXmlDecl(int isGeneralTextEntity,
287                     const char *ptr, const cha << 267                     const ENCODING *enc,
288                     const char **versionPtr, c << 268                     const char *ptr,
                                                   >> 269                     const char *end,
                                                   >> 270                     const char **badPtr,
                                                   >> 271                     const char **versionPtr,
                                                   >> 272                     const char **versionEndPtr,
289                     const char **encodingNameP    273                     const char **encodingNamePtr,
290                     const ENCODING **namedEnco << 274                     const ENCODING **namedEncodingPtr,
                                                   >> 275                     int *standalonePtr);
291                                                   276 
292 int XmlInitEncoding(INIT_ENCODING *, const ENC    277 int XmlInitEncoding(INIT_ENCODING *, const ENCODING **, const char *name);
293 const ENCODING *XmlGetUtf8InternalEncoding(voi    278 const ENCODING *XmlGetUtf8InternalEncoding(void);
294 const ENCODING *XmlGetUtf16InternalEncoding(vo    279 const ENCODING *XmlGetUtf16InternalEncoding(void);
295 int FASTCALL XmlUtf8Encode(int charNumber, cha    280 int FASTCALL XmlUtf8Encode(int charNumber, char *buf);
296 int FASTCALL XmlUtf16Encode(int charNumber, un    281 int FASTCALL XmlUtf16Encode(int charNumber, unsigned short *buf);
297 int XmlSizeOfUnknownEncoding(void);               282 int XmlSizeOfUnknownEncoding(void);
298                                                   283 
299 typedef int(XMLCALL *CONVERTER)(void *userData << 
300                                                   284 
301 ENCODING *XmlInitUnknownEncoding(void *mem, in << 285 typedef int (XMLCALL *CONVERTER) (void *userData, const char *p);
302                                  void *userDat << 
303                                                   286 
304 int XmlParseXmlDeclNS(int isGeneralTextEntity, << 287 ENCODING *
305                       const char *ptr, const c << 288 XmlInitUnknownEncoding(void *mem,
306                       const char **versionPtr, << 289                        int *table,
                                                   >> 290                        CONVERTER convert,
                                                   >> 291                        void *userData);
                                                   >> 292 
                                                   >> 293 int XmlParseXmlDeclNS(int isGeneralTextEntity,
                                                   >> 294                       const ENCODING *enc,
                                                   >> 295                       const char *ptr,
                                                   >> 296                       const char *end,
                                                   >> 297                       const char **badPtr,
                                                   >> 298                       const char **versionPtr,
                                                   >> 299                       const char **versionEndPtr,
307                       const char **encodingNam    300                       const char **encodingNamePtr,
308                       const ENCODING **namedEn << 301                       const ENCODING **namedEncodingPtr,
                                                   >> 302                       int *standalonePtr);
309                                                   303 
310 int XmlInitEncodingNS(INIT_ENCODING *, const E    304 int XmlInitEncodingNS(INIT_ENCODING *, const ENCODING **, const char *name);
311 const ENCODING *XmlGetUtf8InternalEncodingNS(v    305 const ENCODING *XmlGetUtf8InternalEncodingNS(void);
312 const ENCODING *XmlGetUtf16InternalEncodingNS(    306 const ENCODING *XmlGetUtf16InternalEncodingNS(void);
313 ENCODING *XmlInitUnknownEncodingNS(void *mem,  << 307 ENCODING *
314                                    void *userD << 308 XmlInitUnknownEncodingNS(void *mem,
                                                   >> 309                          int *table,
                                                   >> 310                          CONVERTER convert,
                                                   >> 311                          void *userData);
315 #ifdef __cplusplus                                312 #ifdef __cplusplus
316 }                                                 313 }
317 #endif                                            314 #endif
318                                                   315 
319 #endif /* not XmlTok_INCLUDED */                  316 #endif /* not XmlTok_INCLUDED */
320                                                   317