blob: 32ebbd39afae2e62c876916b49a03c4d5f716fb0 [file] [log] [blame]
* 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__