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