(root)/
gettext-0.22.4/
libtextstyle/
lib/
libxml/
schematron.in.h
       1  /* libxml2 - Library for parsing XML documents
       2   * Copyright (C) 2006-2019 Free Software Foundation, Inc.
       3   *
       4   * This file is not part of the GNU gettext program, but is used with
       5   * GNU gettext.
       6   *
       7   * The original copyright notice is as follows:
       8   */
       9  
      10  /*
      11   * Copyright (C) 1998-2012 Daniel Veillard.  All Rights Reserved.
      12   *
      13   * Permission is hereby granted, free of charge, to any person obtaining a copy
      14   * of this software and associated documentation files (the "Software"), to deal
      15   * in the Software without restriction, including without limitation the rights
      16   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      17   * copies of the Software, and to permit persons to whom the Software is fur-
      18   * nished to do so, subject to the following conditions:
      19   *
      20   * The above copyright notice and this permission notice shall be included in
      21   * all copies or substantial portions of the Software.
      22   *
      23   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      24   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
      25   * NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
      26   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      27   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
      28   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
      29   * THE SOFTWARE.
      30   *
      31   * Author: Daniel Veillard
      32   */
      33  
      34  /*
      35   * Summary: XML Schemastron implementation
      36   * Description: interface to the XML Schematron validity checking.
      37   */
      38  
      39  #ifndef __XML_SCHEMATRON_H__
      40  #define __XML_SCHEMATRON_H__
      41  
      42  #include <libxml/xmlversion.h>
      43  
      44  #ifdef LIBXML_SCHEMATRON_ENABLED
      45  
      46  #include <libxml/tree.h>
      47  
      48  #ifdef __cplusplus
      49  extern "C" {
      50  #endif
      51  
      52  typedef enum {
      53      XML_SCHEMATRON_OUT_QUIET = 1 << 0,	/* quiet no report */
      54      XML_SCHEMATRON_OUT_TEXT = 1 << 1,	/* build a textual report */
      55      XML_SCHEMATRON_OUT_XML = 1 << 2,	/* output SVRL */
      56      XML_SCHEMATRON_OUT_ERROR = 1 << 3,  /* output via xmlStructuredErrorFunc */
      57      XML_SCHEMATRON_OUT_FILE = 1 << 8,	/* output to a file descriptor */
      58      XML_SCHEMATRON_OUT_BUFFER = 1 << 9,	/* output to a buffer */
      59      XML_SCHEMATRON_OUT_IO = 1 << 10	/* output to I/O mechanism */
      60  } xmlSchematronValidOptions;
      61  
      62  /**
      63   * The schemas related types are kept internal
      64   */
      65  typedef struct _xmlSchematron xmlSchematron;
      66  typedef xmlSchematron *xmlSchematronPtr;
      67  
      68  /**
      69   * xmlSchematronValidityErrorFunc:
      70   * @ctx: the validation context
      71   * @msg: the message
      72   * @...: extra arguments
      73   *
      74   * Signature of an error callback from a Schematron validation
      75   */
      76  typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...);
      77  
      78  /**
      79   * xmlSchematronValidityWarningFunc:
      80   * @ctx: the validation context
      81   * @msg: the message
      82   * @...: extra arguments
      83   *
      84   * Signature of a warning callback from a Schematron validation
      85   */
      86  typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...);
      87  
      88  /**
      89   * A schemas validation context
      90   */
      91  typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt;
      92  typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr;
      93  
      94  typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt;
      95  typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr;
      96  
      97  /*
      98   * Interfaces for parsing.
      99   */
     100  XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
     101  	    xmlSchematronNewParserCtxt	(const char *URL);
     102  XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
     103  	    xmlSchematronNewMemParserCtxt(const char *buffer,
     104  					 int size);
     105  XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
     106  	    xmlSchematronNewDocParserCtxt(xmlDocPtr doc);
     107  XMLPUBFUN void XMLCALL
     108  	    xmlSchematronFreeParserCtxt	(xmlSchematronParserCtxtPtr ctxt);
     109  /*****
     110  XMLPUBFUN void XMLCALL
     111  	    xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt,
     112  					 xmlSchematronValidityErrorFunc err,
     113  					 xmlSchematronValidityWarningFunc warn,
     114  					 void *ctx);
     115  XMLPUBFUN int XMLCALL
     116  		xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt,
     117  					xmlSchematronValidityErrorFunc * err,
     118  					xmlSchematronValidityWarningFunc * warn,
     119  					void **ctx);
     120  XMLPUBFUN int XMLCALL
     121  		xmlSchematronIsValid	(xmlSchematronValidCtxtPtr ctxt);
     122   *****/
     123  XMLPUBFUN xmlSchematronPtr XMLCALL
     124  	    xmlSchematronParse		(xmlSchematronParserCtxtPtr ctxt);
     125  XMLPUBFUN void XMLCALL
     126  	    xmlSchematronFree		(xmlSchematronPtr schema);
     127  /*
     128   * Interfaces for validating
     129   */
     130  XMLPUBFUN void XMLCALL
     131  	    xmlSchematronSetValidStructuredErrors(
     132  	                                  xmlSchematronValidCtxtPtr ctxt,
     133  					  xmlStructuredErrorFunc serror,
     134  					  void *ctx);
     135  /******
     136  XMLPUBFUN void XMLCALL
     137  	    xmlSchematronSetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
     138  					 xmlSchematronValidityErrorFunc err,
     139  					 xmlSchematronValidityWarningFunc warn,
     140  					 void *ctx);
     141  XMLPUBFUN int XMLCALL
     142  	    xmlSchematronGetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
     143  					 xmlSchematronValidityErrorFunc *err,
     144  					 xmlSchematronValidityWarningFunc *warn,
     145  					 void **ctx);
     146  XMLPUBFUN int XMLCALL
     147  	    xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt,
     148  					 int options);
     149  XMLPUBFUN int XMLCALL
     150  	    xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt);
     151  XMLPUBFUN int XMLCALL
     152              xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt,
     153  			                 xmlNodePtr elem);
     154   *******/
     155  
     156  XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL
     157  	    xmlSchematronNewValidCtxt	(xmlSchematronPtr schema,
     158  					 int options);
     159  XMLPUBFUN void XMLCALL
     160  	    xmlSchematronFreeValidCtxt	(xmlSchematronValidCtxtPtr ctxt);
     161  XMLPUBFUN int XMLCALL
     162  	    xmlSchematronValidateDoc	(xmlSchematronValidCtxtPtr ctxt,
     163  					 xmlDocPtr instance);
     164  
     165  #ifdef __cplusplus
     166  }
     167  #endif
     168  
     169  #endif /* LIBXML_SCHEMATRON_ENABLED */
     170  #endif /* __XML_SCHEMATRON_H__ */