10 #ifndef __XML_RELAX_NG__
11 #define __XML_RELAX_NG__
13 #include <libxml/xmlversion.h>
14 #include <libxml/hash.h>
15 #include <libxml/xmlstring.h>
17 #ifdef LIBXML_SCHEMAS_ENABLED
23 typedef struct _xmlRelaxNG xmlRelaxNG;
24 typedef xmlRelaxNG *xmlRelaxNGPtr;
35 typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (
void *ctx,
const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
45 typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (
void *ctx,
const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
50 typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt;
51 typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr;
53 typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt;
54 typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr;
63 XML_RELAXNG_ERR_MEMORY,
65 XML_RELAXNG_ERR_TYPEVAL,
66 XML_RELAXNG_ERR_DUPID,
67 XML_RELAXNG_ERR_TYPECMP,
68 XML_RELAXNG_ERR_NOSTATE,
69 XML_RELAXNG_ERR_NODEFINE,
70 XML_RELAXNG_ERR_LISTEXTRA,
71 XML_RELAXNG_ERR_LISTEMPTY,
72 XML_RELAXNG_ERR_INTERNODATA,
73 XML_RELAXNG_ERR_INTERSEQ,
74 XML_RELAXNG_ERR_INTEREXTRA,
75 XML_RELAXNG_ERR_ELEMNAME,
76 XML_RELAXNG_ERR_ATTRNAME,
77 XML_RELAXNG_ERR_ELEMNONS,
78 XML_RELAXNG_ERR_ATTRNONS,
79 XML_RELAXNG_ERR_ELEMWRONGNS,
80 XML_RELAXNG_ERR_ATTRWRONGNS,
81 XML_RELAXNG_ERR_ELEMEXTRANS,
82 XML_RELAXNG_ERR_ATTREXTRANS,
83 XML_RELAXNG_ERR_ELEMNOTEMPTY,
84 XML_RELAXNG_ERR_NOELEM,
85 XML_RELAXNG_ERR_NOTELEM,
86 XML_RELAXNG_ERR_ATTRVALID,
87 XML_RELAXNG_ERR_CONTENTVALID,
88 XML_RELAXNG_ERR_EXTRACONTENT,
89 XML_RELAXNG_ERR_INVALIDATTR,
90 XML_RELAXNG_ERR_DATAELEM,
91 XML_RELAXNG_ERR_VALELEM,
92 XML_RELAXNG_ERR_LISTELEM,
93 XML_RELAXNG_ERR_DATATYPE,
94 XML_RELAXNG_ERR_VALUE,
96 XML_RELAXNG_ERR_NOGRAMMAR,
97 XML_RELAXNG_ERR_EXTRADATA,
98 XML_RELAXNG_ERR_LACKDATA,
99 XML_RELAXNG_ERR_INTERNAL,
100 XML_RELAXNG_ERR_ELEMWRONG,
101 XML_RELAXNG_ERR_TEXTWRONG
102 } xmlRelaxNGValidErr;
110 XML_RELAXNGP_NONE = 0,
111 XML_RELAXNGP_FREE_DOC = 1,
112 XML_RELAXNGP_CRNG = 2
113 } xmlRelaxNGParserFlag;
115 XMLPUBFUN
int XMLCALL
116 xmlRelaxNGInitTypes (
void);
117 XMLPUBFUN
void XMLCALL
118 xmlRelaxNGCleanupTypes (
void);
123 XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
124 xmlRelaxNGNewParserCtxt (
const char *URL);
125 XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
126 xmlRelaxNGNewMemParserCtxt (
const char *buffer,
128 XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
129 xmlRelaxNGNewDocParserCtxt (xmlDocPtr doc);
131 XMLPUBFUN
int XMLCALL
132 xmlRelaxParserSetFlag (xmlRelaxNGParserCtxtPtr ctxt,
135 XMLPUBFUN
void XMLCALL
136 xmlRelaxNGFreeParserCtxt (xmlRelaxNGParserCtxtPtr ctxt);
137 XMLPUBFUN
void XMLCALL
138 xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
139 xmlRelaxNGValidityErrorFunc err,
140 xmlRelaxNGValidityWarningFunc warn,
142 XMLPUBFUN
int XMLCALL
143 xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
144 xmlRelaxNGValidityErrorFunc *err,
145 xmlRelaxNGValidityWarningFunc *warn,
147 XMLPUBFUN
void XMLCALL
148 xmlRelaxNGSetParserStructuredErrors(
149 xmlRelaxNGParserCtxtPtr ctxt,
150 xmlStructuredErrorFunc serror,
152 XMLPUBFUN xmlRelaxNGPtr XMLCALL
153 xmlRelaxNGParse (xmlRelaxNGParserCtxtPtr ctxt);
154 XMLPUBFUN
void XMLCALL
155 xmlRelaxNGFree (xmlRelaxNGPtr schema);
156 #ifdef LIBXML_OUTPUT_ENABLED
157 XMLPUBFUN
void XMLCALL
158 xmlRelaxNGDump (FILE *output,
159 xmlRelaxNGPtr schema);
160 XMLPUBFUN
void XMLCALL
161 xmlRelaxNGDumpTree (FILE * output,
162 xmlRelaxNGPtr schema);
167 XMLPUBFUN
void XMLCALL
168 xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
169 xmlRelaxNGValidityErrorFunc err,
170 xmlRelaxNGValidityWarningFunc warn,
172 XMLPUBFUN
int XMLCALL
173 xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
174 xmlRelaxNGValidityErrorFunc *err,
175 xmlRelaxNGValidityWarningFunc *warn,
177 XMLPUBFUN
void XMLCALL
178 xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt,
179 xmlStructuredErrorFunc serror,
void *ctx);
180 XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL
181 xmlRelaxNGNewValidCtxt (xmlRelaxNGPtr schema);
182 XMLPUBFUN
void XMLCALL
183 xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxtPtr ctxt);
184 XMLPUBFUN
int XMLCALL
185 xmlRelaxNGValidateDoc (xmlRelaxNGValidCtxtPtr ctxt,
190 XMLPUBFUN
int XMLCALL
191 xmlRelaxNGValidatePushElement (xmlRelaxNGValidCtxtPtr ctxt,
194 XMLPUBFUN
int XMLCALL
195 xmlRelaxNGValidatePushCData (xmlRelaxNGValidCtxtPtr ctxt,
198 XMLPUBFUN
int XMLCALL
199 xmlRelaxNGValidatePopElement (xmlRelaxNGValidCtxtPtr ctxt,
202 XMLPUBFUN
int XMLCALL
203 xmlRelaxNGValidateFullElement (xmlRelaxNGValidCtxtPtr ctxt,