* Summary: The DTD validation | |
* Description: API for the DTD handling and the validity checking | |
* | |
* Copy: See Copyright for the status of this software. | |
* | |
* Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. | |
/if not defined(XML_VALID_H__) | |
/define XML_VALID_H__ | |
/include "libxmlrpg/xmlversion" | |
/include "libxmlrpg/xmlTypesC" | |
/include "libxmlrpg/xmlerror" | |
/include "libxmlrpg/tree" | |
/include "libxmlrpg/list" | |
/include "libxmlrpg/xmlautomata" | |
/include "libxmlrpg/xmlregexp" | |
* Validation state added for non-determinist content model. | |
d xmlValidStatePtr... | |
d s * based(######typedef######) | |
* xmlValidityErrorFunc: | |
* @ctx: usually an xmlValidCtxtPtr to a validity error context, | |
* but comes from ctxt->userData (which normally contains such | |
* a pointer); ctxt->userData can be changed by the user. | |
* @msg: the string to format *printf like vararg | |
* @...: remaining arguments to the format | |
* | |
* Callback called when a validity error is found. This is a message | |
* oriented function similar to an *printf function. | |
d xmlValidityErrorFunc... | |
d s * based(######typedef######) | |
d procptr | |
* xmlValidityWarningFunc: | |
* @ctx: usually an xmlValidCtxtPtr to a validity error context, | |
* but comes from ctxt->userData (which normally contains such | |
* a pointer); ctxt->userData can be changed by the user. | |
* @msg: the string to format *printf like vararg | |
* @...: remaining arguments to the format | |
* | |
* Callback called when a validity warning is found. This is a message | |
* oriented function similar to an *printf function. | |
d xmlValidityWarningFunc... | |
d s * based(######typedef######) | |
d procptr | |
* xmlValidCtxt: | |
* An xmlValidCtxt is used for error reporting when validating. | |
d xmlValidCtxtPtr... | |
d s * based(######typedef######) | |
d xmlValidCtxt ds based(xmlValidCtxtPtr) | |
d align qualified | |
d userdata * void * | |
d error like(xmlValidityErrorFunc) Error callback | |
d warning like(xmlValidityWarningFunc) Warning callback | |
* | |
* Node analysis stack used when validating within entities | |
* | |
d node like(xmlNodePtr) Current parsed Node | |
d nodeNr like(xmlCint) Parsing stack depth | |
d nodeMax like(xmlCint) Max stack depth | |
d nodeTab * xmlNodePtr * | |
* | |
d finishDtd like(xmlCuint) | |
d doc like(xmlDocPtr) The document | |
d valid like(xmlCint) Temp check result | |
* | |
* state state used for non-determinist content validation | |
* | |
d vstate * xmlValidState * | |
d vstateNr like(xmlCint) Validat. stack depth | |
d vstateMax like(xmlCint) Max stack depth | |
d vstateTab * xmlValidState * | |
* | |
/if defined(LIBXML_REGEXP_ENABLED) | |
d am like(xmlAutomataPtr) The automata | |
d state like(xmlAutomataStatePtr) Automata build state | |
/else | |
d am * | |
d state * | |
/endif | |
* ALL notation declarations are stored in a table. | |
* There is one table per DTD. | |
d xmlNotationTablePtr... | |
d s * based(######typedef######) | |
* ALL element declarations are stored in a table. | |
* There is one table per DTD. | |
d xmlElementTablePtr... | |
d s * based(######typedef######) | |
* ALL attribute declarations are stored in a table. | |
* There is one table per DTD. | |
d xmlAttributeTablePtr... | |
d s * based(######typedef######) | |
* ALL IDs attributes are stored in a table. | |
* There is one table per document. | |
d xmlIDTablePtr s * based(######typedef######) | |
* ALL Refs attributes are stored in a table. | |
* There is one table per document. | |
d xmlRefTablePtr s * based(######typedef######) | |
* Notation | |
d xmlAddNotationDecl... | |
d pr extproc('xmlAddNotationDecl') | |
d like(xmlNotationPtr) | |
d ctxt value like(xmlValidCtxtPtr) | |
d dtd value like(xmlDtdPtr) | |
d name * value options(*string) const xmlChar * | |
d PublicID * value options(*string) const xmlChar * | |
d SystemID * value options(*string) const xmlChar * | |
/if defined(LIBXML_TREE_ENABLED) | |
d xmlCopyNotationTable... | |
d pr extproc('xmlCopyNotationTable') | |
d like(xmlNotationPtr) | |
d table value like(xmlNotationTablePtr) | |
/endif LIBXML_TREE_ENABLED | |
d xmlFreeNotationTable... | |
d pr extproc('xmlFreeNotationTable') | |
d table value like(xmlNotationTablePtr) | |
/if defined(LIBXML_OUTPUT_ENABLED) | |
d xmlDumpNotationDecl... | |
d pr extproc('xmlDumpNotationDecl') | |
d buf value like(xmlBufferPtr) | |
d nota value like(xmlNotationPtr) | |
d xmlDumpNotationTable... | |
d pr extproc('xmlDumpNotationTable') | |
d buf value like(xmlBufferPtr) | |
d table value like(xmlNotationTablePtr) | |
/endif LIBXML_OUTPUT_ENABLD | |
* Element Content | |
* the non Doc version are being deprecated | |
d xmlNewElementContent... | |
d pr extproc('xmlNewElementContent') | |
d like(xmlElementContentPtr) | |
d name * value const xmlChar * | |
d type value like(xmlElementContentType) | |
d xmlCopyElementContent... | |
d pr extproc('xmlCopyElementContent') | |
d like(xmlElementContentPtr) | |
d content value like(xmlElementContentPtr) | |
d xmlFreeElementContent... | |
d pr extproc('xmlFreeElementContent') | |
d cur value like(xmlElementContentPtr) | |
* the new versions with doc argument | |
d xmlNewDocElementContent... | |
d pr extproc('xmlNewDocElementContent') | |
d like(xmlElementContentPtr) | |
d doc value like(xmlDocPtr) | |
d name * value const xmlChar * | |
d type value like(xmlElementContentType) | |
d xmlCopyDocElementContent... | |
d pr extproc('xmlCopyDocElementContent') | |
d like(xmlElementContentPtr) | |
d doc value like(xmlDocPtr) | |
d content value like(xmlElementContentPtr) | |
d xmlFreeDocElementContent... | |
d pr extproc('xmlFreeDocElementContent') | |
d doc value like(xmlDocPtr) | |
d cur value like(xmlElementContentPtr) | |
d xmlSnprintfElementContent... | |
d pr extproc('xmlSnprintfElementContent') | |
d buf 65535 options(*varsize) | |
d size value like(xmlCint) | |
d content value like(xmlElementContentPtr) | |
d englob value like(xmlCint) | |
/if defined(LIBXML_OUTPUT_ENABLED) | |
* DEPRECATED | |
d xmlSprintfElementContent... | |
d pr extproc('xmlSprintfElementContent') | |
d buf 65535 options(*varsize) | |
d content value like(xmlElementContentPtr) | |
d englob value like(xmlCint) | |
/endif LIBXML_OUTPUT_ENABLD | |
* DEPRECATED | |
* Element | |
d xmlAddElementDecl... | |
d pr extproc('xmlAddElementDecl') | |
d like(xmlElementPtr) | |
d ctxt value like(xmlValidCtxtPtr) | |
d dtd value like(xmlDtdPtr) | |
d name * value options(*string) const xmlChar * | |
d type value like(xmlElementTypeVal) | |
d content value like(xmlElementContentPtr) | |
/if defined(LIBXML_TREE_ENABLED) | |
d xmlCopyElementTable... | |
d pr extproc('xmlCopyElementTable') | |
d like(xmlElementTablePtr) | |
d table value like(xmlElementTablePtr) | |
/endif LIBXML_TREE_ENABLED | |
d xmlFreeElementTable... | |
d pr extproc('xmlFreeElementTable') | |
d table value like(xmlElementTablePtr) | |
/if defined(LIBXML_OUTPUT_ENABLED) | |
d xmlDumpElementTable... | |
d pr extproc('xmlDumpElementTable') | |
d buf value like(xmlBufferPtr) | |
d table value like(xmlElementTablePtr) | |
d xmlDumpElementDecl... | |
d pr extproc('xmlDumpElementDecl') | |
d buf value like(xmlBufferPtr) | |
d elem value like(xmlElementPtr) | |
/endif LIBXML_OUTPUT_ENABLD | |
* Enumeration | |
d xmlCreateEnumeration... | |
d pr extproc('xmlCreateEnumeration') | |
d like(xmlEnumerationPtr) | |
d name * value options(*string) const xmlChar * | |
d xmlFreeEnumeration... | |
d pr extproc('xmlFreeEnumeration') | |
d cur value like(xmlEnumerationPtr) | |
/if defined(LIBXML_TREE_ENABLED) | |
d xmlCopyEnumeration... | |
d pr extproc('xmlCopyEnumeration') | |
d like(xmlEnumerationPtr) | |
d cur value like(xmlEnumerationPtr) | |
/endif LIBXML_TREE_ENABLED | |
* Attribute | |
d xmlAddAttributeDecl... | |
d pr extproc('xmlAddAttributeDecl') | |
d like(xmlAttributePtr) | |
d ctxt value like(xmlValidCtxtPtr) | |
d dtd value like(xmlDtdPtr) | |
d elem * value options(*string) const xmlChar * | |
d name * value options(*string) const xmlChar * | |
d ns * value options(*string) const xmlChar * | |
d type value like(xmlAttributeType) | |
d def value like(xmlAttributeDefault) | |
d defaultValue * value options(*string) const xmlChar * | |
d tree value like(xmlEnumerationPtr) | |
/if defined(LIBXML_TREE_ENABLED) | |
d xmlCopyAttributeTable... | |
d pr extproc('xmlCopyAttributeTable') | |
d like(xmlAttributeTablePtr) | |
d table value like(xmlAttributeTablePtr) | |
/endif LIBXML_TREE_ENABLED | |
d xmlFreeAttributeTable... | |
d pr extproc('xmlFreeAttributeTable') | |
d table value like(xmlAttributeTablePtr) | |
/if defined(LIBXML_OUTPUT_ENABLED) | |
d xmlDumpAttributeTable... | |
d pr extproc('xmlDumpAttributeTable') | |
d buf value like(xmlBufferPtr) | |
d table value like(xmlAttributeTablePtr) | |
d xmlDumpAttributeDecl... | |
d pr extproc('xmlDumpAttributeDecl') | |
d buf value like(xmlBufferPtr) | |
d attr value like(xmlAttributePtr) | |
/endif LIBXML_OUTPUT_ENABLD | |
* IDs | |
d xmlAddID pr extproc('xmlAddID') | |
d like(xmlIDPtr) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d value * value options(*string) const xmlChar * | |
d attr value like(xmlAttrPtr) | |
d xmlFreeIdTable pr extproc('xmlFreeIDTable') | |
d table value like(xmlIDTablePtr) | |
d xmlGetID pr extproc('xmlGetID') | |
d like(xmlAttrPtr) | |
d doc value like(xmlDocPtr) | |
d ID * value options(*string) const xmlChar * | |
d xmlIsID pr extproc('xmlIsID') | |
d like(xmlCint) | |
d doc value like(xmlDocPtr) | |
d node value like(xmlNodePtr) | |
d attr value like(xmlAttrPtr) | |
d xmlRemoveID pr extproc('xmlRemoveID') | |
d like(xmlCint) | |
d doc value like(xmlDocPtr) | |
d attr value like(xmlAttrPtr) | |
* IDREFs | |
d xmlAddRef pr extproc('xmlAddRef') | |
d like(xmlRefPtr) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d value * value options(*string) const xmlChar * | |
d attr value like(xmlAttrPtr) | |
d xmlFreeRefTable... | |
d pr extproc('xmlFreeRefTable') | |
d table value like(xmlRefTablePtr) | |
d xmlIsRef pr extproc('xmlIsRef') | |
d like(xmlCint) | |
d doc value like(xmlDocPtr) | |
d node value like(xmlNodePtr) | |
d attr value like(xmlAttrPtr) | |
d xmlRemoveRef pr extproc('xmlRemoveRef') | |
d like(xmlCint) | |
d doc value like(xmlDocPtr) | |
d attr value like(xmlAttrPtr) | |
d xmlGetRefs pr extproc('xmlGetRefs') | |
d like(xmlListPtr) | |
d doc value like(xmlDocPtr) | |
d ID * value options(*string) const xmlChar * | |
* The public function calls related to validity checking. | |
/if defined(LIBXML_VALID_ENABLED) | |
* Allocate/Release Validation Contexts | |
d xmlNewValidCtxt... | |
d pr extproc('xmlNewValidCtxt') | |
d like(xmlValidCtxtPtr) | |
d xmlFreeValidCtxt... | |
d pr extproc('xmlFreeValidCtxt') | |
d ctxt value like(xmlValidCtxtPtr) | |
d xmlValidateRoot... | |
d pr extproc('xmlValidateRoot') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d xmlValidateElementDecl... | |
d pr extproc('xmlValidateElementDecl') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d elem value like(xmlElementPtr) | |
d xmlValidNormalizeAttributeValue... | |
d pr * extproc( xmlChar * | |
d 'xmlValidNormalizeAttributeValue') | |
d doc value like(xmlDocPtr) | |
d elem value like(xmlNodePtr) | |
d name * value options(*string) const xmlChar * | |
d value * value options(*string) const xmlChar * | |
d xmlValidCtxtNormalizeAttributeValue... | |
d pr * extproc('xmlValidCtxt+ xmlChar * | |
d NormalizeAttributeValue') | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d elem value like(xmlNodePtr) | |
d name * value options(*string) const xmlChar * | |
d value * value options(*string) const xmlChar * | |
d xmlValidateAttributeDecl... | |
d pr extproc('xmlValidateAttributeDecl') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d attr value like(xmlAttributePtr) | |
d xmlValidateAttributeValue... | |
d pr extproc('xmlValidateAttributeValue') | |
d like(xmlCint) | |
d type value like(xmlAttributeType) | |
d value * value options(*string) const xmlChar * | |
d xmlValidateNotationDecl... | |
d pr extproc('xmlValidateNotationDecl') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d nota value like(xmlNotationPtr) | |
d xmlValidateDtd pr extproc('xmlValidateDtd') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d dtd value like(xmlDtdPtr) | |
d xmlValidateDtdFinal... | |
d pr extproc('xmlValidateDtdFinal') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d xmlValidateDocument... | |
d pr extproc('xmlValidateDocument') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d xmlValidateElement... | |
d pr extproc('xmlValidateElement') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d elem value like(xmlNodePtr) | |
d xmlValidateOneElement... | |
d pr extproc('xmlValidateOneElement') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d elem value like(xmlNodePtr) | |
d xmlValidateOneAttribute... | |
d pr extproc('xmlValidateOneAttribute') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d elem value like(xmlNodePtr) | |
d attr value like(xmlAttrPtr) | |
d value * value options(*string) const xmlChar * | |
d xmlValidateOneNamespace... | |
d pr extproc('xmlValidateOneNamespace') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d elem value like(xmlNodePtr) | |
d prefix * value options(*string) const xmlChar * | |
d ns value like(xmlNsPtr) | |
d value * value options(*string) const xmlChar * | |
d xmlValidateDocumentFinal... | |
d pr extproc('xmlValidateDocumentFinal') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
/endif LIBXML_VALID_ENABLED | |
/undefine XML_TESTVAL | |
/if defined(LIBXML_VALID_ENABLED) | |
/define XML_TESTVAL | |
/elseif defined(LIBXML_SCHEMAS_ENABLED) | |
/define XML_TESTVAL | |
/endif | |
/if defined(XML_TESTVAL) | |
d xmlValidateNotationUse... | |
d pr extproc('xmlValidateNotationUse') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d notationName * value options(*string) const xmlChar * | |
/undefine XML_TESTVAL | |
/endif | |
d xmlIsMixedElement... | |
d pr extproc('xmlIsMixedElement') | |
d like(xmlCint) | |
d doc value like(xmlDocPtr) | |
d name * value options(*string) const xmlChar * | |
d xmlGetDtdAttrDesc... | |
d pr extproc('xmlGetDtdAttrDesc') | |
d like(xmlAttributePtr) | |
d dtd value like(xmlDtdPtr) | |
d elem * value options(*string) const xmlChar * | |
d name * value options(*string) const xmlChar * | |
d xmlGetDtdQAttrDesc... | |
d pr extproc('xmlGetDtdQAttrDesc') | |
d like(xmlAttributePtr) | |
d dtd value like(xmlDtdPtr) | |
d elem * value options(*string) const xmlChar * | |
d name * value options(*string) const xmlChar * | |
d prefix * value options(*string) const xmlChar * | |
d xmlGetDtdNotationDesc... | |
d pr extproc('xmlGetDtdNotationDesc') | |
d like(xmlNotationPtr) | |
d dtd value like(xmlDtdPtr) | |
d name * value options(*string) const xmlChar * | |
d xmlGetDtdQElementDesc... | |
d pr extproc('xmlGetDtdQElementDesc') | |
d like(xmlElementPtr) | |
d dtd value like(xmlDtdPtr) | |
d name * value options(*string) const xmlChar * | |
d prefix * value options(*string) const xmlChar * | |
d xmlGetDtdElementDesc... | |
d pr extproc('xmlGetDtdElementDesc') | |
d like(xmlElementPtr) | |
d dtd value like(xmlDtdPtr) | |
d name * value options(*string) const xmlChar * | |
/if defined(LIBXML_VALID_ENABLED) | |
d xmlValidGetPotentialChildren... | |
d pr extproc( | |
d 'xmlValidGetPotentialChildren') | |
d like(xmlCint) | |
d ctree * value xmlElementContent * | |
d names * const xmlChar *(*) | |
d len like(xmlCint) | |
d max value like(xmlCint) | |
d xmlValidGetValidElements... | |
d pr extproc('xmlValidGetValidElements') | |
d like(xmlCint) | |
d prev like(xmlNodePtr) | |
d next like(xmlNodePtr) | |
d names * const xmlChar *(*) | |
d max value like(xmlCint) | |
d xmlValidateNameValue... | |
d pr extproc('xmlValidateNameValue') | |
d like(xmlCint) | |
d value * value options(*string) const xmlChar * | |
d xmlValidateNamesValue... | |
d pr extproc('xmlValidateNamesValue') | |
d like(xmlCint) | |
d value * value options(*string) const xmlChar * | |
d xmlValidateNmtokenValue... | |
d pr extproc('xmlValidateNmtokenValue') | |
d like(xmlCint) | |
d value * value options(*string) const xmlChar * | |
d xmlValidateNmtokensValue... | |
d pr extproc('xmlValidateNmtokensValue') | |
d like(xmlCint) | |
d value * value options(*string) const xmlChar * | |
/if defined(LIBXML_REGEXP_ENABLED) | |
* Validation based on the regexp support | |
d xmlValidBuildContentModel... | |
d pr extproc('xmlValidBuildContentModel') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d elem value like(xmlElementPtr) | |
d xmlValidatePushElement... | |
d pr extproc('xmlValidatePushElement') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d elem value like(xmlNodePtr) | |
d qname * value options(*string) const xmlChar * | |
d xmlValidatePushCData... | |
d pr extproc('xmlValidatePushCData') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d data * value options(*string) const xmlChar * | |
d len value like(xmlCint) | |
d xmlValidatePopElement... | |
d pr extproc('xmlValidatePopElement') | |
d like(xmlCint) | |
d ctxt value like(xmlValidCtxtPtr) | |
d doc value like(xmlDocPtr) | |
d elem value like(xmlNodePtr) | |
d qname * value options(*string) const xmlChar * | |
/endif LIBXML_REGEXP_ENABLD | |
/endif LIBXML_VALID_ENABLED | |
/endif XML_VALID_H__ |