38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Summary: The DTD validation
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Description: API for the DTD handling and the validity checking
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Copy: See Copyright for the status of this software.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Author: Daniel Veillard
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncextern "C" {
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Validation state added for non-determinist content model.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * xmlValidityErrorFunc:
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * @ctx: usually an xmlValidCtxtPtr to a validity error context,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * but comes from ctxt->userData (which normally contains such
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * a pointer); ctxt->userData can be changed by the user.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * @msg: the string to format *printf like vararg
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * @...: remaining arguments to the format
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Callback called when a validity error is found. This is a message
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * oriented function similar to an *printf function.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const char *msg,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * xmlValidityWarningFunc:
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * @ctx: usually an xmlValidCtxtPtr to a validity error context,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * but comes from ctxt->userData (which normally contains such
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * a pointer); ctxt->userData can be changed by the user.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * @msg: the string to format *printf like vararg
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * @...: remaining arguments to the format
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Callback called when a validity warning is found. This is a message
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * oriented function similar to an *printf function.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const char *msg,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * XML_CTXT_FINISH_DTD_0:
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Special value for finishDtd field when embedded in an xmlParserCtxt
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * XML_CTXT_FINISH_DTD_1:
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Special value for finishDtd field when embedded in an xmlParserCtxt
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * xmlValidCtxt:
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * An xmlValidCtxt is used for error reporting when validating.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidityErrorFunc error; /* the callback in case of errors */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidityWarningFunc warning; /* the callback in case of warning */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync /* Node analysis stack used when validating within entities */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync unsigned int finishDtd; /* finished validating the Dtd ? */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync /* state state used for non-determinist content validation */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int vstateMax; /* Max depth of the validation stack */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidState *vstateTab; /* array of validation states */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAutomataStatePtr state; /* used to build the automata */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * ALL notation declarations are stored in a table.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * There is one table per DTD.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * ALL element declarations are stored in a table.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * There is one table per DTD.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * ALL attribute declarations are stored in a table.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * There is one table per DTD.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * ALL IDs attributes are stored in a table.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * There is one table per document.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * ALL Refs attributes are stored in a table.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * There is one table per document.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Notation */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_TREE_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_OUTPUT_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Element Content */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* the non Doc version are being deprecated */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlCopyElementContent (xmlElementContentPtr content);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* the new versions with doc argument */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* DEPRECATED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_OUTPUT_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* DEPRECATED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Element */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_TREE_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_OUTPUT_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Enumeration */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_TREE_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Attribute */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlCopyAttributeTable (xmlAttributeTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_TREE_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlFreeAttributeTable (xmlAttributeTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_OUTPUT_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* IDREFs */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * The public function calls related to validity checking.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Allocate/Release Validation Contexts */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_VALID_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidGetPotentialChildren(xmlElementContent *ctree,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Validation based on the regexp support
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_REGEXP_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_VALID_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* __XML_VALID_H__ */