* Summary: incomplete XML Schemas structure implementation * Description: interface to the XML Schemas handling and schema validity * checking, it is incomplete right now. * * Copy: See Copyright for the status of this software. * * Author: Patrick Monnerat , DATASPHERE S.A. /if not defined(XML_SCHEMA_H__) /define XML_SCHEMA_H__ /include "libxmlrpg/xmlversion" /if defined(LIBXML_SCHEMAS_ENABLED) /include "libxmlrpg/xmlTypesC" /include "libxmlrpg/tree" * This error codes are obsolete; not used any more. d xmlSchemaValidError... d s based(######typedef######) d like(xmlCenum) d XML_SCHEMAS_ERR_OK... d c 0 d XML_SCHEMAS_ERR_NOROOT... d c 1 d XML_SCHEMAS_ERR_UNDECLAREDELEM... d c 2 d XML_SCHEMAS_ERR_NOTTOPLEVEL... d c 3 d XML_SCHEMAS_ERR_MISSING... d c 4 d XML_SCHEMAS_ERR_WRONGELEM... d c 5 d XML_SCHEMAS_ERR_NOTYPE... d c 6 d XML_SCHEMAS_ERR_NOROLLBACK... d c 7 d XML_SCHEMAS_ERR_ISABSTRACT... d c 8 d XML_SCHEMAS_ERR_NOTEMPTY... d c 9 d XML_SCHEMAS_ERR_ELEMCONT... d c 10 d XML_SCHEMAS_ERR_HAVEDEFAULT... d c 11 d XML_SCHEMAS_ERR_NOTNILLABLE... d c 12 d XML_SCHEMAS_ERR_EXTRACONTENT... d c 13 d XML_SCHEMAS_ERR_INVALIDATTR... d c 14 d XML_SCHEMAS_ERR_INVALIDELEM... d c 15 d XML_SCHEMAS_ERR_NOTDETERMINIST... d c 16 d XML_SCHEMAS_ERR_CONSTRUCT... d c 17 d XML_SCHEMAS_ERR_INTERNAL... d c 18 d XML_SCHEMAS_ERR_NOTSIMPLE... d c 19 d XML_SCHEMAS_ERR_ATTRUNKNOWN... d c 20 d XML_SCHEMAS_ERR_ATTRINVALID... d c 21 d XML_SCHEMAS_ERR_VALUE... d c 22 d XML_SCHEMAS_ERR_FACET... d c 23 d XML_SCHEMAS_ERR_... d c 24 d XML_SCHEMAS_ERR_XXX... d c 25 * ATTENTION: Change xmlSchemaSetValidOptions's check * for invalid values, if adding to the validation * options below. * xmlSchemaValidOption: * * This is the set of XML Schema validation options. d xmlSchemaValidOption... d s based(######typedef######) d like(xmlCenum) * * Default/fixed: create an attribute node * or an element's text node on the instance. * d XML_SCHEMA_VAL_VC_I_CREATE... d c X'0001' /if defined(DISABLED) * * assemble schemata using * xsi:schemaLocation and * xsi:noNamespaceSchemaLocation * d XML_SCHEMA_VAL_XSI_ASSEMBLE... d c X'0002' /endif * The schemas related types are kept internal d xmlSchemaPtr s * based(######typedef######) * xmlSchemaValidityErrorFunc: * @ctx: the validation context * @msg: the message * @...: extra arguments * * Signature of an error callback from an XSD validation d xmlSchemaValidityErrorFunc... d s * based(######typedef######) d procptr * xmlSchemaValidityWarningFunc: * @ctx: the validation context * @msg: the message * @...: extra arguments * * Signature of a warning callback from an XSD validation d xmlSchemaValidityWarningFunc... d s * based(######typedef######) d procptr * A schemas validation context d xmlSchemaParserCtxtPtr... d s * based(######typedef######) d xmlSchemaValidCtxtPtr... d s * based(######typedef######) * xmlSchemaValidityLocatorFunc: * @ctx: user provided context * @file: returned file information * @line: returned line information * * A schemas validation locator, a callback called by the validator. * This is used when file or node informations are not available * to find out what file and line number are affected * * Returns: 0 in case of success and -1 in case of error d xmlSchemaValidityLocatorFunc... d s * based(######typedef######) d procptr * Interfaces for parsing. d xmlSchemaNewParserCtxt... d pr extproc('xmlSchemaNewParserCtxt') d like(xmlSchemaParserCtxtPtr) d URL * value options(*string) const char * d xmlSchemaNewMemParserCtxt... d pr extproc('xmlSchemaNewMemParserCtxt') d like(xmlSchemaParserCtxtPtr) d buffer * value options(*string) const char * d size value like(xmlCint) d xmlSchemaNewDocParserCtxt... d pr extproc('xmlSchemaNewDocParserCtxt') d like(xmlSchemaParserCtxtPtr) d doc value like(xmlDocPtr) d xmlSchemaFreeParserCtxt... d pr extproc('xmlSchemaFreeParserCtxt') d ctxt value like(xmlSchemaParserCtxtPtr) d xmlSchemaSetParserErrors... d pr extproc('xmlSchemaSetParserErrors') d ctxt value like(xmlSchemaParserCtxtPtr) d err value d like(xmlSchemaValidityErrorFunc) d warn value d like(xmlSchemaValidityWarningFunc) d ctx * value void * d xmlSchemaSetParserStructuredErrors... d pr extproc( d 'xmlSchemaSetParserStructuredErrors') d ctxt value like(xmlSchemaParserCtxtPtr) d serror value like(xmlStructuredErrorFunc) d ctx * value void * d xmlSchemaGetParserErrors... d pr extproc('xmlSchemaGetParserErrors') d like(xmlCint) d ctxt value like(xmlSchemaParserCtxtPtr) d err like(xmlSchemaValidityErrorFunc) d warn like(xmlSchemaValidityWarningFunc) d ctx * void *(*) d xmlSchemaIsValid... d pr extproc('xmlSchemaIsValid') d like(xmlCint) d ctxt value like(xmlSchemaValidCtxtPtr) d xmlSchemaParse pr extproc('xmlSchemaParse') d like(xmlSchemaPtr) d ctxt value like(xmlSchemaParserCtxtPtr) d xmlSchemaFree pr extproc('xmlSchemaFree') d schema value like(xmlSchemaPtr) /if defined(LIBXML_OUTPUT_ENABLED) d xmlSchemaDump pr extproc('xmlSchemaDump') d output * value FILE * d schema value like(xmlSchemaPtr) /endif LIBXML_OUTPUT_ENABLD * Interfaces for validating d xmlSchemaSetValidErrors... d pr extproc('xmlSchemaSetValidErrors') d ctxt value like(xmlSchemaValidCtxtPtr) d err value d like(xmlSchemaValidityErrorFunc) d warn value d like(xmlSchemaValidityWarningFunc) d ctx * value void * d xmlSchemaSetValidStructuredErrors... d pr extproc( d 'xmlSchemaSetValidStructuredErrors') d ctxt value like(xmlSchemaValidCtxtPtr) d serror value like(xmlStructuredErrorFunc) d ctx * value void * d xmlSchemaGetValidErrors... d pr extproc('xmlSchemaGetValidErrors') d like(xmlCint) d ctxt value like(xmlSchemaValidCtxtPtr) d err like(xmlSchemaValidityErrorFunc) d warn like(xmlSchemaValidityWarningFunc) d ctx * void *(*) d xmlSchemaSetValidOptions... d pr extproc('xmlSchemaSetValidOptions') d like(xmlCint) d ctxt value like(xmlSchemaValidCtxtPtr) d options value like(xmlCint) d xmlSchemaValidateSetFilename... d pr extproc( d 'xmlSchemaValidateSetFilename') d vctxt value like(xmlSchemaValidCtxtPtr) d filename * value options(*string) const char * d xmlSchemaValidCtxtGetOptions... d pr extproc( d 'xmlSchemaValidCtxtGetOptions') d like(xmlCint) d ctxt value like(xmlSchemaValidCtxtPtr) d xmlSchemaNewValidCtxt... d pr extproc('xmlSchemaNewValidCtxt') d like(xmlSchemaValidCtxtPtr) d schema value like(xmlSchemaPtr) d xmlSchemaFreeValidCtxt... d pr extproc('xmlSchemaFreeValidCtxt') d ctxt value like(xmlSchemaValidCtxtPtr) d xmlSchemaValidateDoc... d pr extproc('xmlSchemaValidateDoc') d like(xmlCint) d ctxt value like(xmlSchemaValidCtxtPtr) d instance value like(xmlDocPtr) d xmlSchemaValidateOneElement... d pr extproc( d 'xmlSchemaValidateOneElement') d like(xmlCint) d ctxt value like(xmlSchemaValidCtxtPtr) d elem value like(xmlNodePtr) d xmlSchemaValidateStream... d pr extproc('xmlSchemaValidateStream') d like(xmlCint) d ctxt value like(xmlSchemaValidCtxtPtr) d input value like(xmlParserInputBufferPtr) d enc value like(xmlCharEncoding) d sax value like(xmlSAXHandlerPtr) d user_data * value void * d xmlSchemaValidateFile... d pr extproc('xmlSchemaValidateFile') d like(xmlCint) d ctxt value like(xmlSchemaValidCtxtPtr) d filename * value options(*string) const char * d options value like(xmlCint) d xmlSchemaValidCtxtGetParserCtxt... d pr extproc( d 'xmlSchemaValidCtxtGetParserCtxt') d like(xmlParserCtxtPtr) d ctxt value like(xmlSchemaValidCtxtPtr) * Interface to insert Schemas SAX validation in a SAX stream d xmlSchemaSAXPlugPtr... d s * based(######typedef######) d xmlSchemaSAXPlug... d pr extproc('xmlSchemaSAXPlug') d like(xmlSchemaSAXPlugPtr) d ctxt value like(xmlSchemaValidCtxtPtr) d sax like(xmlSAXHandlerPtr) d user_data * void *(*) d xmlSchemaSAXUnplug... d pr extproc('xmlSchemaSAXUnplug') d like(xmlCint) d plug value like(xmlSchemaSAXPlugPtr) d xmlSchemaValidateSetLocator... d pr extproc( d 'xmlSchemaValidateSetLocator') d vctxt value like(xmlSchemaValidCtxtPtr) d f value d like(xmlSchemaValidityLocatorFunc) d ctxt * value void * /endif LIBXML_SCHEMAS_ENBLD /endif XML_SCHEMA_H__