15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Summary: The DTD validation
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Description: API for the DTD handling and the validity checking
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copy: See Copyright for the status of this software.
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Author: Daniel Veillard
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __XML_VALID_H__
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define __XML_VALID_H__
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlversion.h>
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlerror.h>
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/tree.h>
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/list.h>
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlautomata.h>
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlregexp.h>
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" {
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Validation state added for non-determinist content model.
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlValidState xmlValidState;
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlValidState *xmlValidStatePtr;
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlValidityErrorFunc:
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *        but comes from ctxt->userData (which normally contains such
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *        a pointer); ctxt->userData can be changed by the user.
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @msg:  the string to format *printf like vararg
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @...:  remaining arguments to the format
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Callback called when a validity error is found. This is a message
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * oriented function similar to an *printf function.
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			     const char *msg,
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			     ...) LIBXML_ATTR_FORMAT(2,3);
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlValidityWarningFunc:
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *        but comes from ctxt->userData (which normally contains such
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *        a pointer); ctxt->userData can be changed by the user.
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @msg:  the string to format *printf like vararg
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @...:  remaining arguments to the format
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Callback called when a validity warning is found. This is a message
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * oriented function similar to an *printf function.
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			       const char *msg,
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)			       ...) LIBXML_ATTR_FORMAT(2,3);
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef IN_LIBXML
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * XML_CTXT_FINISH_DTD_0:
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Special value for finishDtd field when embedded in an xmlParserCtxt
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define XML_CTXT_FINISH_DTD_0 0xabcd1234
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * XML_CTXT_FINISH_DTD_1:
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Special value for finishDtd field when embedded in an xmlParserCtxt
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define XML_CTXT_FINISH_DTD_1 0xabcd1235
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlValidCtxt:
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * An xmlValidCtxt is used for error reporting when validating.
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlValidCtxt xmlValidCtxt;
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlValidCtxt *xmlValidCtxtPtr;
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct _xmlValidCtxt {
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void *userData;			/* user specific data block */
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlValidityErrorFunc error;		/* the callback in case of errors */
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlValidityWarningFunc warning;	/* the callback in case of warning */
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* Node analysis stack used when validating within entities */
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlNodePtr         node;          /* Current parsed Node */
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int                nodeNr;        /* Depth of the parsing stack */
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int                nodeMax;       /* Max depth of the parsing stack */
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlNodePtr        *nodeTab;       /* array of nodes */
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    unsigned int     finishDtd;       /* finished validating the Dtd ? */
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlDocPtr              doc;       /* the document */
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int                  valid;       /* temporary validity check result */
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* state state used for non-determinist content validation */
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlValidState     *vstate;        /* current state */
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int                vstateNr;      /* Depth of the validation stack */
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int                vstateMax;     /* Max depth of the validation stack */
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlValidState     *vstateTab;     /* array of validation states */
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_REGEXP_ENABLED
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlAutomataPtr            am;     /* the automata */
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    xmlAutomataStatePtr    state;     /* used to build the automata */
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void                     *am;
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void                  *state;
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ALL notation declarations are stored in a table.
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * There is one table per DTD.
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlHashTable xmlNotationTable;
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlNotationTable *xmlNotationTablePtr;
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ALL element declarations are stored in a table.
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * There is one table per DTD.
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlHashTable xmlElementTable;
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlElementTable *xmlElementTablePtr;
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ALL attribute declarations are stored in a table.
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * There is one table per DTD.
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlHashTable xmlAttributeTable;
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlAttributeTable *xmlAttributeTablePtr;
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ALL IDs attributes are stored in a table.
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * There is one table per document.
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlHashTable xmlIDTable;
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlIDTable *xmlIDTablePtr;
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ALL Refs attributes are stored in a table.
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * There is one table per document.
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlHashTable xmlRefTable;
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlRefTable *xmlRefTablePtr;
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Notation */
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNotationPtr XMLCALL
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlAddNotationDecl	(xmlValidCtxtPtr ctxt,
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDtdPtr dtd,
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *PublicID,
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *SystemID);
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNotationTablePtr XMLCALL
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyNotationTable	(xmlNotationTablePtr table);
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_TREE_ENABLED */
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeNotationTable	(xmlNotationTablePtr table);
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_OUTPUT_ENABLED
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDumpNotationDecl	(xmlBufferPtr buf,
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNotationPtr nota);
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDumpNotationTable	(xmlBufferPtr buf,
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNotationTablePtr table);
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_OUTPUT_ENABLED */
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Element Content */
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* the non Doc version are being deprecated */
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlElementContentPtr XMLCALL
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewElementContent	(const xmlChar *name,
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlElementContentType type);
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlElementContentPtr XMLCALL
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyElementContent	(xmlElementContentPtr content);
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeElementContent	(xmlElementContentPtr cur);
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* the new versions with doc argument */
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlElementContentPtr XMLCALL
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewDocElementContent	(xmlDocPtr doc,
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlElementContentType type);
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlElementContentPtr XMLCALL
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyDocElementContent(xmlDocPtr doc,
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlElementContentPtr content);
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeDocElementContent(xmlDocPtr doc,
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlElementContentPtr cur);
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSnprintfElementContent(char *buf,
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int size,
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	                                 xmlElementContentPtr content,
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int englob);
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_OUTPUT_ENABLED
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* DEPRECATED */
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSprintfElementContent(char *buf,
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	                                 xmlElementContentPtr content,
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int englob);
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_OUTPUT_ENABLED */
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* DEPRECATED */
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Element */
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlElementPtr XMLCALL
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlAddElementDecl	(xmlValidCtxtPtr ctxt,
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDtdPtr dtd,
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlElementTypeVal type,
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlElementContentPtr content);
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlElementTablePtr XMLCALL
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyElementTable	(xmlElementTablePtr table);
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_TREE_ENABLED */
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeElementTable	(xmlElementTablePtr table);
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_OUTPUT_ENABLED
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDumpElementTable	(xmlBufferPtr buf,
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlElementTablePtr table);
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDumpElementDecl	(xmlBufferPtr buf,
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlElementPtr elem);
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_OUTPUT_ENABLED */
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Enumeration */
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlEnumerationPtr XMLCALL
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCreateEnumeration	(const xmlChar *name);
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeEnumeration	(xmlEnumerationPtr cur);
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlEnumerationPtr XMLCALL
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyEnumeration	(xmlEnumerationPtr cur);
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_TREE_ENABLED */
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Attribute */
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttributePtr XMLCALL
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlAddAttributeDecl	(xmlValidCtxtPtr ctxt,
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDtdPtr dtd,
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *elem,
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *ns,
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlAttributeType type,
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlAttributeDefault def,
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *defaultValue,
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlEnumerationPtr tree);
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_TREE_ENABLED
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttributeTablePtr XMLCALL
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlCopyAttributeTable  (xmlAttributeTablePtr table);
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_TREE_ENABLED */
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeAttributeTable  (xmlAttributeTablePtr table);
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_OUTPUT_ENABLED
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDumpAttributeTable  (xmlBufferPtr buf,
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlAttributeTablePtr table);
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDumpAttributeDecl   (xmlBufferPtr buf,
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlAttributePtr attr);
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_OUTPUT_ENABLED */
2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* IDs */
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlIDPtr XMLCALL
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlAddID	       (xmlValidCtxtPtr ctxt,
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlDocPtr doc,
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					const xmlChar *value,
2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlAttrPtr attr);
2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeIDTable	       (xmlIDTablePtr table);
2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttrPtr XMLCALL
2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetID	       (xmlDocPtr doc,
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					const xmlChar *ID);
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlIsID		       (xmlDocPtr doc,
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlNodePtr elem,
2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlAttrPtr attr);
2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlRemoveID	       (xmlDocPtr doc,
2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlAttrPtr attr);
2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* IDREFs */
2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlRefPtr XMLCALL
2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlAddRef	       (xmlValidCtxtPtr ctxt,
2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlDocPtr doc,
2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					const xmlChar *value,
2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlAttrPtr attr);
2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeRefTable	       (xmlRefTablePtr table);
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlIsRef	       (xmlDocPtr doc,
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlNodePtr elem,
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlAttrPtr attr);
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlRemoveRef	       (xmlDocPtr doc,
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					xmlAttrPtr attr);
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlListPtr XMLCALL
3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetRefs	       (xmlDocPtr doc,
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					const xmlChar *ID);
3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The public function calls related to validity checking.
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_VALID_ENABLED
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Allocate/Release Validation Contexts */
3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlValidCtxtPtr XMLCALL
3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlNewValidCtxt(void);
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlFreeValidCtxt(xmlValidCtxtPtr);
3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateRoot		(xmlValidCtxtPtr ctxt,
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc);
3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateElementDecl	(xmlValidCtxtPtr ctxt,
3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		                         xmlElementPtr elem);
3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidNormalizeAttributeValue(xmlDocPtr doc,
3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr elem,
3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlChar * XMLCALL
3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr elem,
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		                         xmlAttributePtr attr);
3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateAttributeValue(xmlAttributeType type,
3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateNotationDecl	(xmlValidCtxtPtr ctxt,
3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		                         xmlNotationPtr nota);
3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateDtd		(xmlValidCtxtPtr ctxt,
3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDtdPtr dtd);
3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateDtdFinal	(xmlValidCtxtPtr ctxt,
3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc);
3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateDocument	(xmlValidCtxtPtr ctxt,
3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc);
3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateElement	(xmlValidCtxtPtr ctxt,
3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr elem);
3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateOneElement	(xmlValidCtxtPtr ctxt,
3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		                         xmlNodePtr elem);
3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateOneAttribute	(xmlValidCtxtPtr ctxt,
3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr	elem,
3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlAttrPtr attr,
3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateOneNamespace	(xmlValidCtxtPtr ctxt,
3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr elem,
3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *prefix,
3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNsPtr ns,
3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *value);
3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc);
3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_VALID_ENABLED */
3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateNotationUse	(xmlValidCtxtPtr ctxt,
3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *notationName);
3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlIsMixedElement	(xmlDocPtr doc,
3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttributePtr XMLCALL
3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetDtdAttrDesc	(xmlDtdPtr dtd,
3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *elem,
3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlAttributePtr XMLCALL
3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetDtdQAttrDesc	(xmlDtdPtr dtd,
3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *elem,
3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *prefix);
3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlNotationPtr XMLCALL
3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetDtdNotationDesc	(xmlDtdPtr dtd,
4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlElementPtr XMLCALL
4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetDtdQElementDesc	(xmlDtdPtr dtd,
4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name,
4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *prefix);
4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlElementPtr XMLCALL
4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlGetDtdElementDesc	(xmlDtdPtr dtd,
4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *name);
4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_VALID_ENABLED
4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidGetPotentialChildren(xmlElementContent *ctree,
4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar **names,
4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int *len,
4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int max);
4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidGetValidElements(xmlNode *prev,
4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNode *next,
4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar **names,
4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int max);
4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateNameValue	(const xmlChar *value);
4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateNamesValue	(const xmlChar *value);
4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateNmtokenValue	(const xmlChar *value);
4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidateNmtokensValue(const xmlChar *value);
4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_REGEXP_ENABLED
4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Validation based on the regexp support
4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlElementPtr elem);
4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidatePushElement	(xmlValidCtxtPtr ctxt,
4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr elem,
4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *qname);
4445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidatePushCData	(xmlValidCtxtPtr ctxt,
4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *data,
4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 int len);
4485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlValidatePopElement	(xmlValidCtxtPtr ctxt,
4505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlDocPtr doc,
4515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 xmlNodePtr elem,
4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)					 const xmlChar *qname);
4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_REGEXP_ENABLED */
4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_VALID_ENABLED */
4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* __XML_VALID_H__ */
459