38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Summary: The DTD validation
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Description: API for the DTD handling and the validity checking
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Copy: See Copyright for the status of this software.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Author: Daniel Veillard
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifndef __XML_VALID_H__
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#define __XML_VALID_H__
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#include <libxml/xmlversion.h>
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#include <libxml/xmlerror.h>
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#include <libxml/tree.h>
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#include <libxml/list.h>
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#include <libxml/xmlautomata.h>
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#include <libxml/xmlregexp.h>
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef __cplusplus
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncextern "C" {
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Validation state added for non-determinist content model.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef struct _xmlValidState xmlValidState;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef xmlValidState *xmlValidStatePtr;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/**
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 *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Callback called when a validity error is found. This is a message
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * oriented function similar to an *printf function.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const char *msg,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync ...);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/**
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 *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Callback called when a validity warning is found. This is a message
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * oriented function similar to an *printf function.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const char *msg,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync ...);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef IN_LIBXML
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/**
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * XML_CTXT_FINISH_DTD_0:
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Special value for finishDtd field when embedded in an xmlParserCtxt
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#define XML_CTXT_FINISH_DTD_0 0xabcd1234
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/**
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * XML_CTXT_FINISH_DTD_1:
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Special value for finishDtd field when embedded in an xmlParserCtxt
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#define XML_CTXT_FINISH_DTD_1 0xabcd1235
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * xmlValidCtxt:
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * An xmlValidCtxt is used for error reporting when validating.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef struct _xmlValidCtxt xmlValidCtxt;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef xmlValidCtxt *xmlValidCtxtPtr;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncstruct _xmlValidCtxt {
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync void *userData; /* user specific data block */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidityErrorFunc error; /* the callback in case of errors */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidityWarningFunc warning; /* the callback in case of warning */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync /* Node analysis stack used when validating within entities */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr node; /* Current parsed Node */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int nodeNr; /* Depth of the parsing stack */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int nodeMax; /* Max depth of the parsing stack */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr *nodeTab; /* array of nodes */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync unsigned int finishDtd; /* finished validating the Dtd ? */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc; /* the document */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int valid; /* temporary validity check result */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync /* state state used for non-determinist content validation */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidState *vstate; /* current state */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int vstateNr; /* Depth of the validation stack */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int vstateMax; /* Max depth of the validation stack */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidState *vstateTab; /* array of validation states */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_REGEXP_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAutomataPtr am; /* the automata */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAutomataStatePtr state; /* used to build the automata */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#else
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync void *am;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync void *state;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync};
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * ALL notation declarations are stored in a table.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * There is one table per DTD.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef struct _xmlHashTable xmlNotationTable;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef xmlNotationTable *xmlNotationTablePtr;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * ALL element declarations are stored in a table.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * There is one table per DTD.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef struct _xmlHashTable xmlElementTable;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef xmlElementTable *xmlElementTablePtr;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * ALL attribute declarations are stored in a table.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * There is one table per DTD.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef struct _xmlHashTable xmlAttributeTable;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef xmlAttributeTable *xmlAttributeTablePtr;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * ALL IDs attributes are stored in a table.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * There is one table per document.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef struct _xmlHashTable xmlIDTable;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef xmlIDTable *xmlIDTablePtr;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * ALL Refs attributes are stored in a table.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * There is one table per document.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef struct _xmlHashTable xmlRefTable;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsynctypedef xmlRefTable *xmlRefTablePtr;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Notation */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlNotationPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDtdPtr dtd,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *PublicID,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *SystemID);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_TREE_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlNotationTablePtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlCopyNotationTable (xmlNotationTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_TREE_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlFreeNotationTable (xmlNotationTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_OUTPUT_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDumpNotationDecl (xmlBufferPtr buf,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNotationPtr nota);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDumpNotationTable (xmlBufferPtr buf,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNotationTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_OUTPUT_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Element Content */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* the non Doc version are being deprecated */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlElementContentPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNewElementContent (const xmlChar *name,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementContentType type);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlElementContentPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlCopyElementContent (xmlElementContentPtr content);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlFreeElementContent (xmlElementContentPtr cur);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* the new versions with doc argument */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlElementContentPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNewDocElementContent (xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementContentType type);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlElementContentPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlCopyDocElementContent(xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementContentPtr content);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlFreeDocElementContent(xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementContentPtr cur);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlSnprintfElementContent(char *buf,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int size,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementContentPtr content,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int englob);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_OUTPUT_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* DEPRECATED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlSprintfElementContent(char *buf,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementContentPtr content,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int englob);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_OUTPUT_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* DEPRECATED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Element */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlElementPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAddElementDecl (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDtdPtr dtd,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementTypeVal type,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementContentPtr content);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_TREE_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlElementTablePtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlCopyElementTable (xmlElementTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_TREE_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlFreeElementTable (xmlElementTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_OUTPUT_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDumpElementTable (xmlBufferPtr buf,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDumpElementDecl (xmlBufferPtr buf,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementPtr elem);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_OUTPUT_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Enumeration */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlEnumerationPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlCreateEnumeration (const xmlChar *name);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlFreeEnumeration (xmlEnumerationPtr cur);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_TREE_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlEnumerationPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlCopyEnumeration (xmlEnumerationPtr cur);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_TREE_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Attribute */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlAttributePtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAddAttributeDecl (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDtdPtr dtd,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *elem,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *ns,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttributeType type,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttributeDefault def,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *defaultValue,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlEnumerationPtr tree);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_TREE_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlAttributeTablePtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlCopyAttributeTable (xmlAttributeTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_TREE_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlFreeAttributeTable (xmlAttributeTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_OUTPUT_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDumpAttributeTable (xmlBufferPtr buf,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttributeTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDumpAttributeDecl (xmlBufferPtr buf,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttributePtr attr);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_OUTPUT_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* IDs */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlIDPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAddID (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *value,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttrPtr attr);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlFreeIDTable (xmlIDTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlAttrPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlGetID (xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *ID);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlIsID (xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr elem,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttrPtr attr);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlRemoveID (xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttrPtr attr);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* IDREFs */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlRefPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAddRef (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *value,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttrPtr attr);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlFreeRefTable (xmlRefTablePtr table);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlIsRef (xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr elem,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttrPtr attr);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlRemoveRef (xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttrPtr attr);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlListPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlGetRefs (xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *ID);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/**
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * The public function calls related to validity checking.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_VALID_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/* Allocate/Release Validation Contexts */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlValidCtxtPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNewValidCtxt(void);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN void XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlFreeValidCtxt(xmlValidCtxtPtr);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateRoot (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateElementDecl (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementPtr elem);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlChar * XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidNormalizeAttributeValue(xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr elem,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *value);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlChar * XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr elem,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *value);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttributePtr attr);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateAttributeValue(xmlAttributeType type,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *value);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateNotationDecl (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNotationPtr nota);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateDtd (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDtdPtr dtd);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateDtdFinal (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateDocument (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateElement (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr elem);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateOneElement (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr elem);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateOneAttribute (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr elem,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlAttrPtr attr,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *value);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateOneNamespace (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr elem,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *prefix,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNsPtr ns,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *value);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_VALID_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateNotationUse (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *notationName);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlIsMixedElement (xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlAttributePtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlGetDtdAttrDesc (xmlDtdPtr dtd,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *elem,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlAttributePtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlGetDtdQAttrDesc (xmlDtdPtr dtd,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *elem,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *prefix);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlNotationPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlGetDtdNotationDesc (xmlDtdPtr dtd,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlElementPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlGetDtdQElementDesc (xmlDtdPtr dtd,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *prefix);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN xmlElementPtr XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlGetDtdElementDesc (xmlDtdPtr dtd,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *name);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_VALID_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidGetPotentialChildren(xmlElementContent *ctree,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar **names,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int *len,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int max);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidGetValidElements(xmlNode *prev,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNode *next,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar **names,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int max);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateNameValue (const xmlChar *value);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateNamesValue (const xmlChar *value);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateNmtokenValue (const xmlChar *value);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidateNmtokensValue(const xmlChar *value);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef LIBXML_REGEXP_ENABLED
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Validation based on the regexp support
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlElementPtr elem);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidatePushElement (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr elem,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *qname);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidatePushCData (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *data,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync int len);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncXMLPUBFUN int XMLCALL
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlValidatePopElement (xmlValidCtxtPtr ctxt,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlDocPtr doc,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync xmlNodePtr elem,
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync const xmlChar *qname);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_REGEXP_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* LIBXML_VALID_ENABLED */
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#ifdef __cplusplus
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync}
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync#endif /* __XML_VALID_H__ */