aboutsummaryrefslogtreecommitdiff
path: root/libxml2-2.9.10/os400/libxmlrpg/parserInternals.rpgle
diff options
context:
space:
mode:
Diffstat (limited to 'libxml2-2.9.10/os400/libxmlrpg/parserInternals.rpgle')
-rw-r--r--libxml2-2.9.10/os400/libxmlrpg/parserInternals.rpgle598
1 files changed, 598 insertions, 0 deletions
diff --git a/libxml2-2.9.10/os400/libxmlrpg/parserInternals.rpgle b/libxml2-2.9.10/os400/libxmlrpg/parserInternals.rpgle
new file mode 100644
index 0000000..6c8f388
--- /dev/null
+++ b/libxml2-2.9.10/os400/libxmlrpg/parserInternals.rpgle
@@ -0,0 +1,598 @@
+ * 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