Mercurial > repos > guerler > springsuite
comparison planemo/lib/python3.7/site-packages/lxml/includes/libxml/parserInternals.h @ 1:56ad4e20f292 draft
"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
| author | guerler | 
|---|---|
| date | Fri, 31 Jul 2020 00:32:28 -0400 | 
| parents | |
| children | 
   comparison
  equal
  deleted
  inserted
  replaced
| 0:d30785e31577 | 1:56ad4e20f292 | 
|---|---|
| 1 /* | |
| 2 * Summary: internals routines and limits exported by the parser. | |
| 3 * Description: this module exports a number of internal parsing routines | |
| 4 * they are not really all intended for applications but | |
| 5 * can prove useful doing low level processing. | |
| 6 * | |
| 7 * Copy: See Copyright for the status of this software. | |
| 8 * | |
| 9 * Author: Daniel Veillard | |
| 10 */ | |
| 11 | |
| 12 #ifndef __XML_PARSER_INTERNALS_H__ | |
| 13 #define __XML_PARSER_INTERNALS_H__ | |
| 14 | |
| 15 #include <libxml/xmlversion.h> | |
| 16 #include <libxml/parser.h> | |
| 17 #include <libxml/HTMLparser.h> | |
| 18 #include <libxml/chvalid.h> | |
| 19 | |
| 20 #ifdef __cplusplus | |
| 21 extern "C" { | |
| 22 #endif | |
| 23 | |
| 24 /** | |
| 25 * xmlParserMaxDepth: | |
| 26 * | |
| 27 * arbitrary depth limit for the XML documents that we allow to | |
| 28 * process. This is not a limitation of the parser but a safety | |
| 29 * boundary feature, use XML_PARSE_HUGE option to override it. | |
| 30 */ | |
| 31 XMLPUBVAR unsigned int xmlParserMaxDepth; | |
| 32 | |
| 33 /** | |
| 34 * XML_MAX_TEXT_LENGTH: | |
| 35 * | |
| 36 * Maximum size allowed for a single text node when building a tree. | |
| 37 * This is not a limitation of the parser but a safety boundary feature, | |
| 38 * use XML_PARSE_HUGE option to override it. | |
| 39 * Introduced in 2.9.0 | |
| 40 */ | |
| 41 #define XML_MAX_TEXT_LENGTH 10000000 | |
| 42 | |
| 43 /** | |
| 44 * XML_MAX_NAME_LENGTH: | |
| 45 * | |
| 46 * Maximum size allowed for a markup identifier. | |
| 47 * This is not a limitation of the parser but a safety boundary feature, | |
| 48 * use XML_PARSE_HUGE option to override it. | |
| 49 * Note that with the use of parsing dictionaries overriding the limit | |
| 50 * may result in more runtime memory usage in face of "unfriendly' content | |
| 51 * Introduced in 2.9.0 | |
| 52 */ | |
| 53 #define XML_MAX_NAME_LENGTH 50000 | |
| 54 | |
| 55 /** | |
| 56 * XML_MAX_DICTIONARY_LIMIT: | |
| 57 * | |
| 58 * Maximum size allowed by the parser for a dictionary by default | |
| 59 * This is not a limitation of the parser but a safety boundary feature, | |
| 60 * use XML_PARSE_HUGE option to override it. | |
| 61 * Introduced in 2.9.0 | |
| 62 */ | |
| 63 #define XML_MAX_DICTIONARY_LIMIT 10000000 | |
| 64 | |
| 65 /** | |
| 66 * XML_MAX_LOOKUP_LIMIT: | |
| 67 * | |
| 68 * Maximum size allowed by the parser for ahead lookup | |
| 69 * This is an upper boundary enforced by the parser to avoid bad | |
| 70 * behaviour on "unfriendly' content | |
| 71 * Introduced in 2.9.0 | |
| 72 */ | |
| 73 #define XML_MAX_LOOKUP_LIMIT 10000000 | |
| 74 | |
| 75 /** | |
| 76 * XML_MAX_NAMELEN: | |
| 77 * | |
| 78 * Identifiers can be longer, but this will be more costly | |
| 79 * at runtime. | |
| 80 */ | |
| 81 #define XML_MAX_NAMELEN 100 | |
| 82 | |
| 83 /** | |
| 84 * INPUT_CHUNK: | |
| 85 * | |
| 86 * The parser tries to always have that amount of input ready. | |
| 87 * One of the point is providing context when reporting errors. | |
| 88 */ | |
| 89 #define INPUT_CHUNK 250 | |
| 90 | |
| 91 /************************************************************************ | |
| 92 * * | |
| 93 * UNICODE version of the macros. * | |
| 94 * * | |
| 95 ************************************************************************/ | |
| 96 /** | |
| 97 * IS_BYTE_CHAR: | |
| 98 * @c: an byte value (int) | |
| 99 * | |
| 100 * Macro to check the following production in the XML spec: | |
| 101 * | |
| 102 * [2] Char ::= #x9 | #xA | #xD | [#x20...] | |
| 103 * any byte character in the accepted range | |
| 104 */ | |
| 105 #define IS_BYTE_CHAR(c) xmlIsChar_ch(c) | |
| 106 | |
| 107 /** | |
| 108 * IS_CHAR: | |
| 109 * @c: an UNICODE value (int) | |
| 110 * | |
| 111 * Macro to check the following production in the XML spec: | |
| 112 * | |
| 113 * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | |
| 114 * | [#x10000-#x10FFFF] | |
| 115 * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. | |
| 116 */ | |
| 117 #define IS_CHAR(c) xmlIsCharQ(c) | |
| 118 | |
| 119 /** | |
| 120 * IS_CHAR_CH: | |
| 121 * @c: an xmlChar (usually an unsigned char) | |
| 122 * | |
| 123 * Behaves like IS_CHAR on single-byte value | |
| 124 */ | |
| 125 #define IS_CHAR_CH(c) xmlIsChar_ch(c) | |
| 126 | |
| 127 /** | |
| 128 * IS_BLANK: | |
| 129 * @c: an UNICODE value (int) | |
| 130 * | |
| 131 * Macro to check the following production in the XML spec: | |
| 132 * | |
| 133 * [3] S ::= (#x20 | #x9 | #xD | #xA)+ | |
| 134 */ | |
| 135 #define IS_BLANK(c) xmlIsBlankQ(c) | |
| 136 | |
| 137 /** | |
| 138 * IS_BLANK_CH: | |
| 139 * @c: an xmlChar value (normally unsigned char) | |
| 140 * | |
| 141 * Behaviour same as IS_BLANK | |
| 142 */ | |
| 143 #define IS_BLANK_CH(c) xmlIsBlank_ch(c) | |
| 144 | |
| 145 /** | |
| 146 * IS_BASECHAR: | |
| 147 * @c: an UNICODE value (int) | |
| 148 * | |
| 149 * Macro to check the following production in the XML spec: | |
| 150 * | |
| 151 * [85] BaseChar ::= ... long list see REC ... | |
| 152 */ | |
| 153 #define IS_BASECHAR(c) xmlIsBaseCharQ(c) | |
| 154 | |
| 155 /** | |
| 156 * IS_DIGIT: | |
| 157 * @c: an UNICODE value (int) | |
| 158 * | |
| 159 * Macro to check the following production in the XML spec: | |
| 160 * | |
| 161 * [88] Digit ::= ... long list see REC ... | |
| 162 */ | |
| 163 #define IS_DIGIT(c) xmlIsDigitQ(c) | |
| 164 | |
| 165 /** | |
| 166 * IS_DIGIT_CH: | |
| 167 * @c: an xmlChar value (usually an unsigned char) | |
| 168 * | |
| 169 * Behaves like IS_DIGIT but with a single byte argument | |
| 170 */ | |
| 171 #define IS_DIGIT_CH(c) xmlIsDigit_ch(c) | |
| 172 | |
| 173 /** | |
| 174 * IS_COMBINING: | |
| 175 * @c: an UNICODE value (int) | |
| 176 * | |
| 177 * Macro to check the following production in the XML spec: | |
| 178 * | |
| 179 * [87] CombiningChar ::= ... long list see REC ... | |
| 180 */ | |
| 181 #define IS_COMBINING(c) xmlIsCombiningQ(c) | |
| 182 | |
| 183 /** | |
| 184 * IS_COMBINING_CH: | |
| 185 * @c: an xmlChar (usually an unsigned char) | |
| 186 * | |
| 187 * Always false (all combining chars > 0xff) | |
| 188 */ | |
| 189 #define IS_COMBINING_CH(c) 0 | |
| 190 | |
| 191 /** | |
| 192 * IS_EXTENDER: | |
| 193 * @c: an UNICODE value (int) | |
| 194 * | |
| 195 * Macro to check the following production in the XML spec: | |
| 196 * | |
| 197 * | |
| 198 * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | | |
| 199 * #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | | |
| 200 * [#x309D-#x309E] | [#x30FC-#x30FE] | |
| 201 */ | |
| 202 #define IS_EXTENDER(c) xmlIsExtenderQ(c) | |
| 203 | |
| 204 /** | |
| 205 * IS_EXTENDER_CH: | |
| 206 * @c: an xmlChar value (usually an unsigned char) | |
| 207 * | |
| 208 * Behaves like IS_EXTENDER but with a single-byte argument | |
| 209 */ | |
| 210 #define IS_EXTENDER_CH(c) xmlIsExtender_ch(c) | |
| 211 | |
| 212 /** | |
| 213 * IS_IDEOGRAPHIC: | |
| 214 * @c: an UNICODE value (int) | |
| 215 * | |
| 216 * Macro to check the following production in the XML spec: | |
| 217 * | |
| 218 * | |
| 219 * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029] | |
| 220 */ | |
| 221 #define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c) | |
| 222 | |
| 223 /** | |
| 224 * IS_LETTER: | |
| 225 * @c: an UNICODE value (int) | |
| 226 * | |
| 227 * Macro to check the following production in the XML spec: | |
| 228 * | |
| 229 * | |
| 230 * [84] Letter ::= BaseChar | Ideographic | |
| 231 */ | |
| 232 #define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c)) | |
| 233 | |
| 234 /** | |
| 235 * IS_LETTER_CH: | |
| 236 * @c: an xmlChar value (normally unsigned char) | |
| 237 * | |
| 238 * Macro behaves like IS_LETTER, but only check base chars | |
| 239 * | |
| 240 */ | |
| 241 #define IS_LETTER_CH(c) xmlIsBaseChar_ch(c) | |
| 242 | |
| 243 /** | |
| 244 * IS_ASCII_LETTER: | |
| 245 * @c: an xmlChar value | |
| 246 * | |
| 247 * Macro to check [a-zA-Z] | |
| 248 * | |
| 249 */ | |
| 250 #define IS_ASCII_LETTER(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \ | |
| 251 ((0x61 <= (c)) && ((c) <= 0x7a))) | |
| 252 | |
| 253 /** | |
| 254 * IS_ASCII_DIGIT: | |
| 255 * @c: an xmlChar value | |
| 256 * | |
| 257 * Macro to check [0-9] | |
| 258 * | |
| 259 */ | |
| 260 #define IS_ASCII_DIGIT(c) ((0x30 <= (c)) && ((c) <= 0x39)) | |
| 261 | |
| 262 /** | |
| 263 * IS_PUBIDCHAR: | |
| 264 * @c: an UNICODE value (int) | |
| 265 * | |
| 266 * Macro to check the following production in the XML spec: | |
| 267 * | |
| 268 * | |
| 269 * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%] | |
| 270 */ | |
| 271 #define IS_PUBIDCHAR(c) xmlIsPubidCharQ(c) | |
| 272 | |
| 273 /** | |
| 274 * IS_PUBIDCHAR_CH: | |
| 275 * @c: an xmlChar value (normally unsigned char) | |
| 276 * | |
| 277 * Same as IS_PUBIDCHAR but for single-byte value | |
| 278 */ | |
| 279 #define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c) | |
| 280 | |
| 281 /** | |
| 282 * SKIP_EOL: | |
| 283 * @p: and UTF8 string pointer | |
| 284 * | |
| 285 * Skips the end of line chars. | |
| 286 */ | |
| 287 #define SKIP_EOL(p) \ | |
| 288 if (*(p) == 0x13) { p++ ; if (*(p) == 0x10) p++; } \ | |
| 289 if (*(p) == 0x10) { p++ ; if (*(p) == 0x13) p++; } | |
| 290 | |
| 291 /** | |
| 292 * MOVETO_ENDTAG: | |
| 293 * @p: and UTF8 string pointer | |
| 294 * | |
| 295 * Skips to the next '>' char. | |
| 296 */ | |
| 297 #define MOVETO_ENDTAG(p) \ | |
| 298 while ((*p) && (*(p) != '>')) (p)++ | |
| 299 | |
| 300 /** | |
| 301 * MOVETO_STARTTAG: | |
| 302 * @p: and UTF8 string pointer | |
| 303 * | |
| 304 * Skips to the next '<' char. | |
| 305 */ | |
| 306 #define MOVETO_STARTTAG(p) \ | |
| 307 while ((*p) && (*(p) != '<')) (p)++ | |
| 308 | |
| 309 /** | |
| 310 * Global variables used for predefined strings. | |
| 311 */ | |
| 312 XMLPUBVAR const xmlChar xmlStringText[]; | |
| 313 XMLPUBVAR const xmlChar xmlStringTextNoenc[]; | |
| 314 XMLPUBVAR const xmlChar xmlStringComment[]; | |
| 315 | |
| 316 /* | |
| 317 * Function to finish the work of the macros where needed. | |
| 318 */ | |
| 319 XMLPUBFUN int XMLCALL xmlIsLetter (int c); | |
| 320 | |
| 321 /** | |
| 322 * Parser context. | |
| 323 */ | |
| 324 XMLPUBFUN xmlParserCtxtPtr XMLCALL | |
| 325 xmlCreateFileParserCtxt (const char *filename); | |
| 326 XMLPUBFUN xmlParserCtxtPtr XMLCALL | |
| 327 xmlCreateURLParserCtxt (const char *filename, | |
| 328 int options); | |
| 329 XMLPUBFUN xmlParserCtxtPtr XMLCALL | |
| 330 xmlCreateMemoryParserCtxt(const char *buffer, | |
| 331 int size); | |
| 332 XMLPUBFUN xmlParserCtxtPtr XMLCALL | |
| 333 xmlCreateEntityParserCtxt(const xmlChar *URL, | |
| 334 const xmlChar *ID, | |
| 335 const xmlChar *base); | |
| 336 XMLPUBFUN int XMLCALL | |
| 337 xmlSwitchEncoding (xmlParserCtxtPtr ctxt, | |
| 338 xmlCharEncoding enc); | |
| 339 XMLPUBFUN int XMLCALL | |
| 340 xmlSwitchToEncoding (xmlParserCtxtPtr ctxt, | |
| 341 xmlCharEncodingHandlerPtr handler); | |
| 342 XMLPUBFUN int XMLCALL | |
| 343 xmlSwitchInputEncoding (xmlParserCtxtPtr ctxt, | |
| 344 xmlParserInputPtr input, | |
| 345 xmlCharEncodingHandlerPtr handler); | |
| 346 | |
| 347 #ifdef IN_LIBXML | |
| 348 /* internal error reporting */ | |
| 349 XMLPUBFUN void XMLCALL | |
| 350 __xmlErrEncoding (xmlParserCtxtPtr ctxt, | |
| 351 xmlParserErrors xmlerr, | |
| 352 const char *msg, | |
| 353 const xmlChar * str1, | |
| 354 const xmlChar * str2) LIBXML_ATTR_FORMAT(3,0); | |
| 355 #endif | |
| 356 | |
| 357 /** | |
| 358 * Input Streams. | |
| 359 */ | |
| 360 XMLPUBFUN xmlParserInputPtr XMLCALL | |
| 361 xmlNewStringInputStream (xmlParserCtxtPtr ctxt, | |
| 362 const xmlChar *buffer); | |
| 363 XMLPUBFUN xmlParserInputPtr XMLCALL | |
| 364 xmlNewEntityInputStream (xmlParserCtxtPtr ctxt, | |
| 365 xmlEntityPtr entity); | |
| 366 XMLPUBFUN int XMLCALL | |
| 367 xmlPushInput (xmlParserCtxtPtr ctxt, | |
| 368 xmlParserInputPtr input); | |
| 369 XMLPUBFUN xmlChar XMLCALL | |
| 370 xmlPopInput (xmlParserCtxtPtr ctxt); | |
| 371 XMLPUBFUN void XMLCALL | |
| 372 xmlFreeInputStream (xmlParserInputPtr input); | |
| 373 XMLPUBFUN xmlParserInputPtr XMLCALL | |
| 374 xmlNewInputFromFile (xmlParserCtxtPtr ctxt, | |
| 375 const char *filename); | |
| 376 XMLPUBFUN xmlParserInputPtr XMLCALL | |
| 377 xmlNewInputStream (xmlParserCtxtPtr ctxt); | |
| 378 | |
| 379 /** | |
| 380 * Namespaces. | |
| 381 */ | |
| 382 XMLPUBFUN xmlChar * XMLCALL | |
| 383 xmlSplitQName (xmlParserCtxtPtr ctxt, | |
| 384 const xmlChar *name, | |
| 385 xmlChar **prefix); | |
| 386 | |
| 387 /** | |
| 388 * Generic production rules. | |
| 389 */ | |
| 390 XMLPUBFUN const xmlChar * XMLCALL | |
| 391 xmlParseName (xmlParserCtxtPtr ctxt); | |
| 392 XMLPUBFUN xmlChar * XMLCALL | |
| 393 xmlParseNmtoken (xmlParserCtxtPtr ctxt); | |
| 394 XMLPUBFUN xmlChar * XMLCALL | |
| 395 xmlParseEntityValue (xmlParserCtxtPtr ctxt, | |
| 396 xmlChar **orig); | |
| 397 XMLPUBFUN xmlChar * XMLCALL | |
| 398 xmlParseAttValue (xmlParserCtxtPtr ctxt); | |
| 399 XMLPUBFUN xmlChar * XMLCALL | |
| 400 xmlParseSystemLiteral (xmlParserCtxtPtr ctxt); | |
| 401 XMLPUBFUN xmlChar * XMLCALL | |
| 402 xmlParsePubidLiteral (xmlParserCtxtPtr ctxt); | |
| 403 XMLPUBFUN void XMLCALL | |
| 404 xmlParseCharData (xmlParserCtxtPtr ctxt, | |
| 405 int cdata); | |
| 406 XMLPUBFUN xmlChar * XMLCALL | |
| 407 xmlParseExternalID (xmlParserCtxtPtr ctxt, | |
| 408 xmlChar **publicID, | |
| 409 int strict); | |
| 410 XMLPUBFUN void XMLCALL | |
| 411 xmlParseComment (xmlParserCtxtPtr ctxt); | |
| 412 XMLPUBFUN const xmlChar * XMLCALL | |
| 413 xmlParsePITarget (xmlParserCtxtPtr ctxt); | |
| 414 XMLPUBFUN void XMLCALL | |
| 415 xmlParsePI (xmlParserCtxtPtr ctxt); | |
| 416 XMLPUBFUN void XMLCALL | |
| 417 xmlParseNotationDecl (xmlParserCtxtPtr ctxt); | |
| 418 XMLPUBFUN void XMLCALL | |
| 419 xmlParseEntityDecl (xmlParserCtxtPtr ctxt); | |
| 420 XMLPUBFUN int XMLCALL | |
| 421 xmlParseDefaultDecl (xmlParserCtxtPtr ctxt, | |
| 422 xmlChar **value); | |
| 423 XMLPUBFUN xmlEnumerationPtr XMLCALL | |
| 424 xmlParseNotationType (xmlParserCtxtPtr ctxt); | |
| 425 XMLPUBFUN xmlEnumerationPtr XMLCALL | |
| 426 xmlParseEnumerationType (xmlParserCtxtPtr ctxt); | |
| 427 XMLPUBFUN int XMLCALL | |
| 428 xmlParseEnumeratedType (xmlParserCtxtPtr ctxt, | |
| 429 xmlEnumerationPtr *tree); | |
| 430 XMLPUBFUN int XMLCALL | |
| 431 xmlParseAttributeType (xmlParserCtxtPtr ctxt, | |
| 432 xmlEnumerationPtr *tree); | |
| 433 XMLPUBFUN void XMLCALL | |
| 434 xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt); | |
| 435 XMLPUBFUN xmlElementContentPtr XMLCALL | |
| 436 xmlParseElementMixedContentDecl | |
| 437 (xmlParserCtxtPtr ctxt, | |
| 438 int inputchk); | |
| 439 XMLPUBFUN xmlElementContentPtr XMLCALL | |
| 440 xmlParseElementChildrenContentDecl | |
| 441 (xmlParserCtxtPtr ctxt, | |
| 442 int inputchk); | |
| 443 XMLPUBFUN int XMLCALL | |
| 444 xmlParseElementContentDecl(xmlParserCtxtPtr ctxt, | |
| 445 const xmlChar *name, | |
| 446 xmlElementContentPtr *result); | |
| 447 XMLPUBFUN int XMLCALL | |
| 448 xmlParseElementDecl (xmlParserCtxtPtr ctxt); | |
| 449 XMLPUBFUN void XMLCALL | |
| 450 xmlParseMarkupDecl (xmlParserCtxtPtr ctxt); | |
| 451 XMLPUBFUN int XMLCALL | |
| 452 xmlParseCharRef (xmlParserCtxtPtr ctxt); | |
| 453 XMLPUBFUN xmlEntityPtr XMLCALL | |
| 454 xmlParseEntityRef (xmlParserCtxtPtr ctxt); | |
| 455 XMLPUBFUN void XMLCALL | |
| 456 xmlParseReference (xmlParserCtxtPtr ctxt); | |
| 457 XMLPUBFUN void XMLCALL | |
| 458 xmlParsePEReference (xmlParserCtxtPtr ctxt); | |
| 459 XMLPUBFUN void XMLCALL | |
| 460 xmlParseDocTypeDecl (xmlParserCtxtPtr ctxt); | |
| 461 #ifdef LIBXML_SAX1_ENABLED | |
| 462 XMLPUBFUN const xmlChar * XMLCALL | |
| 463 xmlParseAttribute (xmlParserCtxtPtr ctxt, | |
| 464 xmlChar **value); | |
| 465 XMLPUBFUN const xmlChar * XMLCALL | |
| 466 xmlParseStartTag (xmlParserCtxtPtr ctxt); | |
| 467 XMLPUBFUN void XMLCALL | |
| 468 xmlParseEndTag (xmlParserCtxtPtr ctxt); | |
| 469 #endif /* LIBXML_SAX1_ENABLED */ | |
| 470 XMLPUBFUN void XMLCALL | |
| 471 xmlParseCDSect (xmlParserCtxtPtr ctxt); | |
| 472 XMLPUBFUN void XMLCALL | |
| 473 xmlParseContent (xmlParserCtxtPtr ctxt); | |
| 474 XMLPUBFUN void XMLCALL | |
| 475 xmlParseElement (xmlParserCtxtPtr ctxt); | |
| 476 XMLPUBFUN xmlChar * XMLCALL | |
| 477 xmlParseVersionNum (xmlParserCtxtPtr ctxt); | |
| 478 XMLPUBFUN xmlChar * XMLCALL | |
| 479 xmlParseVersionInfo (xmlParserCtxtPtr ctxt); | |
| 480 XMLPUBFUN xmlChar * XMLCALL | |
| 481 xmlParseEncName (xmlParserCtxtPtr ctxt); | |
| 482 XMLPUBFUN const xmlChar * XMLCALL | |
| 483 xmlParseEncodingDecl (xmlParserCtxtPtr ctxt); | |
| 484 XMLPUBFUN int XMLCALL | |
| 485 xmlParseSDDecl (xmlParserCtxtPtr ctxt); | |
| 486 XMLPUBFUN void XMLCALL | |
| 487 xmlParseXMLDecl (xmlParserCtxtPtr ctxt); | |
| 488 XMLPUBFUN void XMLCALL | |
| 489 xmlParseTextDecl (xmlParserCtxtPtr ctxt); | |
| 490 XMLPUBFUN void XMLCALL | |
| 491 xmlParseMisc (xmlParserCtxtPtr ctxt); | |
| 492 XMLPUBFUN void XMLCALL | |
| 493 xmlParseExternalSubset (xmlParserCtxtPtr ctxt, | |
| 494 const xmlChar *ExternalID, | |
| 495 const xmlChar *SystemID); | |
| 496 /** | |
| 497 * XML_SUBSTITUTE_NONE: | |
| 498 * | |
| 499 * If no entities need to be substituted. | |
| 500 */ | |
| 501 #define XML_SUBSTITUTE_NONE 0 | |
| 502 /** | |
| 503 * XML_SUBSTITUTE_REF: | |
| 504 * | |
| 505 * Whether general entities need to be substituted. | |
| 506 */ | |
| 507 #define XML_SUBSTITUTE_REF 1 | |
| 508 /** | |
| 509 * XML_SUBSTITUTE_PEREF: | |
| 510 * | |
| 511 * Whether parameter entities need to be substituted. | |
| 512 */ | |
| 513 #define XML_SUBSTITUTE_PEREF 2 | |
| 514 /** | |
| 515 * XML_SUBSTITUTE_BOTH: | |
| 516 * | |
| 517 * Both general and parameter entities need to be substituted. | |
| 518 */ | |
| 519 #define XML_SUBSTITUTE_BOTH 3 | |
| 520 | |
| 521 XMLPUBFUN xmlChar * XMLCALL | |
| 522 xmlStringDecodeEntities (xmlParserCtxtPtr ctxt, | |
| 523 const xmlChar *str, | |
| 524 int what, | |
| 525 xmlChar end, | |
| 526 xmlChar end2, | |
| 527 xmlChar end3); | |
| 528 XMLPUBFUN xmlChar * XMLCALL | |
| 529 xmlStringLenDecodeEntities (xmlParserCtxtPtr ctxt, | |
| 530 const xmlChar *str, | |
| 531 int len, | |
| 532 int what, | |
| 533 xmlChar end, | |
| 534 xmlChar end2, | |
| 535 xmlChar end3); | |
| 536 | |
| 537 /* | |
| 538 * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP. | |
| 539 */ | |
| 540 XMLPUBFUN int XMLCALL nodePush (xmlParserCtxtPtr ctxt, | |
| 541 xmlNodePtr value); | |
| 542 XMLPUBFUN xmlNodePtr XMLCALL nodePop (xmlParserCtxtPtr ctxt); | |
| 543 XMLPUBFUN int XMLCALL inputPush (xmlParserCtxtPtr ctxt, | |
| 544 xmlParserInputPtr value); | |
| 545 XMLPUBFUN xmlParserInputPtr XMLCALL inputPop (xmlParserCtxtPtr ctxt); | |
| 546 XMLPUBFUN const xmlChar * XMLCALL namePop (xmlParserCtxtPtr ctxt); | |
| 547 XMLPUBFUN int XMLCALL namePush (xmlParserCtxtPtr ctxt, | |
| 548 const xmlChar *value); | |
| 549 | |
| 550 /* | |
| 551 * other commodities shared between parser.c and parserInternals. | |
| 552 */ | |
| 553 XMLPUBFUN int XMLCALL xmlSkipBlankChars (xmlParserCtxtPtr ctxt); | |
| 554 XMLPUBFUN int XMLCALL xmlStringCurrentChar (xmlParserCtxtPtr ctxt, | |
| 555 const xmlChar *cur, | |
| 556 int *len); | |
| 557 XMLPUBFUN void XMLCALL xmlParserHandlePEReference(xmlParserCtxtPtr ctxt); | |
| 558 XMLPUBFUN int XMLCALL xmlCheckLanguageID (const xmlChar *lang); | |
| 559 | |
| 560 /* | |
| 561 * Really core function shared with HTML parser. | |
| 562 */ | |
| 563 XMLPUBFUN int XMLCALL xmlCurrentChar (xmlParserCtxtPtr ctxt, | |
| 564 int *len); | |
| 565 XMLPUBFUN int XMLCALL xmlCopyCharMultiByte (xmlChar *out, | |
| 566 int val); | |
| 567 XMLPUBFUN int XMLCALL xmlCopyChar (int len, | |
| 568 xmlChar *out, | |
| 569 int val); | |
| 570 XMLPUBFUN void XMLCALL xmlNextChar (xmlParserCtxtPtr ctxt); | |
| 571 XMLPUBFUN void XMLCALL xmlParserInputShrink (xmlParserInputPtr in); | |
| 572 | |
| 573 #ifdef LIBXML_HTML_ENABLED | |
| 574 /* | |
| 575 * Actually comes from the HTML parser but launched from the init stuff. | |
| 576 */ | |
| 577 XMLPUBFUN void XMLCALL htmlInitAutoClose (void); | |
| 578 XMLPUBFUN htmlParserCtxtPtr XMLCALL htmlCreateFileParserCtxt(const char *filename, | |
| 579 const char *encoding); | |
| 580 #endif | |
| 581 | |
| 582 /* | |
| 583 * Specific function to keep track of entities references | |
| 584 * and used by the XSLT debugger. | |
| 585 */ | |
| 586 #ifdef LIBXML_LEGACY_ENABLED | |
| 587 /** | |
| 588 * xmlEntityReferenceFunc: | |
| 589 * @ent: the entity | |
| 590 * @firstNode: the fist node in the chunk | |
| 591 * @lastNode: the last nod in the chunk | |
| 592 * | |
| 593 * Callback function used when one needs to be able to track back the | |
| 594 * provenance of a chunk of nodes inherited from an entity replacement. | |
| 595 */ | |
| 596 typedef void (*xmlEntityReferenceFunc) (xmlEntityPtr ent, | |
| 597 xmlNodePtr firstNode, | |
| 598 xmlNodePtr lastNode); | |
| 599 | |
| 600 XMLPUBFUN void XMLCALL xmlSetEntityReferenceFunc (xmlEntityReferenceFunc func); | |
| 601 | |
| 602 XMLPUBFUN xmlChar * XMLCALL | |
| 603 xmlParseQuotedString (xmlParserCtxtPtr ctxt); | |
| 604 XMLPUBFUN void XMLCALL | |
| 605 xmlParseNamespace (xmlParserCtxtPtr ctxt); | |
| 606 XMLPUBFUN xmlChar * XMLCALL | |
| 607 xmlNamespaceParseNSDef (xmlParserCtxtPtr ctxt); | |
| 608 XMLPUBFUN xmlChar * XMLCALL | |
| 609 xmlScanName (xmlParserCtxtPtr ctxt); | |
| 610 XMLPUBFUN xmlChar * XMLCALL | |
| 611 xmlNamespaceParseNCName (xmlParserCtxtPtr ctxt); | |
| 612 XMLPUBFUN void XMLCALL xmlParserHandleReference(xmlParserCtxtPtr ctxt); | |
| 613 XMLPUBFUN xmlChar * XMLCALL | |
| 614 xmlNamespaceParseQName (xmlParserCtxtPtr ctxt, | |
| 615 xmlChar **prefix); | |
| 616 /** | |
| 617 * Entities | |
| 618 */ | |
| 619 XMLPUBFUN xmlChar * XMLCALL | |
| 620 xmlDecodeEntities (xmlParserCtxtPtr ctxt, | |
| 621 int len, | |
| 622 int what, | |
| 623 xmlChar end, | |
| 624 xmlChar end2, | |
| 625 xmlChar end3); | |
| 626 XMLPUBFUN void XMLCALL | |
| 627 xmlHandleEntity (xmlParserCtxtPtr ctxt, | |
| 628 xmlEntityPtr entity); | |
| 629 | |
| 630 #endif /* LIBXML_LEGACY_ENABLED */ | |
| 631 | |
| 632 #ifdef IN_LIBXML | |
| 633 /* | |
| 634 * internal only | |
| 635 */ | |
| 636 XMLPUBFUN void XMLCALL | |
| 637 xmlErrMemory (xmlParserCtxtPtr ctxt, | |
| 638 const char *extra); | |
| 639 #endif | |
| 640 | |
| 641 #ifdef __cplusplus | |
| 642 } | |
| 643 #endif | |
| 644 #endif /* __XML_PARSER_INTERNALS_H__ */ | 
