| * Summary: internals routines and limits exported by the parser. | |
| * Description: this module exports a number of internal parsing routines | |
| * they are not really all intended for applications but | |
| * can prove useful doing low level processing. | |
| * | |
| * Copy: See Copyright for the status of this software. | |
| * | |
| * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. | |
| /if not defined(XML_PARSER_INTERNALS_H__) | |
| /define XML_PARSER_INTERNALS_H__ | |
| /include "libxmlrpg/xmlversion" | |
| /include "libxmlrpg/xmlTypesC" | |
| /include "libxmlrpg/parser" | |
| /include "libxmlrpg/HTMLparser" | |
| /include "libxmlrpg/chvalid" | |
| * xmlParserMaxDepth: | |
| * | |
| * arbitrary depth limit for the XML documents that we allow to | |
| * process. This is not a limitation of the parser but a safety | |
| * boundary feature, use XML_PARSE_HUGE option to override it. | |
| d xmlParserMaxDepth... | |
| d s import('xmlParserMaxDepth') | |
| d like(xmlCuint) | |
| * XML_MAX_TEXT_LENGTH: | |
| * | |
| * 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 | |
| d XML_MAX_TEXT_LENGTH... | |
| d c 10000000 | |
| * XML_MAX_NAME_LENGTH: | |
| * | |
| * Maximum size allowed for a markup identitier | |
| * 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 | |
| d XML_MAX_NAME_LENGTH... | |
| d c 50000 | |
| * XML_MAX_DICTIONARY_LIMIT: | |
| * | |
| * 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 | |
| d XML_MAX_DICTIONARY_LIMIT... | |
| d c 10000000 | |
| * XML_MAX_LOOKUP_LIMIT: | |
| * | |
| * 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 | |
| d XML_MAX_LOOKUP_LIMIT... | |
| d c 10000000 | |
| * XML_MAX_NAMELEN: | |
| * | |
| * Identifiers can be longer, but this will be more costly | |
| * at runtime. | |
| d XML_MAX_NAMELEN... | |
| d c 100 | |
| * INPUT_CHUNK: | |
| * | |
| * The parser tries to always have that amount of input ready. | |
| * One of the point is providing context when reporting errors. | |
| d INPUT_CHUNK c 250 | |
| * Global variables used for predefined strings. | |
| d xmlStringText s 4 import('xmlStringText') \0 in 5th byte | |
| d xmlStringTextNoenc... | |
| d s 9 import('xmlStringTextNoenc') \0 in 10th byte | |
| d xmlStringComment... | |
| d s 7 import('xmlStringComment') \0 in 8th byte | |
| * Function to finish the work of the macros where needed. | |
| d xmlIsLetter pr extproc('xmlIsLetter') | |
| d like(xmlCint) | |
| d c value like(xmlCint) | |
| * Parser context. | |
| d xmlCreateFileParserCtxt... | |
| d pr extproc('xmlCreateFileParserCtxt') | |
| d like(xmlParserCtxtPtr) | |
| d filename * value options(*string) const char * | |
| d xmlCreateURLParserCtxt... | |
| d pr extproc('xmlCreateURLParserCtxt') | |
| d like(xmlParserCtxtPtr) | |
| d filename * value options(*string) const char * | |
| d options value like(xmlCint) | |
| d xmlCreateMemoryParserCtxt... | |
| d pr extproc('xmlCreateMemoryParserCtxt') | |
| d like(xmlParserCtxtPtr) | |
| d buffer * value options(*string) const char * | |
| d size value like(xmlCint) | |
| d xmlCreateEntityParserCtxt... | |
| d pr extproc('xmlCreateEntityParserCtxt') | |
| d like(xmlParserCtxtPtr) | |
| d URL * value options(*string) const xmlChar * | |
| d ID * value options(*string) const xmlChar * | |
| d base * value options(*string) const xmlChar * | |
| d xmlSwitchEncoding... | |
| d pr extproc('xmlSwitchEncoding') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d enc value like(xmlCharEncoding) | |
| d xmlSwitchToEncoding... | |
| d pr extproc('xmlSwitchToEncoding') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d handler value like(xmlCharEncodingHandlerPtr) | |
| d xmlSwitchInputEncoding... | |
| d pr extproc('xmlSwitchInputEncoding') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d input value like(xmlParserInputPtr) | |
| d handler value like(xmlCharEncodingHandlerPtr) | |
| * Input Streams. | |
| d xmlNewStringInputStream... | |
| d pr extproc('xmlNewStringInputStream') | |
| d like(xmlParserInputPtr) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d buffer * value options(*string) const xmlChar * | |
| d xmlNewEntityInputStream... | |
| d pr extproc('xmlNewEntityInputStream') | |
| d like(xmlParserInputPtr) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d entity value like(xmlEntityPtr) | |
| d xmlPushInput pr extproc('xmlPushInput') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d input value like(xmlParserInputPtr) | |
| d xmlPopInput pr extproc('xmlPopInput') | |
| d like(xmlChar) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlFreeInputStream... | |
| d pr extproc('xmlFreeInputStream') | |
| d input value like(xmlParserInputPtr) | |
| d xmlNewInputFromFile... | |
| d pr extproc('xmlNewInputFromFile') | |
| d like(xmlParserInputPtr) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d filename * value options(*string) const char * | |
| d xmlNewInputStream... | |
| d pr extproc('xmlNewInputStream') | |
| d like(xmlParserInputPtr) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| * Namespaces. | |
| d xmlSplitQName pr * extproc('xmlSplitQName') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d name * value options(*string) const xmlChar * | |
| d prefix * xmlChar *(*) | |
| * Generic production rules. | |
| d xmlParseName pr * extproc('xmlParseName') const xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseNmtoken... | |
| d pr * extproc('xmlParseNmtoken') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseEntityValue... | |
| d pr * extproc('xmlParseEntityValue') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d orig * xmlChar *(*) | |
| d xmlParseAttValue... | |
| d pr * extproc('xmlParseAttValue') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseSystemLiteral... | |
| d pr * extproc('xmlParseSystemLiteral') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParsePubidLiteral... | |
| d pr * extproc('xmlParsePubidLiteral') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseCharData... | |
| d pr extproc('xmlParseCharData') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d cdata value like(xmlCint) | |
| d xmlParseExternalID... | |
| d pr * extproc('xmlParseExternalID') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d publicID * xmlChar *(*) | |
| d strict value like(xmlCint) | |
| d xmlParseComment... | |
| d pr extproc('xmlParseComment') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParsePITarget... | |
| d pr * extproc('xmlParsePITarget') const xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParsePI pr extproc('xmlParsePI') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseNotationDecl... | |
| d pr extproc('xmlParseNotationDecl') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseEntityDecl... | |
| d pr extproc('xmlParseEntityDecl') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseDefaultDecl... | |
| d pr extproc('xmlParseDefaultDecl') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d value * xmlChar *(*) | |
| d xmlParseNotationType... | |
| d pr extproc('xmlParseNotationType') | |
| d like(xmlEnumerationPtr) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseEnumerationType... | |
| d pr extproc('xmlParseEnumerationType') | |
| d like(xmlEnumerationPtr) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseEnumeratedType... | |
| d pr extproc('xmlParseEnumeratedType') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d tree * value xmlEnumerationPtr * | |
| d xmlParseAttributeType... | |
| d pr extproc('xmlParseAttributeType') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d tree * value xmlEnumerationPtr * | |
| d xmlParseAttributeListDecl... | |
| d pr extproc('xmlParseAttributeListDecl') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseElementMixedContentDecl... | |
| d pr extproc( | |
| d 'xmlParseElementMixedContentDecl') | |
| d like(xmlElementContentPtr) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d inputchk value like(xmlCint) | |
| d xmlParseElementChildrenContentDecl... | |
| d pr extproc( | |
| d 'xmlParseElementChildrenContentDecl') | |
| d like(xmlElementContentPtr) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d inputchk value like(xmlCint) | |
| d xmlParseElementContentDecl... | |
| d pr extproc('xmlParseElementContentDecl') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d name * value options(*string) const xmlChar * | |
| d result * value xmlElementContentPtr | |
| d * | |
| d xmlParseElementDecl... | |
| d pr extproc('xmlParseElementDecl') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseMarkupDecl... | |
| d pr extproc('xmlParseMarkupDecl') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseCharRef... | |
| d pr extproc('xmlParseCharRef') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseEntityRef... | |
| d pr extproc('xmlParseEntityRef') | |
| d like(xmlEntityPtr) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseReference... | |
| d pr extproc('xmlParseReference') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParsePEReference... | |
| d pr extproc('xmlParsePEReference') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseDocTypeDecl... | |
| d pr extproc('xmlParseDocTypeDecl') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| /if defined(LIBXML_SAX1_ENABLED) | |
| d xmlParseAttribute... | |
| d pr * extproc('xmlParseAttribute') const xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d value * xmlChar *(*) | |
| d xmlParseStartTag... | |
| d pr * extproc('xmlParseStartTag') const xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseEndTag pr extproc('xmlParseEndTag') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| /endif LIBXML_SAX1_ENABLED | |
| d xmlParseCDSect pr extproc('xmlParseCDSect') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseContent... | |
| d pr extproc('xmlParseContent') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseElement... | |
| d pr extproc('xmlParseElement') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseVersionNum... | |
| d pr * extproc('xmlParseVersionNum') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseVersionInfo... | |
| d pr * extproc('xmlParseVersionInfo') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseEncName... | |
| d pr * extproc('xmlParseEncName') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseEncodingDecl... | |
| d pr * extproc('xmlParseEncodingDecl') const xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseSDDecl pr extproc('xmlParseSDDecl') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseXMLDecl... | |
| d pr extproc('xmlParseXMLDecl') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseTextDecl... | |
| d pr extproc('xmlParseTextDecl') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseMisc pr extproc('xmlParseMisc') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseExternalSubset... | |
| d pr extproc('xmlParseExternalSubset') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d ExternalID * value options(*string) const xmlChar * | |
| d SystemID * value options(*string) const xmlChar * | |
| * XML_SUBSTITUTE_NONE: | |
| * | |
| * If no entities need to be substituted. | |
| d XML_SUBSTITUTE_NONE... | |
| d c 0 | |
| * XML_SUBSTITUTE_REF: | |
| * | |
| * Whether general entities need to be substituted. | |
| d XML_SUBSTITUTE_REF... | |
| d c 1 | |
| * XML_SUBSTITUTE_PEREF: | |
| * | |
| * Whether parameter entities need to be substituted. | |
| d XML_SUBSTITUTE_PEREF... | |
| d c 2 | |
| * XML_SUBSTITUTE_BOTH: | |
| * | |
| * Both general and parameter entities need to be substituted. | |
| d XML_SUBSTITUTE_BOTH... | |
| d c 3 | |
| d xmlStringDecodeEntities... | |
| d pr * extproc('xmlStringDecodeEntities') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d str * value options(*string) const xmlChar * | |
| d what value like(xmlCint) | |
| d end value like(xmlChar) | |
| d end2 value like(xmlChar) | |
| d end3 value like(xmlChar) | |
| d xmlStringLenDecodeEntities... | |
| d pr * extproc('xmlStringLenDecodeEntities')xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d str * value options(*string) const xmlChar * | |
| d len value like(xmlCint) | |
| d what value like(xmlCint) | |
| d end value like(xmlChar) | |
| d end2 value like(xmlChar) | |
| d end3 value like(xmlChar) | |
| * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP. | |
| d nodePush pr extproc('nodePush') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d value value like(xmlNodePtr) | |
| d nodePop pr extproc('nodePop') | |
| d like(xmlNodePtr) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d inputPush pr extproc('inputPush') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d value value like(xmlParserInputPtr) | |
| d inputPop pr extproc('inputPop') | |
| d like(xmlParserInputPtr) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d namePop pr * extproc('namePop') const xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d namePush pr extproc('namePush') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d value * value options(*string) const xmlChar * | |
| * other commodities shared between parser.c and parserInternals. | |
| d xmlSkipBlankChars... | |
| d pr extproc('xmlSkipBlankChars') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlStringCurrentChar... | |
| d pr extproc('xmlStringCurrentChar') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d cur * value options(*string) const xmlChar * | |
| d len * value int * | |
| d xmlParserHandlePEReference... | |
| d pr extproc('xmlParserHandlePEReference') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlCheckLanguageID... | |
| d pr extproc('xmlCheckLanguageID') | |
| d like(xmlCint) | |
| d lang * value options(*string) const xmlChar * | |
| * Really core function shared with HTML parser. | |
| d xmlCurrentChar pr extproc('xmlCurrentChar') | |
| d like(xmlCint) | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d len * value int * | |
| d xmlCopyCharMultiByte... | |
| d pr extproc('xmlCopyCharMultiByte') | |
| d like(xmlCint) | |
| d out * value options(*string) xmlChar * | |
| d val value like(xmlCint) | |
| d xmlCopyChar pr extproc('xmlCopyChar') | |
| d like(xmlCint) | |
| d len value like(xmlCint) | |
| d out * value options(*string) xmlChar * | |
| d val value like(xmlCint) | |
| d xmlNextChar pr extproc('xmlNextChar') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParserInputShrink... | |
| d pr extproc('xmlParserInputShrink') | |
| d in value like(xmlParserInputPtr) | |
| /if defined(LIBXML_HTML_ENABLED) | |
| * Actually comes from the HTML parser but launched from the init stuff. | |
| d htmlInitAutoClose... | |
| d pr extproc('htmlInitAutoClose') | |
| d htmlCreateFileParserCtxt... | |
| d pr extproc('htmlCreateFileParserCtxt') | |
| d like(htmlParserCtxtPtr) | |
| d filename * value options(*string) const char * | |
| d encoding * value options(*string) const char * | |
| /endif | |
| * Specific function to keep track of entities references | |
| * and used by the XSLT debugger. | |
| /if defined(LIBXML_LEGACY_ENABLED) | |
| * xmlEntityReferenceFunc: | |
| * @ent: the entity | |
| * @firstNode: the fist node in the chunk | |
| * @lastNode: the last nod in the chunk | |
| * | |
| * Callback function used when one needs to be able to track back the | |
| * provenance of a chunk of nodes inherited from an entity replacement. | |
| d xmlEntityReferenceFunc... | |
| d s * based(######typedef######) | |
| d procptr | |
| d xmlSetEntityReferenceFunc... | |
| d pr extproc('xmlSetEntityReferenceFunc') | |
| d func value like(xmlEntityReferenceFunc) | |
| d xmlParseQuotedString... | |
| d pr * extproc('xmlParseQuotedString') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParseNamespace... | |
| d pr extproc('xmlParseNamespace') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlNamespaceParseNSDef... | |
| d pr * extproc('xmlNamespaceParseNSDef') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlScanName pr * extproc('xmlScanName') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlNamespaceParseNCName... | |
| d pr * extproc('xmlNamespaceParseNCName') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlParserHandleReference... | |
| d pr extproc('xmlParserHandleReference') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d xmlNamespaceParseQName... | |
| d pr * extproc('xmlNamespaceParseQName') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d prefix * xmlChar *(*) | |
| * Entities | |
| d xmlDecodeEntities... | |
| d pr * extproc('xmlDecodeEntities') xmlChar * | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d len value like(xmlCint) | |
| d what value like(xmlCint) | |
| d end value like(xmlChar) | |
| d end2 value like(xmlChar) | |
| d end3 value like(xmlChar) | |
| d xmlHandleEntity... | |
| d pr extproc('xmlHandleEntity') | |
| d ctxt value like(xmlParserCtxtPtr) | |
| d entity value like(xmlEntityPtr) | |
| /endif LIBXML_LEGACY_ENABLD | |
| /endif |