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

Packit 5b56b6
/*
Packit 5b56b6
 * Summary: XML Schemastron implementation
Packit 5b56b6
 * Description: interface to the XML Schematron validity checking.
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
Packit 5b56b6
#ifndef __XML_SCHEMATRON_H__
Packit 5b56b6
#define __XML_SCHEMATRON_H__
Packit 5b56b6
Packit 5b56b6
#include <libxml/xmlversion.h>
Packit 5b56b6
Packit 5b56b6
#ifdef LIBXML_SCHEMATRON_ENABLED
Packit 5b56b6
Packit 5b56b6
#include <libxml/tree.h>
Packit 5b56b6
Packit 5b56b6
#ifdef __cplusplus
Packit 5b56b6
extern "C" {
Packit 5b56b6
#endif
Packit 5b56b6
Packit 5b56b6
typedef enum {
Packit 5b56b6
    XML_SCHEMATRON_OUT_QUIET = 1 << 0,	/* quiet no report */
Packit 5b56b6
    XML_SCHEMATRON_OUT_TEXT = 1 << 1,	/* build a textual report */
Packit 5b56b6
    XML_SCHEMATRON_OUT_XML = 1 << 2,	/* output SVRL */
Packit 5b56b6
    XML_SCHEMATRON_OUT_ERROR = 1 << 3,  /* output via xmlStructuredErrorFunc */
Packit 5b56b6
    XML_SCHEMATRON_OUT_FILE = 1 << 8,	/* output to a file descriptor */
Packit 5b56b6
    XML_SCHEMATRON_OUT_BUFFER = 1 << 9,	/* output to a buffer */
Packit 5b56b6
    XML_SCHEMATRON_OUT_IO = 1 << 10	/* output to I/O mechanism */
Packit 5b56b6
} xmlSchematronValidOptions;
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * The schemas related types are kept internal
Packit 5b56b6
 */
Packit 5b56b6
typedef struct _xmlSchematron xmlSchematron;
Packit 5b56b6
typedef xmlSchematron *xmlSchematronPtr;
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * xmlSchematronValidityErrorFunc:
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 Schematron validation
Packit 5b56b6
 */
Packit 5b56b6
typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...);
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * xmlSchematronValidityWarningFunc:
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 Schematron validation
Packit 5b56b6
 */
Packit 5b56b6
typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...);
Packit 5b56b6
Packit 5b56b6
/**
Packit 5b56b6
 * A schemas validation context
Packit 5b56b6
 */
Packit 5b56b6
typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt;
Packit 5b56b6
typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr;
Packit 5b56b6
Packit 5b56b6
typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt;
Packit 5b56b6
typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr;
Packit 5b56b6
Packit 5b56b6
/*
Packit 5b56b6
 * Interfaces for parsing.
Packit 5b56b6
 */
Packit 5b56b6
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
Packit 5b56b6
	    xmlSchematronNewParserCtxt	(const char *URL);
Packit 5b56b6
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
Packit 5b56b6
	    xmlSchematronNewMemParserCtxt(const char *buffer,
Packit 5b56b6
					 int size);
Packit 5b56b6
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
Packit 5b56b6
	    xmlSchematronNewDocParserCtxt(xmlDocPtr doc);
Packit 5b56b6
XMLPUBFUN void XMLCALL
Packit 5b56b6
	    xmlSchematronFreeParserCtxt	(xmlSchematronParserCtxtPtr ctxt);
Packit 5b56b6
/*****
Packit 5b56b6
XMLPUBFUN void XMLCALL
Packit 5b56b6
	    xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt,
Packit 5b56b6
					 xmlSchematronValidityErrorFunc err,
Packit 5b56b6
					 xmlSchematronValidityWarningFunc warn,
Packit 5b56b6
					 void *ctx);
Packit 5b56b6
XMLPUBFUN int XMLCALL
Packit 5b56b6
		xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt,
Packit 5b56b6
					xmlSchematronValidityErrorFunc * err,
Packit 5b56b6
					xmlSchematronValidityWarningFunc * warn,
Packit 5b56b6
					void **ctx);
Packit 5b56b6
XMLPUBFUN int XMLCALL
Packit 5b56b6
		xmlSchematronIsValid	(xmlSchematronValidCtxtPtr ctxt);
Packit 5b56b6
 *****/
Packit 5b56b6
XMLPUBFUN xmlSchematronPtr XMLCALL
Packit 5b56b6
	    xmlSchematronParse		(xmlSchematronParserCtxtPtr ctxt);
Packit 5b56b6
XMLPUBFUN void XMLCALL
Packit 5b56b6
	    xmlSchematronFree		(xmlSchematronPtr schema);
Packit 5b56b6
/*
Packit 5b56b6
 * Interfaces for validating
Packit 5b56b6
 */
Packit 5b56b6
XMLPUBFUN void XMLCALL
Packit 5b56b6
	    xmlSchematronSetValidStructuredErrors(
Packit 5b56b6
	                                  xmlSchematronValidCtxtPtr ctxt,
Packit 5b56b6
					  xmlStructuredErrorFunc serror,
Packit 5b56b6
					  void *ctx);
Packit 5b56b6
/******
Packit 5b56b6
XMLPUBFUN void XMLCALL
Packit 5b56b6
	    xmlSchematronSetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
Packit 5b56b6
					 xmlSchematronValidityErrorFunc err,
Packit 5b56b6
					 xmlSchematronValidityWarningFunc warn,
Packit 5b56b6
					 void *ctx);
Packit 5b56b6
XMLPUBFUN int XMLCALL
Packit 5b56b6
	    xmlSchematronGetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
Packit 5b56b6
					 xmlSchematronValidityErrorFunc *err,
Packit 5b56b6
					 xmlSchematronValidityWarningFunc *warn,
Packit 5b56b6
					 void **ctx);
Packit 5b56b6
XMLPUBFUN int XMLCALL
Packit 5b56b6
	    xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt,
Packit 5b56b6
					 int options);
Packit 5b56b6
XMLPUBFUN int XMLCALL
Packit 5b56b6
	    xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt);
Packit 5b56b6
XMLPUBFUN int XMLCALL
Packit 5b56b6
            xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt,
Packit 5b56b6
			                 xmlNodePtr elem);
Packit 5b56b6
 *******/
Packit 5b56b6
Packit 5b56b6
XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL
Packit 5b56b6
	    xmlSchematronNewValidCtxt	(xmlSchematronPtr schema,
Packit 5b56b6
					 int options);
Packit 5b56b6
XMLPUBFUN void XMLCALL
Packit 5b56b6
	    xmlSchematronFreeValidCtxt	(xmlSchematronValidCtxtPtr ctxt);
Packit 5b56b6
XMLPUBFUN int XMLCALL
Packit 5b56b6
	    xmlSchematronValidateDoc	(xmlSchematronValidCtxtPtr ctxt,
Packit 5b56b6
					 xmlDocPtr instance);
Packit 5b56b6
Packit 5b56b6
#ifdef __cplusplus
Packit 5b56b6
}
Packit 5b56b6
#endif
Packit 5b56b6
Packit 5b56b6
#endif /* LIBXML_SCHEMATRON_ENABLED */
Packit 5b56b6
#endif /* __XML_SCHEMATRON_H__ */