File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / include / libxml / schematron.h
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 19:53:38 2014 UTC (10 years, 2 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, HEAD
libxml2 2.9.1

    1: /*
    2:  * Summary: XML Schemastron implementation
    3:  * Description: interface to the XML Schematron validity checking.
    4:  *
    5:  * Copy: See Copyright for the status of this software.
    6:  *
    7:  * Author: Daniel Veillard
    8:  */
    9: 
   10: 
   11: #ifndef __XML_SCHEMATRON_H__
   12: #define __XML_SCHEMATRON_H__
   13: 
   14: #include <libxml/xmlversion.h>
   15: 
   16: #ifdef LIBXML_SCHEMATRON_ENABLED
   17: 
   18: #include <libxml/tree.h>
   19: 
   20: #ifdef __cplusplus
   21: extern "C" {
   22: #endif
   23: 
   24: typedef enum {
   25:     XML_SCHEMATRON_OUT_QUIET = 1 << 0,	/* quiet no report */
   26:     XML_SCHEMATRON_OUT_TEXT = 1 << 1,	/* build a textual report */
   27:     XML_SCHEMATRON_OUT_XML = 1 << 2,	/* output SVRL */
   28:     XML_SCHEMATRON_OUT_ERROR = 1 << 3,  /* output via xmlStructuredErrorFunc */
   29:     XML_SCHEMATRON_OUT_FILE = 1 << 8,	/* output to a file descriptor */
   30:     XML_SCHEMATRON_OUT_BUFFER = 1 << 9,	/* output to a buffer */
   31:     XML_SCHEMATRON_OUT_IO = 1 << 10	/* output to I/O mechanism */
   32: } xmlSchematronValidOptions;
   33: 
   34: /**
   35:  * The schemas related types are kept internal
   36:  */
   37: typedef struct _xmlSchematron xmlSchematron;
   38: typedef xmlSchematron *xmlSchematronPtr;
   39: 
   40: /**
   41:  * xmlSchematronValidityErrorFunc:
   42:  * @ctx: the validation context
   43:  * @msg: the message
   44:  * @...: extra arguments
   45:  *
   46:  * Signature of an error callback from a Schematron validation
   47:  */
   48: typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...);
   49: 
   50: /**
   51:  * xmlSchematronValidityWarningFunc:
   52:  * @ctx: the validation context
   53:  * @msg: the message
   54:  * @...: extra arguments
   55:  *
   56:  * Signature of a warning callback from a Schematron validation
   57:  */
   58: typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...);
   59: 
   60: /**
   61:  * A schemas validation context
   62:  */
   63: typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt;
   64: typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr;
   65: 
   66: typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt;
   67: typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr;
   68: 
   69: /*
   70:  * Interfaces for parsing.
   71:  */
   72: XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
   73: 	    xmlSchematronNewParserCtxt	(const char *URL);
   74: XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
   75: 	    xmlSchematronNewMemParserCtxt(const char *buffer,
   76: 					 int size);
   77: XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
   78: 	    xmlSchematronNewDocParserCtxt(xmlDocPtr doc);
   79: XMLPUBFUN void XMLCALL
   80: 	    xmlSchematronFreeParserCtxt	(xmlSchematronParserCtxtPtr ctxt);
   81: /*****
   82: XMLPUBFUN void XMLCALL
   83: 	    xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt,
   84: 					 xmlSchematronValidityErrorFunc err,
   85: 					 xmlSchematronValidityWarningFunc warn,
   86: 					 void *ctx);
   87: XMLPUBFUN int XMLCALL
   88: 		xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt,
   89: 					xmlSchematronValidityErrorFunc * err,
   90: 					xmlSchematronValidityWarningFunc * warn,
   91: 					void **ctx);
   92: XMLPUBFUN int XMLCALL
   93: 		xmlSchematronIsValid	(xmlSchematronValidCtxtPtr ctxt);
   94:  *****/
   95: XMLPUBFUN xmlSchematronPtr XMLCALL
   96: 	    xmlSchematronParse		(xmlSchematronParserCtxtPtr ctxt);
   97: XMLPUBFUN void XMLCALL
   98: 	    xmlSchematronFree		(xmlSchematronPtr schema);
   99: /*
  100:  * Interfaces for validating
  101:  */
  102: XMLPUBFUN void XMLCALL
  103: 	    xmlSchematronSetValidStructuredErrors(
  104: 	                                  xmlSchematronValidCtxtPtr ctxt,
  105: 					  xmlStructuredErrorFunc serror,
  106: 					  void *ctx);
  107: /******
  108: XMLPUBFUN void XMLCALL
  109: 	    xmlSchematronSetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
  110: 					 xmlSchematronValidityErrorFunc err,
  111: 					 xmlSchematronValidityWarningFunc warn,
  112: 					 void *ctx);
  113: XMLPUBFUN int XMLCALL
  114: 	    xmlSchematronGetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
  115: 					 xmlSchematronValidityErrorFunc *err,
  116: 					 xmlSchematronValidityWarningFunc *warn,
  117: 					 void **ctx);
  118: XMLPUBFUN int XMLCALL
  119: 	    xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt,
  120: 					 int options);
  121: XMLPUBFUN int XMLCALL
  122: 	    xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt);
  123: XMLPUBFUN int XMLCALL
  124:             xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt,
  125: 			                 xmlNodePtr elem);
  126:  *******/
  127: 
  128: XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL
  129: 	    xmlSchematronNewValidCtxt	(xmlSchematronPtr schema,
  130: 					 int options);
  131: XMLPUBFUN void XMLCALL
  132: 	    xmlSchematronFreeValidCtxt	(xmlSchematronValidCtxtPtr ctxt);
  133: XMLPUBFUN int XMLCALL
  134: 	    xmlSchematronValidateDoc	(xmlSchematronValidCtxtPtr ctxt,
  135: 					 xmlDocPtr instance);
  136: 
  137: #ifdef __cplusplus
  138: }
  139: #endif
  140: 
  141: #endif /* LIBXML_SCHEMATRON_ENABLED */
  142: #endif /* __XML_SCHEMATRON_H__ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>