/* * Summary: XML Schematron implementation * Description: interface to the XML Schematron validity checking. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_SCHEMATRON_H__ #define __XML_SCHEMATRON_H__ #include <libxml/xmlversion.h> #ifdef LIBXML_SCHEMATRON_ENABLED #include <libxml/xmlerror.h> #include <libxml/tree.h> #ifdef __cplusplus extern "C" { #endif typedef enum { XML_SCHEMATRON_OUT_QUIET = 1 << 0, /* quiet no report */ XML_SCHEMATRON_OUT_TEXT = 1 << 1, /* build a textual report */ XML_SCHEMATRON_OUT_XML = 1 << 2, /* output SVRL */ XML_SCHEMATRON_OUT_ERROR = 1 << 3, /* output via xmlStructuredErrorFunc */ XML_SCHEMATRON_OUT_FILE = 1 << 8, /* output to a file descriptor */ XML_SCHEMATRON_OUT_BUFFER = 1 << 9, /* output to a buffer */ XML_SCHEMATRON_OUT_IO = 1 << 10 /* output to I/O mechanism */ } xmlSchematronValidOptions; /** * The schemas related types are kept internal */ typedef struct _xmlSchematron xmlSchematron; typedef xmlSchematron *xmlSchematronPtr; /** * xmlSchematronValidityErrorFunc: * @ctx: the validation context * @msg: the message * @...: extra arguments * * Signature of an error callback from a Schematron validation */ typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...); /** * xmlSchematronValidityWarningFunc: * @ctx: the validation context * @msg: the message * @...: extra arguments * * Signature of a warning callback from a Schematron validation */ typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...); /** * A schemas validation context */ typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt; typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr; typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt; typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr; /* * Interfaces for parsing. */ XMLPUBFUN xmlSchematronParserCtxtPtr xmlSchematronNewParserCtxt (const char *URL); XMLPUBFUN xmlSchematronParserCtxtPtr xmlSchematronNewMemParserCtxt(const char *buffer, int size); XMLPUBFUN xmlSchematronParserCtxtPtr xmlSchematronNewDocParserCtxt(xmlDocPtr doc); XMLPUBFUN void xmlSchematronFreeParserCtxt (xmlSchematronParserCtxtPtr ctxt); /***** XMLPUBFUN void xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt, xmlSchematronValidityErrorFunc err, xmlSchematronValidityWarningFunc warn, void *ctx); XMLPUBFUN int xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt, xmlSchematronValidityErrorFunc * err, xmlSchematronValidityWarningFunc * warn, void **ctx); XMLPUBFUN int xmlSchematronIsValid (xmlSchematronValidCtxtPtr ctxt); *****/ XMLPUBFUN xmlSchematronPtr xmlSchematronParse (xmlSchematronParserCtxtPtr ctxt); XMLPUBFUN void xmlSchematronFree (xmlSchematronPtr schema); /* * Interfaces for validating */ XMLPUBFUN void xmlSchematronSetValidStructuredErrors( xmlSchematronValidCtxtPtr ctxt, xmlStructuredErrorFunc serror, void *ctx); /****** XMLPUBFUN void xmlSchematronSetValidErrors (xmlSchematronValidCtxtPtr ctxt, xmlSchematronValidityErrorFunc err, xmlSchematronValidityWarningFunc warn, void *ctx); XMLPUBFUN int xmlSchematronGetValidErrors (xmlSchematronValidCtxtPtr ctxt, xmlSchematronValidityErrorFunc *err, xmlSchematronValidityWarningFunc *warn, void **ctx); XMLPUBFUN int xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt, int options); XMLPUBFUN int xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt); XMLPUBFUN int xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt, xmlNodePtr elem); *******/ XMLPUBFUN xmlSchematronValidCtxtPtr xmlSchematronNewValidCtxt (xmlSchematronPtr schema, int options); XMLPUBFUN void xmlSchematronFreeValidCtxt (xmlSchematronValidCtxtPtr ctxt); XMLPUBFUN int xmlSchematronValidateDoc (xmlSchematronValidCtxtPtr ctxt, xmlDocPtr instance); #ifdef __cplusplus } #endif #endif /* LIBXML_SCHEMATRON_ENABLED */ #endif /* __XML_SCHEMATRON_H__ */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
HTMLparser.h | File | 9.62 KB | 0644 |
|
HTMLtree.h | File | 3.42 KB | 0644 |
|
SAX.h | File | 4.31 KB | 0644 |
|
SAX2.h | File | 4.33 KB | 0644 |
|
c14n.h | File | 2.68 KB | 0644 |
|
catalog.h | File | 4.51 KB | 0644 |
|
chvalid.h | File | 4.97 KB | 0644 |
|
debugXML.h | File | 4.82 KB | 0644 |
|
dict.h | File | 1.73 KB | 0644 |
|
encoding.h | File | 8.17 KB | 0644 |
|
entities.h | File | 4.79 KB | 0644 |
|
globals.h | File | 890 B | 0644 |
|
hash.h | File | 6.85 KB | 0644 |
|
list.h | File | 3.05 KB | 0644 |
|
nanoftp.h | File | 3.92 KB | 0644 |
|
nanohttp.h | File | 2.07 KB | 0644 |
|
parser.h | File | 43.12 KB | 0644 |
|
parserInternals.h | File | 16.42 KB | 0644 |
|
pattern.h | File | 2.58 KB | 0644 |
|
relaxng.h | File | 5.69 KB | 0644 |
|
schemasInternals.h | File | 25.62 KB | 0644 |
|
schematron.h | File | 4.16 KB | 0644 |
|
threads.h | File | 1.69 KB | 0644 |
|
tree.h | File | 37.96 KB | 0644 |
|
uri.h | File | 2.79 KB | 0644 |
|
valid.h | File | 12.99 KB | 0644 |
|
xinclude.h | File | 3.04 KB | 0644 |
|
xlink.h | File | 4.88 KB | 0644 |
|
xmlIO.h | File | 12.16 KB | 0644 |
|
xmlautomata.h | File | 3.7 KB | 0644 |
|
xmlerror.h | File | 36.82 KB | 0644 |
|
xmlexports.h | File | 3.2 KB | 0644 |
|
xmlmemory.h | File | 4.79 KB | 0644 |
|
xmlmodule.h | File | 1.11 KB | 0644 |
|
xmlreader.h | File | 11.92 KB | 0644 |
|
xmlregexp.h | File | 5.03 KB | 0644 |
|
xmlsave.h | File | 2.51 KB | 0644 |
|
xmlschemas.h | File | 6.74 KB | 0644 |
|
xmlschemastypes.h | File | 4.48 KB | 0644 |
|
xmlstring.h | File | 5.15 KB | 0644 |
|
xmlunicode.h | File | 10.86 KB | 0644 |
|
xmlversion.h | File | 5.27 KB | 0644 |
|
xmlwriter.h | File | 20.2 KB | 0644 |
|
xpath.h | File | 16.19 KB | 0644 |
|
xpathInternals.h | File | 17.99 KB | 0644 |
|
xpointer.h | File | 3.56 KB | 0644 |
|