15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Summary: implementation of the Relax-NG validation 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Description: implementation of the Relax-NG validation 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copy: See Copyright for the status of this software. 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Author: Daniel Veillard 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __XML_RELAX_NG__ 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define __XML_RELAX_NG__ 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlversion.h> 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/hash.h> 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlstring.h> 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_SCHEMAS_ENABLED 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" { 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlRelaxNG xmlRelaxNG; 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlRelaxNG *xmlRelaxNGPtr; 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlRelaxNGValidityErrorFunc: 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @ctx: the validation context 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @msg: the message 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @...: extra arguments 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Signature of an error callback from a Relax-NG validation 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlRelaxNGValidityWarningFunc: 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @ctx: the validation context 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @msg: the message 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @...: extra arguments 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Signature of a warning callback from a Relax-NG validation 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3); 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * A schemas validation context 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt; 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr; 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt; 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr; 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlRelaxNGValidErr: 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * List of possible Relax NG validation errors 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum { 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_OK = 0, 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_MEMORY, 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_TYPE, 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_TYPEVAL, 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_DUPID, 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_TYPECMP, 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_NOSTATE, 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_NODEFINE, 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_LISTEXTRA, 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_LISTEMPTY, 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_INTERNODATA, 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_INTERSEQ, 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_INTEREXTRA, 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_ELEMNAME, 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_ATTRNAME, 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_ELEMNONS, 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_ATTRNONS, 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_ELEMWRONGNS, 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_ATTRWRONGNS, 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_ELEMEXTRANS, 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_ATTREXTRANS, 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_ELEMNOTEMPTY, 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_NOELEM, 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_NOTELEM, 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_ATTRVALID, 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_CONTENTVALID, 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_EXTRACONTENT, 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_INVALIDATTR, 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_DATAELEM, 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_VALELEM, 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_LISTELEM, 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_DATATYPE, 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_VALUE, 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_LIST, 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_NOGRAMMAR, 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_EXTRADATA, 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_LACKDATA, 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_INTERNAL, 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_ELEMWRONG, 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNG_ERR_TEXTWRONG 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlRelaxNGValidErr; 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * xmlRelaxNGParserFlags: 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * List of possible Relax NG Parser flags 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum { 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNGP_NONE = 0, 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNGP_FREE_DOC = 1, 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) XML_RELAXNGP_CRNG = 2 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} xmlRelaxNGParserFlag; 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGInitTypes (void); 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGCleanupTypes (void); 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Interfaces for parsing. 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGNewParserCtxt (const char *URL); 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGNewMemParserCtxt (const char *buffer, 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int size); 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGNewDocParserCtxt (xmlDocPtr doc); 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxParserSetFlag (xmlRelaxNGParserCtxtPtr ctxt, 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int flag); 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGFreeParserCtxt (xmlRelaxNGParserCtxtPtr ctxt); 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt, 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidityErrorFunc err, 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidityWarningFunc warn, 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void *ctx); 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt, 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidityErrorFunc *err, 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidityWarningFunc *warn, 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void **ctx); 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGSetParserStructuredErrors( 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGParserCtxtPtr ctxt, 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlStructuredErrorFunc serror, 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void *ctx); 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlRelaxNGPtr XMLCALL 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGParse (xmlRelaxNGParserCtxtPtr ctxt); 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGFree (xmlRelaxNGPtr schema); 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_OUTPUT_ENABLED 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGDump (FILE *output, 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGPtr schema); 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGDumpTree (FILE * output, 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGPtr schema); 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_OUTPUT_ENABLED */ 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Interfaces for validating 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt, 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidityErrorFunc err, 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidityWarningFunc warn, 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void *ctx); 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt, 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidityErrorFunc *err, 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidityWarningFunc *warn, 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void **ctx); 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt, 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlStructuredErrorFunc serror, void *ctx); 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGNewValidCtxt (xmlRelaxNGPtr schema); 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxtPtr ctxt); 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidateDoc (xmlRelaxNGValidCtxtPtr ctxt, 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlDocPtr doc); 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Interfaces for progressive validation when possible 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidatePushElement (xmlRelaxNGValidCtxtPtr ctxt, 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlDocPtr doc, 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNodePtr elem); 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidatePushCData (xmlRelaxNGValidCtxtPtr ctxt, 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const xmlChar *data, 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int len); 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidatePopElement (xmlRelaxNGValidCtxtPtr ctxt, 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlDocPtr doc, 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNodePtr elem); 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlRelaxNGValidateFullElement (xmlRelaxNGValidCtxtPtr ctxt, 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlDocPtr doc, 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) xmlNodePtr elem); 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_SCHEMAS_ENABLED */ 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* __XML_RELAX_NG__ */ 214