Blame include/libxml/relaxng.h

Packit Service a31ea6
/*
Packit Service a31ea6
 * Summary: implementation of the Relax-NG validation
Packit Service a31ea6
 * Description: implementation of the Relax-NG validation
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
#ifndef __XML_RELAX_NG__
Packit Service a31ea6
#define __XML_RELAX_NG__
Packit Service a31ea6
Packit Service a31ea6
#include <libxml/xmlversion.h>
Packit Service a31ea6
#include <libxml/hash.h>
Packit Service a31ea6
#include <libxml/xmlstring.h>
Packit Service a31ea6
Packit Service a31ea6
#ifdef LIBXML_SCHEMAS_ENABLED
Packit Service a31ea6
Packit Service a31ea6
#ifdef __cplusplus
Packit Service a31ea6
extern "C" {
Packit Service a31ea6
#endif
Packit Service a31ea6
Packit Service a31ea6
typedef struct _xmlRelaxNG xmlRelaxNG;
Packit Service a31ea6
typedef xmlRelaxNG *xmlRelaxNGPtr;
Packit Service a31ea6
Packit Service a31ea6
Packit Service a31ea6
/**
Packit Service a31ea6
 * xmlRelaxNGValidityErrorFunc:
Packit Service a31ea6
 * @ctx: the validation context
Packit Service a31ea6
 * @msg: the message
Packit Service a31ea6
 * @...: extra arguments
Packit Service a31ea6
 *
Packit Service a31ea6
 * Signature of an error callback from a Relax-NG validation
Packit Service a31ea6
 */
