1 * Summary: implementation of the Relax-NG validation
2 * Description: implementation of the Relax-NG validation
4 * Copy: See Copyright for the status of this software.
6 * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
8 /if not defined(XML_RELAX_NG__)
11 /include "libxmlrpg/xmlversion"
13 /if defined(LIBXML_SCHEMAS_ENABLED)
15 /include "libxmlrpg/xmlTypesC"
16 /include "libxmlrpg/hash"
17 /include "libxmlrpg/xmlstring"
19 d xmlRelaxNGPtr s * based(######typedef######)
21 * xmlRelaxNGValidityErrorFunc:
22 * @ctx: the validation context
24 * @...: extra arguments
26 * Signature of an error callback from a Relax-NG validation
28 d xmlRelaxNGValidityErrorFunc...
29 d s * based(######typedef######)
32 * xmlRelaxNGValidityWarningFunc:
33 * @ctx: the validation context
35 * @...: extra arguments
37 * Signature of a warning callback from a Relax-NG validation
39 d xmlRelaxNGValidityWarningFunc...
40 d s * based(######typedef######)
43 * A schemas validation context
45 d xmlRelaxNGParserCtxtPtr...
46 d s * based(######typedef######)
48 d xmlRelaxNGValidCtxtPtr...
49 d s * based(######typedef######)
53 * List of possible Relax NG validation errors
55 d xmlRelaxNGValidErr...
56 d s based(######typedef######)
60 d XML_RELAXNG_ERR_MEMORY...
62 d XML_RELAXNG_ERR_TYPE...
64 d XML_RELAXNG_ERR_TYPEVAL...
66 d XML_RELAXNG_ERR_DUPID...
68 d XML_RELAXNG_ERR_TYPECMP...
70 d XML_RELAXNG_ERR_NOSTATE...
72 d XML_RELAXNG_ERR_NODEFINE...
74 d XML_RELAXNG_ERR_LISTEXTRA...
76 d XML_RELAXNG_ERR_LISTEMPTY...
78 d XML_RELAXNG_ERR_INTERNODATA...
80 d XML_RELAXNG_ERR_INTERSEQ...
82 d XML_RELAXNG_ERR_INTEREXTRA...
84 d XML_RELAXNG_ERR_ELEMNAME...
86 d XML_RELAXNG_ERR_ATTRNAME...
88 d XML_RELAXNG_ERR_ELEMNONS...
90 d XML_RELAXNG_ERR_ATTRNONS...
92 d XML_RELAXNG_ERR_ELEMWRONGNS...
94 d XML_RELAXNG_ERR_ATTRWRONGNS...
96 d XML_RELAXNG_ERR_ELEMEXTRANS...
98 d XML_RELAXNG_ERR_ATTREXTRANS...
100 d XML_RELAXNG_ERR_ELEMNOTEMPTY...
102 d XML_RELAXNG_ERR_NOELEM...
104 d XML_RELAXNG_ERR_NOTELEM...
106 d XML_RELAXNG_ERR_ATTRVALID...
108 d XML_RELAXNG_ERR_CONTENTVALID...
110 d XML_RELAXNG_ERR_EXTRACONTENT...
112 d XML_RELAXNG_ERR_INVALIDATTR...
114 d XML_RELAXNG_ERR_DATAELEM...
116 d XML_RELAXNG_ERR_VALELEM...
118 d XML_RELAXNG_ERR_LISTELEM...
120 d XML_RELAXNG_ERR_DATATYPE...
122 d XML_RELAXNG_ERR_VALUE...
124 d XML_RELAXNG_ERR_LIST...
126 d XML_RELAXNG_ERR_NOGRAMMAR...
128 d XML_RELAXNG_ERR_EXTRADATA...
130 d XML_RELAXNG_ERR_LACKDATA...
132 d XML_RELAXNG_ERR_INTERNAL...
134 d XML_RELAXNG_ERR_ELEMWRONG...
136 d XML_RELAXNG_ERR_TEXTWRONG...
139 * xmlRelaxNGParserFlags:
141 * List of possible Relax NG Parser flags
143 d xmlRelaxNGParserFlag...
144 d s based(######typedef######)
146 d XML_RELAXNGP_NONE...
148 d XML_RELAXNGP_FREE_DOC...
150 d XML_RELAXNGP_CRNG...
153 d xmlRelaxNGInitTypes...
154 d pr extproc('xmlRelaxNGInitTypes')
157 d xmlRelaxNGCleanupTypes...
158 d pr extproc('xmlRelaxNGCleanupTypes')
161 * Interfaces for parsing.
163 d xmlRelaxNGNewParserCtxt...
164 d pr extproc('xmlRelaxNGNewParserCtxt')
165 d like(xmlRelaxNGParserCtxtPtr)
166 d URL * value options(*string) const char *
168 d xmlRelaxNGNewMemParserCtxt...
169 d pr extproc('xmlRelaxNGNewMemParserCtxt')
170 d like(xmlRelaxNGParserCtxtPtr)
171 d buffer * value options(*string) const char *
172 d size value like(xmlCint)
174 d xmlRelaxNGNewDocParserCtxt...
175 d pr extproc('xmlRelaxNGNewDocParserCtxt')
176 d like(xmlRelaxNGParserCtxtPtr)
177 d doc value like(xmlDocPtr)
179 d xmlRelaxParserSetFlag...
180 d pr extproc('xmlRelaxParserSetFlag')
182 d ctxt value like(xmlRelaxNGParserCtxtPtr)
183 d flag value like(xmlCint)
185 d xmlRelaxNGFreeParserCtxt...
186 d pr extproc('xmlRelaxNGFreeParserCtxt')
187 d ctxt value like(xmlRelaxNGParserCtxtPtr)
189 d xmlRelaxNGSetParserErrors...
190 d pr extproc('xmlRelaxNGSetParserErrors')
191 d ctxt value like(xmlRelaxNGParserCtxtPtr)
193 d like(xmlRelaxNGValidityErrorFunc)
195 d like(xmlRelaxNGValidityWarningFunc)
198 d xmlRelaxNGGetParserErrors...
199 d pr extproc('xmlRelaxNGGetParserErrors')
201 d ctxt value like(xmlRelaxNGParserCtxtPtr)
202 d err like(xmlRelaxNGValidityErrorFunc)
203 d warn like(xmlRelaxNGValidityWarningFunc)
206 d xmlRelaxNGSetParserStructuredErrors...
208 d 'xmlRelaxNGSetParserStructuredErrors'
210 d ctxt value like(xmlRelaxNGParserCtxtPtr)
211 d serror value like(xmlStructuredErrorFunc)
215 d pr extproc('xmlRelaxNGParse')
216 d like(xmlRelaxNGPtr)
217 d ctxt value like(xmlRelaxNGParserCtxtPtr)
219 d xmlRelaxNGFree pr extproc('xmlRelaxNGFree')
220 d schema value like(xmlRelaxNGPtr)
223 /if defined(LIBXML_OUTPUT_ENABLED)
224 d xmlRelaxNGDump pr extproc('xmlRelaxNGDump')
225 d output * value FILE *
226 d schema value like(xmlRelaxNGPtr)
228 d xmlRelaxNGDumpTree...
229 d pr extproc('xmlRelaxNGDumpTree')
230 d output * value FILE *
231 d schema value like(xmlRelaxNGPtr)
232 /endif LIBXML_OUTPUT_ENABLD
234 * Interfaces for validating
236 d xmlRelaxNGSetValidErrors...
237 d pr extproc('xmlRelaxNGSetValidErrors')
238 d ctxt value like(xmlRelaxNGValidCtxtPtr)
240 d like(xmlRelaxNGValidityErrorFunc)
242 d like(xmlRelaxNGValidityWarningFunc)
245 d xmlRelaxNGGetValidErrors...
246 d pr extproc('xmlRelaxNGGetValidErrors')
248 d ctxt value like(xmlRelaxNGValidCtxtPtr)
249 d err like(xmlRelaxNGValidityErrorFunc)
250 d warn like(xmlRelaxNGValidityWarningFunc)
251 d ctx * value void * *
253 d xmlRelaxNGSetValidStructuredErrors...
255 d 'xmlRelaxNGSetValidStructuredErrors')
256 d ctxt value like(xmlRelaxNGValidCtxtPtr)
257 d serror value like(xmlStructuredErrorFunc)
260 d xmlRelaxNGNewValidCtxt...
261 d pr extproc('xmlRelaxNGNewValidCtxt')
262 d like(xmlRelaxNGValidCtxtPtr)
263 d schema value like(xmlRelaxNGPtr)
265 d xmlRelaxNGFreeValidCtxt...
266 d pr extproc('xmlRelaxNGFreeValidCtxt')
267 d ctxt value like(xmlRelaxNGValidCtxtPtr)
269 d xmlRelaxNGValidateDoc...
270 d pr extproc('xmlRelaxNGValidateDoc')
272 d ctxt value like(xmlRelaxNGValidCtxtPtr)
273 d doc value like(xmlDocPtr)
275 * Interfaces for progressive validation when possible
277 d xmlRelaxNGValidatePushElement...
279 d 'xmlRelaxNGValidatePushElement')
281 d ctxt value like(xmlRelaxNGValidCtxtPtr)
282 d doc value like(xmlDocPtr)
283 d elem value like(xmlNodePtr)
285 d xmlRelaxNGValidatePushCData...
287 d 'xmlRelaxNGValidatePushCData')
289 d ctxt value like(xmlRelaxNGValidCtxtPtr)
290 d data * value options(*string) const xmlChar *
291 d len value like(xmlCint)
293 d xmlRelaxNGValidatePopElement...
295 d 'xmlRelaxNGValidatePopElement')
297 d ctxt value like(xmlRelaxNGValidCtxtPtr)
298 d doc value like(xmlDocPtr)
299 d elem value like(xmlNodePtr)
301 d xmlRelaxNGValidateFullElement...
303 d 'xmlRelaxNGValidateFullElement')
305 d ctxt value like(xmlRelaxNGValidCtxtPtr)
306 d doc value like(xmlDocPtr)
307 d elem value like(xmlNodePtr)
309 /endif LIBXML_SCHEMAS_ENBLD
310 /endif XML_RELAX_NG__