Blame gnulib-local/lib/libxml/relaxng.in.h

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