Packit Service a31ea6
typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (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
 * xmlRelaxNGValidityWarningFunc:
Packit Service a31ea6
 * @ctx: the validation context
Packit Service a31ea6
 * @msg: the message
Packit Service a31ea6
 * @...: extra arguments
Packit Service a31ea6
 *
Packit Service a31ea6
 * Signature of a warning callback from a Relax-NG validation
Packit Service a31ea6
 */
Packit Service a31ea6
typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (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
 * A schemas validation context
Packit Service a31ea6
 */
Packit Service a31ea6
typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt;
Packit Service a31ea6
typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr;
Packit Service a31ea6
Packit Service a31ea6
typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt;
Packit Service a31ea6
typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr;
Packit Service a31ea6
Packit Service a31ea6
/*
Packit Service a31ea6
 * xmlRelaxNGValidErr:
Packit Service a31ea6
 *
Packit Service a31ea6
 * List of possible Relax NG validation errors
Packit Service a31ea6
 */
Packit Service a31ea6
typedef enum {
Packit Service a31ea6
    XML_RELAXNG_OK = 0,
Packit Service a31ea6
    XML_RELAXNG_ERR_MEMORY,
Packit Service a31ea6
    XML_RELAXNG_ERR_TYPE,
Packit Service a31ea6
    XML_RELAXNG_ERR_TYPEVAL,
Packit Service a31ea6
    XML_RELAXNG_ERR_DUPID,
Packit Service a31ea6
    XML_RELAXNG_ERR_TYPECMP,
Packit Service a31ea6
    XML_RELAXNG_ERR_NOSTATE,
Packit Service a31ea6
    XML_RELAXNG_ERR_NODEFINE,
Packit Service a31ea6
    XML_RELAXNG_ERR_LISTEXTRA,
Packit Service a31ea6
    XML_RELAXNG_ERR_LISTEMPTY,
Packit Service a31ea6
    XML_RELAXNG_ERR_INTERNODATA,
Packit Service a31ea6
    XML_RELAXNG_ERR_INTERSEQ,
Packit Service a31ea6
    XML_RELAXNG_ERR_INTEREXTRA,
Packit Service a31ea6
    XML_RELAXNG_ERR_ELEMNAME,
Packit Service a31ea6
    XML_RELAXNG_ERR_ATTRNAME,
Packit Service a31ea6
    XML_RELAXNG_ERR_ELEMNONS,
Packit Service a31ea6
    XML_RELAXNG_ERR_ATTRNONS,
Packit Service a31ea6
    XML_RELAXNG_ERR_ELEMWRONGNS,
Packit Service a31ea6
    XML_RELAXNG_ERR_ATTRWRONGNS,
Packit Service a31ea6
    XML_RELAXNG_ERR_ELEMEXTRANS,
Packit Service a31ea6
    XML_RELAXNG_ERR_ATTREXTRANS,
Packit Service a31ea6
    XML_RELAXNG_ERR_ELEMNOTEMPTY,
Packit Service a31ea6
    XML_RELAXNG_ERR_NOELEM,
Packit Service a31ea6
    XML_RELAXNG_ERR_NOTELEM,
Packit Service a31ea6
    XML_RELAXNG_ERR_ATTRVALID,
Packit Service a31ea6
    XML_RELAXNG_ERR_CONTENTVALID,
Packit Service a31ea6
    XML_RELAXNG_ERR_EXTRACONTENT,
Packit Service a31ea6
    XML_RELAXNG_ERR_INVALIDATTR,
Packit Service a31ea6
    XML_RELAXNG_ERR_DATAELEM,
Packit Service a31ea6
    XML_RELAXNG_ERR_VALELEM,
Packit Service a31ea6
    XML_RELAXNG_ERR_LISTELEM,
Packit Service a31ea6
    XML_RELAXNG_ERR_DATATYPE,
Packit Service a31ea6
    XML_RELAXNG_ERR_VALUE,
Packit Service a31ea6
    XML_RELAXNG_ERR_LIST,
Packit Service a31ea6
    XML_RELAXNG_ERR_NOGRAMMAR,
Packit Service a31ea6
    XML_RELAXNG_ERR_EXTRADATA,
Packit Service a31ea6
    XML_RELAXNG_ERR_LACKDATA,
Packit Service a31ea6
    XML_RELAXNG_ERR_INTERNAL,
Packit Service a31ea6
    XML_RELAXNG_ERR_ELEMWRONG,
Packit Service a31ea6
    XML_RELAXNG_ERR_TEXTWRONG
Packit Service a31ea6
} xmlRelaxNGValidErr;
Packit Service a31ea6
Packit Service a31ea6
/*
Packit Service a31ea6
 * xmlRelaxNGParserFlags:
Packit Service a31ea6
 *
Packit Service a31ea6
 * List of possible Relax NG Parser flags
Packit Service a31ea6
 */
Packit Service a31ea6
typedef enum {
Packit Service a31ea6
    XML_RELAXNGP_NONE = 0,
Packit Service a31ea6
    XML_RELAXNGP_FREE_DOC = 1,
Packit Service a31ea6
    XML_RELAXNGP_CRNG = 2
Packit Service a31ea6
} xmlRelaxNGParserFlag;
Packit Service a31ea6
Packit Service a31ea6
XMLPUBFUN int XMLCALL
Packit Service a31ea6
		    xmlRelaxNGInitTypes		(void);
Packit Service a31ea6
XMLPUBFUN void XMLCALL
Packit Service a31ea6
		    xmlRelaxNGCleanupTypes	(void);
Packit Service a31ea6
Packit Service a31ea6
/*
Packit Service a31ea6
 * Interfaces for parsing.
Packit Service a31ea6
 */
Packit Service a31ea6
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
Packit Service a31ea6
		    xmlRelaxNGNewParserCtxt	(const char *URL);
Packit Service a31ea6
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
Packit Service a31ea6
		    xmlRelaxNGNewMemParserCtxt	(const char *buffer,
Packit Service a31ea6
						 int size);
Packit Service a31ea6
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
Packit Service a31ea6
		    xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc);
Packit Service a31ea6
Packit Service a31ea6
XMLPUBFUN int XMLCALL
Packit Service a31ea6
		    xmlRelaxParserSetFlag	(xmlRelaxNGParserCtxtPtr ctxt,
Packit Service a31ea6
						 int flag);
Packit Service a31ea6
Packit Service a31ea6
XMLPUBFUN void XMLCALL
Packit Service a31ea6
		    xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt);
Packit Service a31ea6
XMLPUBFUN void XMLCALL
Packit Service a31ea6
		    xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
Packit Service a31ea6
					 xmlRelaxNGValidityErrorFunc err,
Packit Service a31ea6
					 xmlRelaxNGValidityWarningFunc warn,
Packit Service a31ea6
					 void *ctx);
Packit Service a31ea6
XMLPUBFUN int XMLCALL
Packit Service a31ea6
		    xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
Packit Service a31ea6
					 xmlRelaxNGValidityErrorFunc *err,
Packit Service a31ea6
					 xmlRelaxNGValidityWarningFunc *warn,
Packit Service a31ea6
					 void **ctx);
