generated from sethub/template
[libxml2]Add libxml2 library
This commit is contained in:
@@ -0,0 +1,544 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @brief Internals routines and limits exported by the parser.
|
||||
*
|
||||
* Except for some I/O-related functions, most of these macros and
|
||||
* functions are deprecated.
|
||||
*
|
||||
* @copyright See Copyright for the status of this software.
|
||||
*
|
||||
* @author Daniel Veillard
|
||||
*/
|
||||
|
||||
#ifndef __XML_PARSER_INTERNALS_H__
|
||||
#define __XML_PARSER_INTERNALS_H__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/HTMLparser.h>
|
||||
#include <libxml/chvalid.h>
|
||||
#include <libxml/SAX2.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Push an input on the stack.
|
||||
*
|
||||
* @deprecated Use #xmlCtxtPushInput
|
||||
*/
|
||||
#define inputPush xmlCtxtPushInput
|
||||
/**
|
||||
* Pop an input from the stack.
|
||||
*
|
||||
* @deprecated Use #xmlCtxtPushInput
|
||||
*/
|
||||
#define inputPop xmlCtxtPopInput
|
||||
/**
|
||||
* Maximum element nesting depth (without XML_PARSE_HUGE).
|
||||
*/
|
||||
#define xmlParserMaxDepth 256
|
||||
|
||||
/**
|
||||
* Maximum size allowed for a single text node when building a tree.
|
||||
* This is not a limitation of the parser but a safety boundary feature,
|
||||
* use XML_PARSE_HUGE option to override it.
|
||||
* Introduced in 2.9.0
|
||||
*/
|
||||
#define XML_MAX_TEXT_LENGTH 10000000
|
||||
|
||||
/**
|
||||
* Maximum size allowed when XML_PARSE_HUGE is set.
|
||||
*/
|
||||
#define XML_MAX_HUGE_LENGTH 1000000000
|
||||
|
||||
/**
|
||||
* Maximum size allowed for a markup identifier.
|
||||
* This is not a limitation of the parser but a safety boundary feature,
|
||||
* use XML_PARSE_HUGE option to override it.
|
||||
* Note that with the use of parsing dictionaries overriding the limit
|
||||
* may result in more runtime memory usage in face of "unfriendly' content
|
||||
* Introduced in 2.9.0
|
||||
*/
|
||||
#define XML_MAX_NAME_LENGTH 50000
|
||||
|
||||
/**
|
||||
* Maximum size allowed by the parser for a dictionary by default
|
||||
* This is not a limitation of the parser but a safety boundary feature,
|
||||
* use XML_PARSE_HUGE option to override it.
|
||||
* Introduced in 2.9.0
|
||||
*/
|
||||
#define XML_MAX_DICTIONARY_LIMIT 100000000
|
||||
|
||||
/**
|
||||
* Maximum size allowed by the parser for ahead lookup
|
||||
* This is an upper boundary enforced by the parser to avoid bad
|
||||
* behaviour on "unfriendly' content
|
||||
* Introduced in 2.9.0
|
||||
*/
|
||||
#define XML_MAX_LOOKUP_LIMIT 10000000
|
||||
|
||||
/**
|
||||
* Identifiers can be longer, but this will be more costly
|
||||
* at runtime.
|
||||
*/
|
||||
#define XML_MAX_NAMELEN 100
|
||||
|
||||
/************************************************************************
|
||||
* *
|
||||
* UNICODE version of the macros. *
|
||||
* *
|
||||
************************************************************************/
|
||||
/**
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [2] Char ::= #x9 | #xA | #xD | [#x20...]
|
||||
*
|
||||
* any byte character in the accepted range
|
||||
*
|
||||
* @param c an byte value (int)
|
||||
*/
|
||||
#define IS_BYTE_CHAR(c) xmlIsChar_ch(c)
|
||||
|
||||
/**
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
|
||||
* | [#x10000-#x10FFFF]
|
||||
*
|
||||
* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
|
||||
*
|
||||
* @param c an UNICODE value (int)
|
||||
*/
|
||||
#define IS_CHAR(c) xmlIsCharQ(c)
|
||||
|
||||
/**
|
||||
* Behaves like IS_CHAR on single-byte value
|
||||
*
|
||||
* @param c an xmlChar (usually an unsigned char)
|
||||
*/
|
||||
#define IS_CHAR_CH(c) xmlIsChar_ch(c)
|
||||
|
||||
/**
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [3] S ::= (#x20 | #x9 | #xD | #xA)+
|
||||
* @param c an UNICODE value (int)
|
||||
*/
|
||||
#define IS_BLANK(c) xmlIsBlankQ(c)
|
||||
|
||||
/**
|
||||
* Behaviour same as IS_BLANK
|
||||
*
|
||||
* @param c an xmlChar value (normally unsigned char)
|
||||
*/
|
||||
#define IS_BLANK_CH(c) xmlIsBlank_ch(c)
|
||||
|
||||
/**
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [85] BaseChar ::= ... long list see REC ...
|
||||
* @param c an UNICODE value (int)
|
||||
*/
|
||||
#define IS_BASECHAR(c) xmlIsBaseCharQ(c)
|
||||
|
||||
/**
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [88] Digit ::= ... long list see REC ...
|
||||
* @param c an UNICODE value (int)
|
||||
*/
|
||||
#define IS_DIGIT(c) xmlIsDigitQ(c)
|
||||
|
||||
/**
|
||||
* Behaves like IS_DIGIT but with a single byte argument
|
||||
*
|
||||
* @param c an xmlChar value (usually an unsigned char)
|
||||
*/
|
||||
#define IS_DIGIT_CH(c) xmlIsDigit_ch(c)
|
||||
|
||||
/**
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [87] CombiningChar ::= ... long list see REC ...
|
||||
* @param c an UNICODE value (int)
|
||||
*/
|
||||
#define IS_COMBINING(c) xmlIsCombiningQ(c)
|
||||
|
||||
/**
|
||||
* Always false (all combining chars > 0xff)
|
||||
*
|
||||
* @param c an xmlChar (usually an unsigned char)
|
||||
*/
|
||||
#define IS_COMBINING_CH(c) 0
|
||||
|
||||
/**
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 |
|
||||
* #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] |
|
||||
* [#x309D-#x309E] | [#x30FC-#x30FE]
|
||||
* @param c an UNICODE value (int)
|
||||
*/
|
||||
#define IS_EXTENDER(c) xmlIsExtenderQ(c)
|
||||
|
||||
/**
|
||||
* Behaves like IS_EXTENDER but with a single-byte argument
|
||||
*
|
||||
* @param c an xmlChar value (usually an unsigned char)
|
||||
*/
|
||||
#define IS_EXTENDER_CH(c) xmlIsExtender_ch(c)
|
||||
|
||||
/**
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
|
||||
* @param c an UNICODE value (int)
|
||||
*/
|
||||
#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c)
|
||||
|
||||
/**
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [84] Letter ::= BaseChar | Ideographic
|
||||
* @param c an UNICODE value (int)
|
||||
*/
|
||||
#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))
|
||||
|
||||
/**
|
||||
* Macro behaves like IS_LETTER, but only check base chars
|
||||
*
|
||||
* @param c an xmlChar value (normally unsigned char)
|
||||
*/
|
||||
#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c)
|
||||
|
||||
/**
|
||||
* Macro to check [a-zA-Z]
|
||||
*
|
||||
* @param c an xmlChar value
|
||||
*/
|
||||
#define IS_ASCII_LETTER(c) ((0x61 <= ((c) | 0x20)) && \
|
||||
(((c) | 0x20) <= 0x7a))
|
||||
|
||||
/**
|
||||
* Macro to check [0-9]
|
||||
*
|
||||
* @param c an xmlChar value
|
||||
*/
|
||||
#define IS_ASCII_DIGIT(c) ((0x30 <= (c)) && ((c) <= 0x39))
|
||||
|
||||
/**
|
||||
* Macro to check the following production in the XML spec:
|
||||
*
|
||||
* [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] |
|
||||
* [-'()+,./:=?;!*#@$_%]
|
||||
* @param c an UNICODE value (int)
|
||||
*/
|
||||
#define IS_PUBIDCHAR(c) xmlIsPubidCharQ(c)
|
||||
|
||||
/**
|
||||
* Same as IS_PUBIDCHAR but for single-byte value
|
||||
*
|
||||
* @param c an xmlChar value (normally unsigned char)
|
||||
*/
|
||||
#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c)
|
||||
|
||||
/*
|
||||
* Global variables used for predefined strings.
|
||||
*/
|
||||
/** @cond ignore */
|
||||
XMLPUBVAR const xmlChar xmlStringText[];
|
||||
XMLPUBVAR const xmlChar xmlStringTextNoenc[];
|
||||
XML_DEPRECATED
|
||||
XMLPUBVAR const xmlChar xmlStringComment[];
|
||||
/** @endcond */
|
||||
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int xmlIsLetter (int c);
|
||||
|
||||
/*
|
||||
* Parser context.
|
||||
*/
|
||||
XMLPUBFUN xmlParserCtxt *
|
||||
xmlCreateFileParserCtxt (const char *filename);
|
||||
XMLPUBFUN xmlParserCtxt *
|
||||
xmlCreateURLParserCtxt (const char *filename,
|
||||
int options);
|
||||
XMLPUBFUN xmlParserCtxt *
|
||||
xmlCreateMemoryParserCtxt(const char *buffer,
|
||||
int size);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlParserCtxt *
|
||||
xmlCreateEntityParserCtxt(const xmlChar *URL,
|
||||
const xmlChar *ID,
|
||||
const xmlChar *base);
|
||||
XMLPUBFUN void
|
||||
xmlCtxtErrMemory (xmlParserCtxt *ctxt);
|
||||
XMLPUBFUN int
|
||||
xmlSwitchEncoding (xmlParserCtxt *ctxt,
|
||||
xmlCharEncoding enc);
|
||||
XMLPUBFUN int
|
||||
xmlSwitchEncodingName (xmlParserCtxt *ctxt,
|
||||
const char *encoding);
|
||||
XMLPUBFUN int
|
||||
xmlSwitchToEncoding (xmlParserCtxt *ctxt,
|
||||
xmlCharEncodingHandler *handler);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int
|
||||
xmlSwitchInputEncoding (xmlParserCtxt *ctxt,
|
||||
xmlParserInput *input,
|
||||
xmlCharEncodingHandler *handler);
|
||||
|
||||
/*
|
||||
* Input Streams.
|
||||
*/
|
||||
XMLPUBFUN xmlParserInput *
|
||||
xmlNewStringInputStream (xmlParserCtxt *ctxt,
|
||||
const xmlChar *buffer);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlParserInput *
|
||||
xmlNewEntityInputStream (xmlParserCtxt *ctxt,
|
||||
xmlEntity *entity);
|
||||
XMLPUBFUN int
|
||||
xmlCtxtPushInput (xmlParserCtxt *ctxt,
|
||||
xmlParserInput *input);
|
||||
XMLPUBFUN xmlParserInput *
|
||||
xmlCtxtPopInput (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int
|
||||
xmlPushInput (xmlParserCtxt *ctxt,
|
||||
xmlParserInput *input);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar
|
||||
xmlPopInput (xmlParserCtxt *ctxt);
|
||||
XMLPUBFUN void
|
||||
xmlFreeInputStream (xmlParserInput *input);
|
||||
XMLPUBFUN xmlParserInput *
|
||||
xmlNewInputFromFile (xmlParserCtxt *ctxt,
|
||||
const char *filename);
|
||||
XMLPUBFUN xmlParserInput *
|
||||
xmlNewInputStream (xmlParserCtxt *ctxt);
|
||||
|
||||
/*
|
||||
* Namespaces.
|
||||
*/
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlSplitQName (xmlParserCtxt *ctxt,
|
||||
const xmlChar *name,
|
||||
xmlChar **prefix);
|
||||
|
||||
/*
|
||||
* Generic production rules.
|
||||
*/
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN const xmlChar *
|
||||
xmlParseName (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlParseNmtoken (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlParseEntityValue (xmlParserCtxt *ctxt,
|
||||
xmlChar **orig);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlParseAttValue (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlParseSystemLiteral (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlParsePubidLiteral (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseCharData (xmlParserCtxt *ctxt,
|
||||
int cdata);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlParseExternalID (xmlParserCtxt *ctxt,
|
||||
xmlChar **publicId,
|
||||
int strict);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseComment (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN const xmlChar *
|
||||
xmlParsePITarget (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParsePI (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseNotationDecl (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseEntityDecl (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int
|
||||
xmlParseDefaultDecl (xmlParserCtxt *ctxt,
|
||||
xmlChar **value);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlEnumeration *
|
||||
xmlParseNotationType (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlEnumeration *
|
||||
xmlParseEnumerationType (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int
|
||||
xmlParseEnumeratedType (xmlParserCtxt *ctxt,
|
||||
xmlEnumeration **tree);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int
|
||||
xmlParseAttributeType (xmlParserCtxt *ctxt,
|
||||
xmlEnumeration **tree);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseAttributeListDecl(xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlElementContent *
|
||||
xmlParseElementMixedContentDecl
|
||||
(xmlParserCtxt *ctxt,
|
||||
int inputchk);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlElementContent *
|
||||
xmlParseElementChildrenContentDecl
|
||||
(xmlParserCtxt *ctxt,
|
||||
int inputchk);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int
|
||||
xmlParseElementContentDecl(xmlParserCtxt *ctxt,
|
||||
const xmlChar *name,
|
||||
xmlElementContent **result);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int
|
||||
xmlParseElementDecl (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseMarkupDecl (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int
|
||||
xmlParseCharRef (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlEntity *
|
||||
xmlParseEntityRef (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseReference (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParsePEReference (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseDocTypeDecl (xmlParserCtxt *ctxt);
|
||||
#ifdef LIBXML_SAX1_ENABLED
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN const xmlChar *
|
||||
xmlParseAttribute (xmlParserCtxt *ctxt,
|
||||
xmlChar **value);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN const xmlChar *
|
||||
xmlParseStartTag (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseEndTag (xmlParserCtxt *ctxt);
|
||||
#endif /* LIBXML_SAX1_ENABLED */
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseCDSect (xmlParserCtxt *ctxt);
|
||||
XMLPUBFUN void
|
||||
xmlParseContent (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseElement (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlParseVersionNum (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlParseVersionInfo (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlParseEncName (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN const xmlChar *
|
||||
xmlParseEncodingDecl (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int
|
||||
xmlParseSDDecl (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseXMLDecl (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseTextDecl (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseMisc (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void
|
||||
xmlParseExternalSubset (xmlParserCtxt *ctxt,
|
||||
const xmlChar *publicId,
|
||||
const xmlChar *systemId);
|
||||
|
||||
/** @cond ignore */
|
||||
#define XML_SUBSTITUTE_NONE 0
|
||||
#define XML_SUBSTITUTE_REF 1
|
||||
#define XML_SUBSTITUTE_PEREF 2
|
||||
#define XML_SUBSTITUTE_BOTH 3
|
||||
/** @endcond */
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlStringDecodeEntities (xmlParserCtxt *ctxt,
|
||||
const xmlChar *str,
|
||||
int what,
|
||||
xmlChar end,
|
||||
xmlChar end2,
|
||||
xmlChar end3);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN xmlChar *
|
||||
xmlStringLenDecodeEntities (xmlParserCtxt *ctxt,
|
||||
const xmlChar *str,
|
||||
int len,
|
||||
int what,
|
||||
xmlChar end,
|
||||
xmlChar end2,
|
||||
xmlChar end3);
|
||||
|
||||
/*
|
||||
* other commodities shared between parser.c and parserInternals.
|
||||
*/
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int xmlSkipBlankChars (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int xmlStringCurrentChar (xmlParserCtxt *ctxt,
|
||||
const xmlChar *cur,
|
||||
int *len);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void xmlParserHandlePEReference(xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int xmlCheckLanguageID (const xmlChar *lang);
|
||||
|
||||
/*
|
||||
* Really core function shared with HTML parser.
|
||||
*/
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int xmlCurrentChar (xmlParserCtxt *ctxt,
|
||||
int *len);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int xmlCopyCharMultiByte (xmlChar *out,
|
||||
int val);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN int xmlCopyChar (int len,
|
||||
xmlChar *out,
|
||||
int val);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void xmlNextChar (xmlParserCtxt *ctxt);
|
||||
XML_DEPRECATED
|
||||
XMLPUBFUN void xmlParserInputShrink (xmlParserInput *in);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* __XML_PARSER_INTERNALS_H__ */
|
||||
Reference in New Issue
Block a user