blob: af662aa6923d845c30336b31536496034526ab4e [file] [log] [blame]
Patrick Monnerate083c302014-03-04 17:18:26 +01001 * Summary: implementation of the Relax-NG validation
2 * Description: implementation of the Relax-NG validation
3 *
4 * Copy: See Copyright for the status of this software.
5 *
6 * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
7
8 /if not defined(XML_RELAX_NG__)
9 /define XML_RELAX_NG__
10
11 /include "libxmlrpg/xmlversion"
12 /include "libxmlrpg/hash"
13 /include "libxmlrpg/xmlstring"
14
15 /if defined(LIBXML_SCHEMAS_ENABLED)
16
17 d xmlRelaxNGPtr s * based(######typedef######)
18
19 * xmlRelaxNGValidityErrorFunc:
20 * @ctx: the validation context
21 * @msg: the message
22 * @...: extra arguments
23 *
24 * Signature of an error callback from a Relax-NG validation
25
26 d xmlRelaxNGValidityErrorFunc...
27 d s * based(######typedef######)
28 d procptr
29
30 * xmlRelaxNGValidityWarningFunc:
31 * @ctx: the validation context
32 * @msg: the message
33 * @...: extra arguments
34 *
35 * Signature of a warning callback from a Relax-NG validation
36
37 d xmlRelaxNGValidityWarningFunc...
38 d s * based(######typedef######)
39 d procptr
40
41 * A schemas validation context
42
43 d xmlRelaxNGParserCtxtPtr...
44 d s * based(######typedef######)
45
46 d xmlRelaxNGValidCtxtPtr...
47 d s * based(######typedef######)
48
49 * xmlRelaxNGValidErr:
50 *
51 * List of possible Relax NG validation errors
52
53 d xmlRelaxNGValidErr...
54 d s 10i 0 based(######typedef######) enum
55 d XML_RELAXNG_OK...
56 d c 0
57 d XML_RELAXNG_ERR_MEMORY...
58 d c 1
59 d XML_RELAXNG_ERR_TYPE...
60 d c 2
61 d XML_RELAXNG_ERR_TYPEVAL...
62 d c 3
63 d XML_RELAXNG_ERR_DUPID...
64 d c 4
65 d XML_RELAXNG_ERR_TYPECMP...
66 d c 5
67 d XML_RELAXNG_ERR_NOSTATE...
68 d c 6
69 d XML_RELAXNG_ERR_NODEFINE...
70 d c 7
71 d XML_RELAXNG_ERR_LISTEXTRA...
72 d c 8
73 d XML_RELAXNG_ERR_LISTEMPTY...
74 d c 9
75 d XML_RELAXNG_ERR_INTERNODATA...
76 d c 10
77 d XML_RELAXNG_ERR_INTERSEQ...
78 d c 11
79 d XML_RELAXNG_ERR_INTEREXTRA...
80 d c 12
81 d XML_RELAXNG_ERR_ELEMNAME...
82 d c 13
83 d XML_RELAXNG_ERR_ATTRNAME...
84 d c 14
85 d XML_RELAXNG_ERR_ELEMNONS...
86 d c 15
87 d XML_RELAXNG_ERR_ATTRNONS...
88 d c 16
89 d XML_RELAXNG_ERR_ELEMWRONGNS...
90 d c 17
91 d XML_RELAXNG_ERR_ATTRWRONGNS...
92 d c 18
93 d XML_RELAXNG_ERR_ELEMEXTRANS...
94 d c 19
95 d XML_RELAXNG_ERR_ATTREXTRANS...
96 d c 20
97 d XML_RELAXNG_ERR_ELEMNOTEMPTY...
98 d c 21
99 d XML_RELAXNG_ERR_NOELEM...
100 d c 22
101 d XML_RELAXNG_ERR_NOTELEM...
102 d c 23
103 d XML_RELAXNG_ERR_ATTRVALID...
104 d c 24
105 d XML_RELAXNG_ERR_CONTENTVALID...
106 d c 25
107 d XML_RELAXNG_ERR_EXTRACONTENT...
108 d c 26
109 d XML_RELAXNG_ERR_INVALIDATTR...
110 d c 27
111 d XML_RELAXNG_ERR_DATAELEM...
112 d c 28
113 d XML_RELAXNG_ERR_VALELEM...
114 d c 29
115 d XML_RELAXNG_ERR_LISTELEM...
116 d c 30
117 d XML_RELAXNG_ERR_DATATYPE...
118 d c 31
119 d XML_RELAXNG_ERR_VALUE...
120 d c 32
121 d XML_RELAXNG_ERR_LIST...
122 d c 33
123 d XML_RELAXNG_ERR_NOGRAMMAR...
124 d c 34
125 d XML_RELAXNG_ERR_EXTRADATA...
126 d c 35
127 d XML_RELAXNG_ERR_LACKDATA...
128 d c 36
129 d XML_RELAXNG_ERR_INTERNAL...
130 d c 37
131 d XML_RELAXNG_ERR_ELEMWRONG...
132 d c 38
133 d XML_RELAXNG_ERR_TEXTWRONG...
134 d c 39
135
136 * xmlRelaxNGParserFlags:
137 *
138 * List of possible Relax NG Parser flags
139
140 d xmlRelaxNGParserFlag...
141 d s 10i 0 based(######typedef######) enum
142 d XML_RELAXNGP_NONE...
143 d c 0
144 d XML_RELAXNGP_FREE_DOC...
145 d c 1
146 d XML_RELAXNGP_CRNG...
147 d c 2
148
149 d xmlRelaxNGInitTypes...
150 d pr 10i 0 extproc('xmlRelaxNGInitTypes')
151
152 d xmlRelaxNGCleanupTypes...
153 d pr extproc('xmlRelaxNGCleanupTypes')
154
155
156 * Interfaces for parsing.
157
158 d xmlRelaxNGNewParserCtxt...
159 d pr extproc('xmlRelaxNGNewParserCtxt')
160 d like(xmlRelaxNGParserCtxtPtr)
161 d URL * value options(*string) const char *
162
163 d xmlRelaxNGNewMemParserCtxt...
164 d pr extproc('xmlRelaxNGNewMemParserCtxt')
165 d like(xmlRelaxNGParserCtxtPtr)
166 d buffer * value options(*string) const char *
167 d size 10i 0 value
168
169 d xmlRelaxNGNewDocParserCtxt...
170 d pr extproc('xmlRelaxNGNewDocParserCtxt')
171 d like(xmlRelaxNGParserCtxtPtr)
172 d doc value like(xmlDocPtr)
173
174 d xmlRelaxParserSetFlag...
175 d pr 10i 0 extproc('xmlRelaxParserSetFlag')
176 d ctxt value like(xmlRelaxNGParserCtxtPtr)
177 d flag 10i 0 value
178
179 d xmlRelaxNGFreeParserCtxt...
180 d pr extproc('xmlRelaxNGFreeParserCtxt')
181 d ctxt value like(xmlRelaxNGParserCtxtPtr)
182
183 d xmlRelaxNGSetParserErrors...
184 d pr extproc('xmlRelaxNGSetParserErrors')
185 d ctxt value like(xmlRelaxNGParserCtxtPtr)
186 d err value
187 d like(xmlRelaxNGValidityErrorFunc)
188 d warn value
189 d like(xmlRelaxNGValidityWarningFunc)
190 d ctx * value void *
191
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)
197 d ctx * void *(*)
198
199 d xmlRelaxNGSetParserStructuredErrors...
200 d pr extproc(
201 d 'xmlRelaxNGSetParserStructuredErrors'
202 d )
203 d ctxt value like(xmlRelaxNGParserCtxtPtr)
204 d serror value like(xmlStructuredErrorFunc)
205 d ctx * value void *
206
207 d xmlRelaxNGParse...
208 d pr extproc('xmlRelaxNGParse')
209 d like(xmlRelaxNGPtr)
210 d ctxt value like(xmlRelaxNGParserCtxtPtr)
211
212 d xmlRelaxNGFree pr extproc('xmlRelaxNGFree')
213 d schema value like(xmlRelaxNGPtr)
214
215
216 /if defined(LIBXML_OUTPUT_ENABLED)
217 d xmlRelaxNGDump pr extproc('xmlRelaxNGDump')
218 d output * value FILE *
219 d schema value like(xmlRelaxNGPtr)
220
221 d xmlRelaxNGDumpTree...
222 d pr extproc('xmlRelaxNGDumpTree')
223 d output * value FILE *
224 d schema value like(xmlRelaxNGPtr)
225 /endif LIBXML_OUTPUT_ENABLD
226
227 * Interfaces for validating
228
229 d xmlRelaxNGSetValidErrors...
230 d pr extproc('xmlRelaxNGSetValidErrors')
231 d ctxt value like(xmlRelaxNGValidCtxtPtr)
232 d err value
233 d like(xmlRelaxNGValidityErrorFunc)
234 d warn value
235 d like(xmlRelaxNGValidityWarningFunc)
236 d ctx * value void *
237
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 * *
244
245 d xmlRelaxNGSetValidStructuredErrors...
246 d pr extproc(
247 d 'xmlRelaxNGSetValidStructuredErrors')
248 d ctxt value like(xmlRelaxNGValidCtxtPtr)
249 d serror value like(xmlStructuredErrorFunc)
250 d ctx * value void *
251
252 d xmlRelaxNGNewValidCtxt...
253 d pr extproc('xmlRelaxNGNewValidCtxt')
254 d like(xmlRelaxNGValidCtxtPtr)
255 d schema value like(xmlRelaxNGPtr)
256
257 d xmlRelaxNGFreeValidCtxt...
258 d pr extproc('xmlRelaxNGFreeValidCtxt')
259 d ctxt value like(xmlRelaxNGValidCtxtPtr)
260
261 d xmlRelaxNGValidateDoc...
262 d pr 10i 0 extproc('xmlRelaxNGValidateDoc')
263 d ctxt value like(xmlRelaxNGValidCtxtPtr)
264 d doc value like(xmlDocPtr)
265
266 * Interfaces for progressive validation when possible
267
268 d xmlRelaxNGValidatePushElement...
269 d pr 10i 0 extproc(
270 d 'xmlRelaxNGValidatePushElement')
271 d ctxt value like(xmlRelaxNGValidCtxtPtr)
272 d doc value like(xmlDocPtr)
273 d elem value like(xmlNodePtr)
274
275 d xmlRelaxNGValidatePushCData...
276 d pr 10i 0 extproc(
277 d 'xmlRelaxNGValidatePushCData')
278 d ctxt value like(xmlRelaxNGValidCtxtPtr)
279 d data * value options(*string) const xmlChar *
280 d len 10i 0 value
281
282 d xmlRelaxNGValidatePopElement...
283 d pr 10i 0 extproc(
284 d 'xmlRelaxNGValidatePopElement')
285 d ctxt value like(xmlRelaxNGValidCtxtPtr)
286 d doc value like(xmlDocPtr)
287 d elem value like(xmlNodePtr)
288
289 d xmlRelaxNGValidateFullElement...
290 d pr 10i 0 extproc(
291 d 'xmlRelaxNGValidateFullElement')
292 d ctxt value like(xmlRelaxNGValidCtxtPtr)
293 d doc value like(xmlDocPtr)
294 d elem value like(xmlNodePtr)
295
296 /endif LIBXML_SCHEMAS_ENBLD
297 /endif XML_RELAX_NG__