xmlschemas.h revision f8e3db0445a1bc8cfe3f77326b07ec161482caa2
14255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard/* 2be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Summary: incomplete XML Schemas structure implementation 3be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Description: interface to the XML Schemas handling and schema validity 4be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * checking, it is incomplete right now. 54255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard * 6be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Copy: See Copyright for the status of this software. 74255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard * 8be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Author: Daniel Veillard 94255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard */ 104255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 114255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 124255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard#ifndef __XML_SCHEMA_H__ 134255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard#define __XML_SCHEMA_H__ 144255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 154255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard#include <libxml/xmlversion.h> 167ae91bcd9e94946a7be41290cb67ffc9c2cf0a9fIgor Zlatkovic 174255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard#ifdef LIBXML_SCHEMAS_ENABLED 184255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 194255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard#include <libxml/tree.h> 204255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 214255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard#ifdef __cplusplus 224255d504151db75c17f85192ce74f45dd2d65533Daniel Veillardextern "C" { 234255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard#endif 244255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 25bea2354a33de9fe90e801234506a4e549e44e528Kasimier T. Buchcik/** 26bea2354a33de9fe90e801234506a4e549e44e528Kasimier T. Buchcik * This error codes are obsolete; not used any more. 27bea2354a33de9fe90e801234506a4e549e44e528Kasimier T. Buchcik */ 284255d504151db75c17f85192ce74f45dd2d65533Daniel Veillardtypedef enum { 294255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_OK = 0, 304255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_NOROOT = 1, 314255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_UNDECLAREDELEM, 324255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_NOTTOPLEVEL, 334255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_MISSING, 344255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_WRONGELEM, 354255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_NOTYPE, 364255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_NOROLLBACK, 374255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_ISABSTRACT, 384255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_NOTEMPTY, 398651f5365c182ce5c52fe1cdc2b9d72b2ecc34e2Daniel Veillard XML_SCHEMAS_ERR_ELEMCONT, 404255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_HAVEDEFAULT, 414255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_NOTNILLABLE, 424255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_EXTRACONTENT, 434255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_INVALIDATTR, 444255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_INVALIDELEM, 45e19fc23b6427f4df516af7b3f6df7baa942e4207Daniel Veillard XML_SCHEMAS_ERR_NOTDETERMINIST, 464255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_CONSTRUCT, 474255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_INTERNAL, 484255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_NOTSIMPLE, 494255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_ATTRUNKNOWN, 504255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_ATTRINVALID, 5191a1325beb87de8fde190157a545504632c169feDaniel Veillard XML_SCHEMAS_ERR_VALUE, 52d3b9cd88d5d76e44ca54965d651d486485fced0dDaniel Veillard XML_SCHEMAS_ERR_FACET, 534255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_, 544255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard XML_SCHEMAS_ERR_XXX 554255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard} xmlSchemaValidError; 564255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 5787876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik/* 5887876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik* ATTENTION: Change xmlSchemaSetValidOptions's check 59dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard* for invalid values, if adding to the validation 6087876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik* options below. 6187876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik*/ 6287876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik/** 6387876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik * xmlSchemaValidOption: 6487876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik * 6587876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik * This is the set of XML Schema validation options. 6687876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik */ 6787876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchciktypedef enum { 6887876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik XML_SCHEMA_VAL_VC_I_CREATE = 1<<0 6987876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik /* Default/fixed: create an attribute node 7087876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik * or an element's text node on the instance. 7187876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik */ 7287876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik} xmlSchemaValidOption; 7387876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik 7487876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik/* 7587876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik XML_SCHEMA_VAL_XSI_ASSEMBLE = 1<<1, 7687876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik * assemble schemata using 7787876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik * xsi:schemaLocation and 7887876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik * xsi:noNamespaceSchemaLocation 7987876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik*/ 804255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 814255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard/** 824255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard * The schemas related types are kept internal 834255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard */ 844255d504151db75c17f85192ce74f45dd2d65533Daniel Veillardtypedef struct _xmlSchema xmlSchema; 854255d504151db75c17f85192ce74f45dd2d65533Daniel Veillardtypedef xmlSchema *xmlSchemaPtr; 864255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 874255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard/** 88dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * xmlSchemaValidityErrorFunc: 89dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * @ctx: the validation context 90dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * @msg: the message 91dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * @...: extra arguments 92dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * 93dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * Signature of an error callback from an XSD validation 944255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard */ 95f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillardtypedef void (XMLCDECL *xmlSchemaValidityErrorFunc) 96f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); 97dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard 98dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard/** 99dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * xmlSchemaValidityWarningFunc: 100dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * @ctx: the validation context 101dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * @msg: the message 102dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * @...: extra arguments 103dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * 104dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * Signature of a warning callback from an XSD validation 105dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard */ 106f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillardtypedef void (XMLCDECL *xmlSchemaValidityWarningFunc) 107f8e3db0445a1bc8cfe3f77326b07ec161482caa2Daniel Veillard (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); 1084255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 109dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard/** 110dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * A schemas validation context 111dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard */ 1124255d504151db75c17f85192ce74f45dd2d65533Daniel Veillardtypedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt; 1134255d504151db75c17f85192ce74f45dd2d65533Daniel Veillardtypedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr; 1144255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 1154255d504151db75c17f85192ce74f45dd2d65533Daniel Veillardtypedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt; 1164255d504151db75c17f85192ce74f45dd2d65533Daniel Veillardtypedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr; 1174255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 11897fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard/** 11997fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard * xmlSchemaValidityLocatorFunc: 12097fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard * @ctx: user provided context 12197fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard * @file: returned file information 12297fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard * @line: returned line information 12397fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard * 12497fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard * A schemas validation locator, a callback called by the validator. 12597fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard * This is used when file or node informations are not available 12697fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard * to find out what file and line number are affected 12797fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard * 12897fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard * Returns: 0 in case of success and -1 in case of error 12997fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard */ 13097fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard 13197fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillardtypedef int (XMLCDECL *xmlSchemaValidityLocatorFunc) (void *ctx, 13297fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard const char **file, unsigned long *line); 13397fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard 1344255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard/* 1354255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard * Interfaces for parsing. 1364255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard */ 137dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL 138aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaNewParserCtxt (const char *URL); 139dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL 140aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaNewMemParserCtxt (const char *buffer, 141aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic int size); 1429d751504d56ee9591a5094d570555367d814c614Daniel VeillardXMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL 1439d751504d56ee9591a5094d570555367d814c614Daniel Veillard xmlSchemaNewDocParserCtxt (xmlDocPtr doc); 144dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN void XMLCALL 145aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt); 146dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN void XMLCALL 147aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt, 1484255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard xmlSchemaValidityErrorFunc err, 1494255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard xmlSchemaValidityWarningFunc warn, 1504255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard void *ctx); 15190b5ebc0f335c3192bf898309b3100c694aa7b2bKasimier T. BuchcikXMLPUBFUN void XMLCALL 15290b5ebc0f335c3192bf898309b3100c694aa7b2bKasimier T. Buchcik xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt, 15390b5ebc0f335c3192bf898309b3100c694aa7b2bKasimier T. Buchcik xmlStructuredErrorFunc serror, 15490b5ebc0f335c3192bf898309b3100c694aa7b2bKasimier T. Buchcik void *ctx); 155259f0dfa8b4f29158954959b4d0d7c03dd1eab05Daniel VeillardXMLPUBFUN int XMLCALL 156f10ae12cb8874674e3bc1f0b52b3cfcc2a1d3278Daniel Veillard xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt, 157259f0dfa8b4f29158954959b4d0d7c03dd1eab05Daniel Veillard xmlSchemaValidityErrorFunc * err, 158259f0dfa8b4f29158954959b4d0d7c03dd1eab05Daniel Veillard xmlSchemaValidityWarningFunc * warn, 159259f0dfa8b4f29158954959b4d0d7c03dd1eab05Daniel Veillard void **ctx); 160f10ae12cb8874674e3bc1f0b52b3cfcc2a1d3278Daniel VeillardXMLPUBFUN int XMLCALL 161f10ae12cb8874674e3bc1f0b52b3cfcc2a1d3278Daniel Veillard xmlSchemaIsValid (xmlSchemaValidCtxtPtr ctxt); 162f10ae12cb8874674e3bc1f0b52b3cfcc2a1d3278Daniel Veillard 163dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN xmlSchemaPtr XMLCALL 164aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt); 165dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN void XMLCALL 166aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaFree (xmlSchemaPtr schema); 167a9cce9cd0d7aff3ec318b5d8d376da131b6aaad4Daniel Veillard#ifdef LIBXML_OUTPUT_ENABLED 168dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN void XMLCALL 169aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaDump (FILE *output, 1704255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard xmlSchemaPtr schema); 171a9cce9cd0d7aff3ec318b5d8d376da131b6aaad4Daniel Veillard#endif /* LIBXML_OUTPUT_ENABLED */ 1724255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard/* 1734255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard * Interfaces for validating 1744255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard */ 175dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN void XMLCALL 176aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt, 1774255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard xmlSchemaValidityErrorFunc err, 1784255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard xmlSchemaValidityWarningFunc warn, 1794255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard void *ctx); 180da0aa4cfdbd9b71e01bc452c95d044bbe66e1b5aDaniel VeillardXMLPUBFUN void XMLCALL 181da0aa4cfdbd9b71e01bc452c95d044bbe66e1b5aDaniel Veillard xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt, 18290b5ebc0f335c3192bf898309b3100c694aa7b2bKasimier T. Buchcik xmlStructuredErrorFunc serror, 18390b5ebc0f335c3192bf898309b3100c694aa7b2bKasimier T. Buchcik void *ctx); 184259f0dfa8b4f29158954959b4d0d7c03dd1eab05Daniel VeillardXMLPUBFUN int XMLCALL 18587876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik xmlSchemaGetValidErrors (xmlSchemaValidCtxtPtr ctxt, 18687876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik xmlSchemaValidityErrorFunc *err, 18787876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik xmlSchemaValidityWarningFunc *warn, 18887876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik void **ctx); 18987876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. BuchcikXMLPUBFUN int XMLCALL 19087876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik xmlSchemaSetValidOptions (xmlSchemaValidCtxtPtr ctxt, 19187876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik int options); 19297fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel VeillardXMLPUBFUN void XMLCALL 19397fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt, 19497fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard const char *filename); 19587876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. BuchcikXMLPUBFUN int XMLCALL 19687876407ced312c9b2c8d8b03f988a7dd484a68eKasimier T. Buchcik xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt); 197259f0dfa8b4f29158954959b4d0d7c03dd1eab05Daniel Veillard 198dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL 199aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaNewValidCtxt (xmlSchemaPtr schema); 200dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN void XMLCALL 201aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt); 202dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN int XMLCALL 203aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt, 204aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlDocPtr instance); 2055eba91f2d9b300670bdac19735c3cb07788434d6Kasimier T. BuchcikXMLPUBFUN int XMLCALL 2065eba91f2d9b300670bdac19735c3cb07788434d6Kasimier T. Buchcik xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt, 2075eba91f2d9b300670bdac19735c3cb07788434d6Kasimier T. Buchcik xmlNodePtr elem); 208c63fbbff72da458dd509402a56d441fb21593fe7Kasimier T. BuchcikXMLPUBFUN int XMLCALL 209aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt, 210aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlParserInputBufferPtr input, 211aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlCharEncoding enc, 212aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic xmlSAXHandlerPtr sax, 213aa3cfbd0809378d88bc907742a9ddd27cc49b335Igor Zlatkovic void *user_data); 214c63fbbff72da458dd509402a56d441fb21593fe7Kasimier T. BuchcikXMLPUBFUN int XMLCALL 215c63fbbff72da458dd509402a56d441fb21593fe7Kasimier T. Buchcik xmlSchemaValidateFile (xmlSchemaValidCtxtPtr ctxt, 216c63fbbff72da458dd509402a56d441fb21593fe7Kasimier T. Buchcik const char * filename, 217c63fbbff72da458dd509402a56d441fb21593fe7Kasimier T. Buchcik int options); 218971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel Veillard 219dee23485f639f0738a4a0cc3159c5140ea425b37Daniel VeillardXMLPUBFUN xmlParserCtxtPtr XMLCALL 220dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt); 221dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard 222971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel Veillard/* 223dee23485f639f0738a4a0cc3159c5140ea425b37Daniel Veillard * Interface to insert Schemas SAX validation in a SAX stream 224971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel Veillard */ 225971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel Veillardtypedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct; 226971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel Veillardtypedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr; 227971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel Veillard 228971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel VeillardXMLPUBFUN xmlSchemaSAXPlugPtr XMLCALL 229971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel Veillard xmlSchemaSAXPlug (xmlSchemaValidCtxtPtr ctxt, 230971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel Veillard xmlSAXHandlerPtr *sax, 231971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel Veillard void **user_data); 232971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel VeillardXMLPUBFUN int XMLCALL 233971771ef5a5f306ddcdd0015b2bedd320bd62c8bDaniel Veillard xmlSchemaSAXUnplug (xmlSchemaSAXPlugPtr plug); 23497fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard 23597fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard 23697fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel VeillardXMLPUBFUN void XMLCALL 23797fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard xmlSchemaValidateSetLocator (xmlSchemaValidCtxtPtr vctxt, 23897fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard xmlSchemaValidityLocatorFunc f, 23997fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard void *ctxt); 24097fa5b3c8f3fe6ff79123ab43ed6b846fd1dd6ddDaniel Veillard 2414255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard#ifdef __cplusplus 2424255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard} 2434255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard#endif 2444255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard 2454255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard#endif /* LIBXML_SCHEMAS_ENABLED */ 2464255d504151db75c17f85192ce74f45dd2d65533Daniel Veillard#endif /* __XML_SCHEMA_H__ */ 247