Annotation of embedaddon/libxml2/include/libxml/schematron.h, revision 1.1
1.1 ! misho 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>