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"
12 /include "libxmlrpg/hash"
13 /include "libxmlrpg/xmlstring"
15 /if defined(LIBXML_SCHEMAS_ENABLED)
17 d xmlRelaxNGPtr s * based(######typedef######)
19 * xmlRelaxNGValidityErrorFunc:
20 * @ctx: the validation context
22 * @...: extra arguments
24 * Signature of an error callback from a Relax-NG validation
26 d xmlRelaxNGValidityErrorFunc...
27 d s * based(######typedef######)
30 * xmlRelaxNGValidityWarningFunc:
31 * @ctx: the validation context
33 * @...: extra arguments
35 * Signature of a warning callback from a Relax-NG validation
37 d xmlRelaxNGValidityWarningFunc...
38 d s * based(######typedef######)
41 * A schemas validation context
43 d xmlRelaxNGParserCtxtPtr...
44 d s * based(######typedef######)
46 d xmlRelaxNGValidCtxtPtr...
47 d s * based(######typedef######)
51 * List of possible Relax NG validation errors
53 d xmlRelaxNGValidErr...
54 d s 10i 0 based(######typedef######) enum
57 d XML_RELAXNG_ERR_MEMORY...
59 d XML_RELAXNG_ERR_TYPE...
61 d XML_RELAXNG_ERR_TYPEVAL...
63 d XML_RELAXNG_ERR_DUPID...
65 d XML_RELAXNG_ERR_TYPECMP...
67 d XML_RELAXNG_ERR_NOSTATE...
69 d XML_RELAXNG_ERR_NODEFINE...
71 d XML_RELAXNG_ERR_LISTEXTRA...
73 d XML_RELAXNG_ERR_LISTEMPTY...
75 d XML_RELAXNG_ERR_INTERNODATA...
77 d XML_RELAXNG_ERR_INTERSEQ...
79 d XML_RELAXNG_ERR_INTEREXTRA...
81 d XML_RELAXNG_ERR_ELEMNAME...
83 d XML_RELAXNG_ERR_ATTRNAME...
85 d XML_RELAXNG_ERR_ELEMNONS...
87 d XML_RELAXNG_ERR_ATTRNONS...
89 d XML_RELAXNG_ERR_ELEMWRONGNS...
91 d XML_RELAXNG_ERR_ATTRWRONGNS...
93 d XML_RELAXNG_ERR_ELEMEXTRANS...
95 d XML_RELAXNG_ERR_ATTREXTRANS...
97 d XML_RELAXNG_ERR_ELEMNOTEMPTY...
99 d XML_RELAXNG_ERR_NOELEM...
101 d XML_RELAXNG_ERR_NOTELEM...
103 d XML_RELAXNG_ERR_ATTRVALID...
105 d XML_RELAXNG_ERR_CONTENTVALID...
107 d XML_RELAXNG_ERR_EXTRACONTENT...
109 d XML_RELAXNG_ERR_INVALIDATTR...
111 d XML_RELAXNG_ERR_DATAELEM...
113 d XML_RELAXNG_ERR_VALELEM...
115 d XML_RELAXNG_ERR_LISTELEM...
117 d XML_RELAXNG_ERR_DATATYPE...
119 d XML_RELAXNG_ERR_VALUE...
121 d XML_RELAXNG_ERR_LIST...
123 d XML_RELAXNG_ERR_NOGRAMMAR...
125 d XML_RELAXNG_ERR_EXTRADATA...
127 d XML_RELAXNG_ERR_LACKDATA...
129 d XML_RELAXNG_ERR_INTERNAL...
131 d XML_RELAXNG_ERR_ELEMWRONG...
133 d XML_RELAXNG_ERR_TEXTWRONG...
136 * xmlRelaxNGParserFlags:
138 * List of possible Relax NG Parser flags
140 d xmlRelaxNGParserFlag...
141 d s 10i 0 based(######typedef######) enum
142 d XML_RELAXNGP_NONE...
144 d XML_RELAXNGP_FREE_DOC...
146 d XML_RELAXNGP_CRNG...
149 d xmlRelaxNGInitTypes...
150 d pr 10i 0 extproc('xmlRelaxNGInitTypes')
152 d xmlRelaxNGCleanupTypes...
153 d pr extproc('xmlRelaxNGCleanupTypes')
156 * Interfaces for parsing.
158 d xmlRelaxNGNewParserCtxt...
159 d pr extproc('xmlRelaxNGNewParserCtxt')
160 d like(xmlRelaxNGParserCtxtPtr)
161 d URL * value options(*string) const char *
163 d xmlRelaxNGNewMemParserCtxt...
164 d pr extproc('xmlRelaxNGNewMemParserCtxt')
165 d like(xmlRelaxNGParserCtxtPtr)
166 d buffer * value options(*string) const char *
169 d xmlRelaxNGNewDocParserCtxt...
170 d pr extproc('xmlRelaxNGNewDocParserCtxt')
171 d like(xmlRelaxNGParserCtxtPtr)
172 d doc value like(xmlDocPtr)
174 d xmlRelaxParserSetFlag...
175 d pr 10i 0 extproc('xmlRelaxParserSetFlag')
176 d ctxt value like(xmlRelaxNGParserCtxtPtr)
179 d xmlRelaxNGFreeParserCtxt...
180 d pr extproc('xmlRelaxNGFreeParserCtxt')
181 d ctxt value like(xmlRelaxNGParserCtxtPtr)
183 d xmlRelaxNGSetParserErrors...
184 d pr extproc('xmlRelaxNGSetParserErrors')
185 d ctxt value like(xmlRelaxNGParserCtxtPtr)
187 d like(xmlRelaxNGValidityErrorFunc)
189 d like(xmlRelaxNGValidityWarningFunc)
192 d xmlRelaxNGGetParserErrors...
193 d pr 10i 0 extproc('xmlRelaxNGGetParserErrors')
194 d ctxt value like(xmlRelaxNGParserCtxtPtr)
195 d err like(xmlRelaxNGValidityErrorFunc)
196 d warn like(xmlRelaxNGValidityWarningFunc)
199 d xmlRelaxNGSetParserStructuredErrors...
201 d 'xmlRelaxNGSetParserStructuredErrors'
203 d ctxt value like(xmlRelaxNGParserCtxtPtr)
204 d serror value like(xmlStructuredErrorFunc)
208 d pr extproc('xmlRelaxNGParse')
209 d like(xmlRelaxNGPtr)
210 d ctxt value like(xmlRelaxNGParserCtxtPtr)
212 d xmlRelaxNGFree pr extproc('xmlRelaxNGFree')
213 d schema value like(xmlRelaxNGPtr)
216 /if defined(LIBXML_OUTPUT_ENABLED)
217 d xmlRelaxNGDump pr extproc('xmlRelaxNGDump')
218 d output * value FILE *
219 d schema value like(xmlRelaxNGPtr)
221 d xmlRelaxNGDumpTree...
222 d pr extproc('xmlRelaxNGDumpTree')
223 d output * value FILE *
224 d schema value like(xmlRelaxNGPtr)
225 /endif LIBXML_OUTPUT_ENABLD
227 * Interfaces for validating
229 d xmlRelaxNGSetValidErrors...
230 d pr extproc('xmlRelaxNGSetValidErrors')
231 d ctxt value like(xmlRelaxNGValidCtxtPtr)
233 d like(xmlRelaxNGValidityErrorFunc)
235 d like(xmlRelaxNGValidityWarningFunc)
238 d xmlRelaxNGGetValidErrors...
239 d pr 10i 0 extproc('xmlRelaxNGGetValidErrors')
240 d ctxt value like(xmlRelaxNGValidCtxtPtr)
241 d err like(xmlRelaxNGValidityErrorFunc)
242 d warn like(xmlRelaxNGValidityWarningFunc)
243 d ctx * value void * *
245 d xmlRelaxNGSetValidStructuredErrors...
247 d 'xmlRelaxNGSetValidStructuredErrors')
248 d ctxt value like(xmlRelaxNGValidCtxtPtr)
249 d serror value like(xmlStructuredErrorFunc)
252 d xmlRelaxNGNewValidCtxt...
253 d pr extproc('xmlRelaxNGNewValidCtxt')
254 d like(xmlRelaxNGValidCtxtPtr)
255 d schema value like(xmlRelaxNGPtr)
257 d xmlRelaxNGFreeValidCtxt...
258 d pr extproc('xmlRelaxNGFreeValidCtxt')
259 d ctxt value like(xmlRelaxNGValidCtxtPtr)
261 d xmlRelaxNGValidateDoc...
262 d pr 10i 0 extproc('xmlRelaxNGValidateDoc')
263 d ctxt value like(xmlRelaxNGValidCtxtPtr)
264 d doc value like(xmlDocPtr)
266 * Interfaces for progressive validation when possible
268 d xmlRelaxNGValidatePushElement...
270 d 'xmlRelaxNGValidatePushElement')
271 d ctxt value like(xmlRelaxNGValidCtxtPtr)
272 d doc value like(xmlDocPtr)
273 d elem value like(xmlNodePtr)
275 d xmlRelaxNGValidatePushCData...
277 d 'xmlRelaxNGValidatePushCData')
278 d ctxt value like(xmlRelaxNGValidCtxtPtr)
279 d data * value options(*string) const xmlChar *
282 d xmlRelaxNGValidatePopElement...
284 d 'xmlRelaxNGValidatePopElement')
285 d ctxt value like(xmlRelaxNGValidCtxtPtr)
286 d doc value like(xmlDocPtr)
287 d elem value like(xmlNodePtr)
289 d xmlRelaxNGValidateFullElement...
291 d 'xmlRelaxNGValidateFullElement')
292 d ctxt value like(xmlRelaxNGValidCtxtPtr)
293 d doc value like(xmlDocPtr)
294 d elem value like(xmlNodePtr)
296 /endif LIBXML_SCHEMAS_ENBLD
297 /endif XML_RELAX_NG__