Packit Service a31ea6
XMLPUBFUN void XMLCALL
Packit Service a31ea6
		    xmlRelaxNGSetParserStructuredErrors(
Packit Service a31ea6
					 xmlRelaxNGParserCtxtPtr ctxt,
Packit Service a31ea6
					 xmlStructuredErrorFunc serror,
Packit Service a31ea6
					 void *ctx);
Packit Service a31ea6
XMLPUBFUN xmlRelaxNGPtr XMLCALL
Packit Service a31ea6
		    xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt);
Packit Service a31ea6
XMLPUBFUN void XMLCALL
Packit Service a31ea6
		    xmlRelaxNGFree		(xmlRelaxNGPtr schema);
Packit Service a31ea6
#ifdef LIBXML_OUTPUT_ENABLED
Packit Service a31ea6
XMLPUBFUN void XMLCALL
Packit Service a31ea6
		    xmlRelaxNGDump		(FILE *output,
Packit Service a31ea6
					 xmlRelaxNGPtr schema);
Packit Service a31ea6
XMLPUBFUN void XMLCALL
Packit Service a31ea6
		    xmlRelaxNGDumpTree	(FILE * output,
Packit Service a31ea6
					 xmlRelaxNGPtr schema);
Packit Service a31ea6
#endif /* LIBXML_OUTPUT_ENABLED */
Packit Service a31ea6
/*
Packit Service a31ea6
 * Interfaces for validating
Packit Service a31ea6
 */
Packit Service a31ea6
XMLPUBFUN void XMLCALL
Packit Service a31ea6
		    xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
Packit Service a31ea6
					 xmlRelaxNGValidityErrorFunc err,
Packit Service a31ea6
					 xmlRelaxNGValidityWarningFunc warn,
Packit Service a31ea6
					 void *ctx);
Packit Service a31ea6
XMLPUBFUN int XMLCALL
Packit Service a31ea6
		    xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
Packit Service a31ea6
					 xmlRelaxNGValidityErrorFunc *err,
Packit Service a31ea6
					 xmlRelaxNGValidityWarningFunc *warn,
Packit Service a31ea6
					 void **ctx);
Packit Service a31ea6
XMLPUBFUN void XMLCALL
Packit Service a31ea6
			xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt,
Packit Service a31ea6
					  xmlStructuredErrorFunc serror, void *ctx);
Packit Service a31ea6
XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL
Packit Service a31ea6
		    xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema);
Packit Service a31ea6
XMLPUBFUN void XMLCALL
Packit Service a31ea6
		    xmlRelaxNGFreeValidCtxt	(xmlRelaxNGValidCtxtPtr ctxt);
Packit Service a31ea6
XMLPUBFUN int XMLCALL
Packit Service a31ea6
		    xmlRelaxNGValidateDoc	(xmlRelaxNGValidCtxtPtr ctxt,
Packit Service a31ea6
						 xmlDocPtr doc);
Packit Service a31ea6
/*
Packit Service a31ea6
 * Interfaces for progressive validation when possible
Packit Service a31ea6
 */
Packit Service a31ea6
XMLPUBFUN int XMLCALL
Packit Service a31ea6
		    xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt,
Packit Service a31ea6
					 xmlDocPtr doc,
Packit Service a31ea6
					 xmlNodePtr elem);
Packit Service a31ea6
XMLPUBFUN int XMLCALL
Packit Service a31ea6
		    xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt,
Packit Service a31ea6
					 const xmlChar *data,
Packit Service a31ea6
					 int len);
Packit Service a31ea6
XMLPUBFUN int XMLCALL
Packit Service a31ea6
		    xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt,
Packit Service a31ea6
					 xmlDocPtr doc,
Packit Service a31ea6
					 xmlNodePtr elem);
Packit Service a31ea6
XMLPUBFUN int XMLCALL
Packit Service a31ea6
		    xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt,
Packit Service a31ea6
					 xmlDocPtr doc,
Packit Service a31ea6
					 xmlNodePtr elem);
Packit Service a31ea6
Packit Service a31ea6
#ifdef __cplusplus
Packit Service a31ea6
}
Packit Service a31ea6
#endif
Packit Service a31ea6
Packit Service a31ea6
#endif /* LIBXML_SCHEMAS_ENABLED */
Packit Service a31ea6
Packit Service a31ea6
#endif /* __XML_RELAX_NG__ */