Blame include/libxml/valid.h

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