* Summary: implementation of the Relax-NG validation * Description: implementation of the Relax-NG validation * * Copy: See Copyright for the status of this software. * * Author: Patrick Monnerat , DATASPHERE S.A. /if not defined(XML_RELAX_NG__) /define XML_RELAX_NG__ /include "libxmlrpg/xmlversion" /if defined(LIBXML_SCHEMAS_ENABLED) /include "libxmlrpg/xmlTypesC" /include "libxmlrpg/hash" /include "libxmlrpg/xmlstring" d xmlRelaxNGPtr s * based(######typedef######) * xmlRelaxNGValidityErrorFunc: * @ctx: the validation context * @msg: the message * @...: extra arguments * * Signature of an error callback from a Relax-NG validation d xmlRelaxNGValidityErrorFunc... d s * based(######typedef######) d procptr * xmlRelaxNGValidityWarningFunc: * @ctx: the validation context * @msg: the message * @...: extra arguments * * Signature of a warning callback from a Relax-NG validation d xmlRelaxNGValidityWarningFunc... d s * based(######typedef######) d procptr * A schemas validation context d xmlRelaxNGParserCtxtPtr... d s * based(######typedef######) d xmlRelaxNGValidCtxtPtr... d s * based(######typedef######) * xmlRelaxNGValidErr: * * List of possible Relax NG validation errors d xmlRelaxNGValidErr... d s based(######typedef######) d like(xmlCenum) d XML_RELAXNG_OK... d c 0 d XML_RELAXNG_ERR_MEMORY... d c 1 d XML_RELAXNG_ERR_TYPE... d c 2 d XML_RELAXNG_ERR_TYPEVAL... d c 3 d XML_RELAXNG_ERR_DUPID... d c 4 d XML_RELAXNG_ERR_TYPECMP... d c 5 d XML_RELAXNG_ERR_NOSTATE... d c 6 d XML_RELAXNG_ERR_NODEFINE... d c 7 d XML_RELAXNG_ERR_LISTEXTRA... d c 8 d XML_RELAXNG_ERR_LISTEMPTY... d c 9 d XML_RELAXNG_ERR_INTERNODATA... d c 10 d XML_RELAXNG_ERR_INTERSEQ... d c 11 d XML_RELAXNG_ERR_INTEREXTRA... d c 12 d XML_RELAXNG_ERR_ELEMNAME... d c 13 d XML_RELAXNG_ERR_ATTRNAME... d c 14 d XML_RELAXNG_ERR_ELEMNONS... d c 15 d XML_RELAXNG_ERR_ATTRNONS... d c 16 d XML_RELAXNG_ERR_ELEMWRONGNS... d c 17 d XML_RELAXNG_ERR_ATTRWRONGNS... d c 18 d XML_RELAXNG_ERR_ELEMEXTRANS... d c 19 d XML_RELAXNG_ERR_ATTREXTRANS... d c 20 d XML_RELAXNG_ERR_ELEMNOTEMPTY... d c 21 d XML_RELAXNG_ERR_NOELEM... d c 22 d XML_RELAXNG_ERR_NOTELEM... d c 23 d XML_RELAXNG_ERR_ATTRVALID... d c 24 d XML_RELAXNG_ERR_CONTENTVALID... d c 25 d XML_RELAXNG_ERR_EXTRACONTENT... d c 26 d XML_RELAXNG_ERR_INVALIDATTR... d c 27 d XML_RELAXNG_ERR_DATAELEM... d c 28 d XML_RELAXNG_ERR_VALELEM... d c 29 d XML_RELAXNG_ERR_LISTELEM... d c 30 d XML_RELAXNG_ERR_DATATYPE... d c 31 d XML_RELAXNG_ERR_VALUE... d c 32 d XML_RELAXNG_ERR_LIST... d c 33 d XML_RELAXNG_ERR_NOGRAMMAR... d c 34 d XML_RELAXNG_ERR_EXTRADATA... d c 35 d XML_RELAXNG_ERR_LACKDATA... d c 36 d XML_RELAXNG_ERR_INTERNAL... d c 37 d XML_RELAXNG_ERR_ELEMWRONG... d c 38 d XML_RELAXNG_ERR_TEXTWRONG... d c 39 * xmlRelaxNGParserFlags: * * List of possible Relax NG Parser flags d xmlRelaxNGParserFlag... d s based(######typedef######) d like(xmlCenum) d XML_RELAXNGP_NONE... d c 0 d XML_RELAXNGP_FREE_DOC... d c 1 d XML_RELAXNGP_CRNG... d c 2 d xmlRelaxNGInitTypes... d pr extproc('xmlRelaxNGInitTypes') d like(xmlCint) d xmlRelaxNGCleanupTypes... d pr extproc('xmlRelaxNGCleanupTypes') * Interfaces for parsing. d xmlRelaxNGNewParserCtxt... d pr extproc('xmlRelaxNGNewParserCtxt') d like(xmlRelaxNGParserCtxtPtr) d URL * value options(*string) const char * d xmlRelaxNGNewMemParserCtxt... d pr extproc('xmlRelaxNGNewMemParserCtxt') d like(xmlRelaxNGParserCtxtPtr) d buffer * value options(*string) const char * d size value like(xmlCint) d xmlRelaxNGNewDocParserCtxt... d pr extproc('xmlRelaxNGNewDocParserCtxt') d like(xmlRelaxNGParserCtxtPtr) d doc value like(xmlDocPtr) d xmlRelaxParserSetFlag... d pr extproc('xmlRelaxParserSetFlag') d like(xmlCint) d ctxt value like(xmlRelaxNGParserCtxtPtr) d flag value like(xmlCint) d xmlRelaxNGFreeParserCtxt... d pr extproc('xmlRelaxNGFreeParserCtxt') d ctxt value like(xmlRelaxNGParserCtxtPtr) d xmlRelaxNGSetParserErrors... d pr extproc('xmlRelaxNGSetParserErrors') d ctxt value like(xmlRelaxNGParserCtxtPtr) d err value d like(xmlRelaxNGValidityErrorFunc) d warn value d like(xmlRelaxNGValidityWarningFunc) d ctx * value void * d xmlRelaxNGGetParserErrors... d pr extproc('xmlRelaxNGGetParserErrors') d like(xmlCint) d ctxt value like(xmlRelaxNGParserCtxtPtr) d err like(xmlRelaxNGValidityErrorFunc) d warn like(xmlRelaxNGValidityWarningFunc) d ctx * void *(*) d xmlRelaxNGSetParserStructuredErrors... d pr extproc( d 'xmlRelaxNGSetParserStructuredErrors' d ) d ctxt value like(xmlRelaxNGParserCtxtPtr) d serror value like(xmlStructuredErrorFunc) d ctx * value void * d xmlRelaxNGParse... d pr extproc('xmlRelaxNGParse') d like(xmlRelaxNGPtr) d ctxt value like(xmlRelaxNGParserCtxtPtr) d xmlRelaxNGFree pr extproc('xmlRelaxNGFree') d schema value like(xmlRelaxNGPtr) /if defined(LIBXML_OUTPUT_ENABLED) d xmlRelaxNGDump pr extproc('xmlRelaxNGDump') d output * value FILE * d schema value like(xmlRelaxNGPtr) d xmlRelaxNGDumpTree... d pr extproc('xmlRelaxNGDumpTree') d output * value FILE * d schema value like(xmlRelaxNGPtr) /endif LIBXML_OUTPUT_ENABLD * Interfaces for validating d xmlRelaxNGSetValidErrors... d pr extproc('xmlRelaxNGSetValidErrors') d ctxt value like(xmlRelaxNGValidCtxtPtr) d err value d like(xmlRelaxNGValidityErrorFunc) d warn value d like(xmlRelaxNGValidityWarningFunc) d ctx * value void * d xmlRelaxNGGetValidErrors... d pr extproc('xmlRelaxNGGetValidErrors') d like(xmlCint) d ctxt value like(xmlRelaxNGValidCtxtPtr) d err like(xmlRelaxNGValidityErrorFunc) d warn like(xmlRelaxNGValidityWarningFunc) d ctx * value void * * d xmlRelaxNGSetValidStructuredErrors... d pr extproc( d 'xmlRelaxNGSetValidStructuredErrors') d ctxt value like(xmlRelaxNGValidCtxtPtr) d serror value like(xmlStructuredErrorFunc) d ctx * value void * d xmlRelaxNGNewValidCtxt... d pr extproc('xmlRelaxNGNewValidCtxt') d like(xmlRelaxNGValidCtxtPtr) d schema value like(xmlRelaxNGPtr) d xmlRelaxNGFreeValidCtxt... d pr extproc('xmlRelaxNGFreeValidCtxt') d ctxt value like(xmlRelaxNGValidCtxtPtr) d xmlRelaxNGValidateDoc... d pr extproc('xmlRelaxNGValidateDoc') d like(xmlCint) d ctxt value like(xmlRelaxNGValidCtxtPtr) d doc value like(xmlDocPtr) * Interfaces for progressive validation when possible d xmlRelaxNGValidatePushElement... d pr extproc( d 'xmlRelaxNGValidatePushElement') d like(xmlCint) d ctxt value like(xmlRelaxNGValidCtxtPtr) d doc value like(xmlDocPtr) d elem value like(xmlNodePtr) d xmlRelaxNGValidatePushCData... d pr extproc( d 'xmlRelaxNGValidatePushCData') d like(xmlCint) d ctxt value like(xmlRelaxNGValidCtxtPtr) d data * value options(*string) const xmlChar * d len value like(xmlCint) d xmlRelaxNGValidatePopElement... d pr extproc( d 'xmlRelaxNGValidatePopElement') d like(xmlCint) d ctxt value like(xmlRelaxNGValidCtxtPtr) d doc value like(xmlDocPtr) d elem value like(xmlNodePtr) d xmlRelaxNGValidateFullElement... d pr extproc( d 'xmlRelaxNGValidateFullElement') d like(xmlCint) d ctxt value like(xmlRelaxNGValidCtxtPtr) d doc value like(xmlDocPtr) d elem value like(xmlNodePtr) /endif LIBXML_SCHEMAS_ENBLD /endif XML_RELAX_NG__