rolled back to 2.9.2 because 2.9.4 doesn't work with XML validator
[platform/upstream/libxml2.git] / os400 / libxmlrpg / xmlreader.rpgle
1       * Summary: the XMLReader implementation
2       * Description: API of the XML streaming API based on C# interfaces.
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_XMLREADER_H__)
9       /define XML_XMLREADER_H__
10
11       /include "libxmlrpg/xmlversion"
12       /include "libxmlrpg/tree"
13       /include "libxmlrpg/xmlIO"
14
15       /if defined(LIBXML_SCHEMAS_ENABLED)
16       /include "libxmlrpg/relaxng"
17       /include "libxmlrpg/xmlschemas"
18       /endif
19
20       * xmlParserSeverities:
21       *
22       * How severe an error callback is when the per-reader error callback API
23       * is used.
24
25      d xmlParserSeverities...
26      d                 s             10i 0 based(######typedef######)           enum
27      d  XML_PARSER_SEVERITY_VALIDITY_WARNING...
28      d                 c                   1
29      d  XML_PARSER_SEVERITY_VALIDITY_ERROR...
30      d                 c                   2
31      d  XML_PARSER_SEVERITY_WARNING...
32      d                 c                   3
33      d  XML_PARSER_SEVERITY_ERROR...
34      d                 c                   4
35
36       /if defined(LIBXML_READER_ENABLED)
37
38       * xmlTextReaderMode:
39       *
40       * Internal state values for the reader.
41
42      d xmlTextReaderMode...
43      d                 s             10i 0 based(######typedef######)           enum
44      d  XML_TEXTREADER_MODE_INITIAL...
45      d                 c                   0
46      d  XML_TEXTREADER_MODE_INTERACTIVE...
47      d                 c                   1
48      d  XML_TEXTREADER_MODE_ERROR...
49      d                 c                   2
50      d  XML_TEXTREADER_MODE_EOF...
51      d                 c                   3
52      d  XML_TEXTREADER_MODE_CLOSED...
53      d                 c                   4
54      d  XML_TEXTREADER_MODE_READING...
55      d                 c                   5
56
57       * xmlParserProperties:
58       *
59       * Some common options to use with xmlTextReaderSetParserProp, but it
60       * is better to use xmlParserOption and the xmlReaderNewxxx and
61       * xmlReaderForxxx APIs now.
62
63      d xmlParserProperties...
64      d                 s             10i 0 based(######typedef######)           enum
65      d  XML_PARSER_LOADDTD...
66      d                 c                   1
67      d  XML_PARSER_DEFAULTATTRS...
68      d                 c                   2
69      d  XML_PARSER_VALIDATE...
70      d                 c                   3
71      d  XML_PARSER_SUBST_ENTITIES...
72      d                 c                   4
73
74       * xmlReaderTypes:
75       *
76       * Predefined constants for the different types of nodes.
77
78      d xmlReaderTypes  s             10i 0 based(######typedef######)           enum
79      d  XML_READER_TYPE_NONE...
80      d                 c                   0
81      d  XML_READER_TYPE_ELEMENT...
82      d                 c                   1
83      d  XML_READER_TYPE_ATTRIBUTE...
84      d                 c                   2
85      d  XML_READER_TYPE_TEXT...
86      d                 c                   3
87      d  XML_READER_TYPE_CDATA...
88      d                 c                   4
89      d  XML_READER_TYPE_ENTITY_REFERENCE...
90      d                 c                   5
91      d  XML_READER_TYPE_ENTITY...
92      d                 c                   6
93      d  XML_READER_TYPE_PROCESSING_INSTRUCTION...
94      d                 c                   7
95      d  XML_READER_TYPE_COMMENT...
96      d                 c                   8
97      d  XML_READER_TYPE_DOCUMENT...
98      d                 c                   9
99      d  XML_READER_TYPE_DOCUMENT_TYPE...
100      d                 c                   10
101      d  XML_READER_TYPE_DOCUMENT_FRAGMENT...
102      d                 c                   11
103      d  XML_READER_TYPE_NOTATION...
104      d                 c                   12
105      d  XML_READER_TYPE_WHITESPACE...
106      d                 c                   13
107      d  XML_READER_TYPE_SIGNIFICANT_WHITESPACE...
108      d                 c                   14
109      d  XML_READER_TYPE_END_ELEMENT...
110      d                 c                   15
111      d  XML_READER_TYPE_END_ENTITY...
112      d                 c                   16
113      d  XML_READER_TYPE_XML_DECLARATION...
114      d                 c                   17
115
116       * xmlTextReaderPtr:
117       *
118       * Pointer to an xmlReader context.
119
120      d xmlTextReaderPtr...
121      d                 s               *   based(######typedef######)
122
123       * Constructors & Destructor
124
125      d xmlNewTextReader...
126      d                 pr                  extproc('xmlNewTextReader')
127      d                                     like(xmlTextReaderPtr)
128      d  input                              value like(xmlParserInputBufferPtr)
129      d  URI                            *   value options(*string)               const char *
130
131      d xmlNewTextReaderFilename...
132      d                 pr                  extproc('xmlNewTextReaderFilename')
133      d                                     like(xmlTextReaderPtr)
134      d  URI                            *   value options(*string)               const char *
135
136      d xmlFreeTextReader...
137      d                 pr                  extproc('xmlFreeTextReader')
138      d  reader                             value like(xmlTextReaderPtr)
139
140      d xmlTextReaderSetup...
141      d                 pr            10i 0 extproc('xmlTextReaderSetup')
142      d  reader                             value like(xmlTextReaderPtr)
143      d  input                              value like(xmlParserInputBufferPtr)
144      d  URL                            *   value options(*string)               const char *
145      d  encoding                       *   value options(*string)               const char *
146      d  options                      10i 0 value
147
148       * Iterators
149
150      d xmlTextReaderRead...
151      d                 pr            10i 0 extproc('xmlTextReaderRead')
152      d  reader                             value like(xmlTextReaderPtr)
153
154       /if defined(LIBXML_WRITER_ENABLED)
155      d xmlTextReaderReadInnerXml...
156      d                 pr              *   extproc('xmlTextReaderReadInnerXml') xmlChar *
157      d  reader                             value like(xmlTextReaderPtr)
158
159      d xmlTextReaderReadOuterXml...
160      d                 pr              *   extproc('xmlTextReaderReadOuterXml') xmlChar *
161      d  reader                             value like(xmlTextReaderPtr)
162       /endif
163
164      d xmlTextReaderReadString...
165      d                 pr              *   extproc('xmlTextReaderReadString')   xmlChar *
166      d  reader                             value like(xmlTextReaderPtr)
167
168      d xmlTextReaderReadAttributeValue...
169      d                 pr            10i 0 extproc(
170      d                                     'xmlTextReaderReadAttributeValue')
171      d  reader                             value like(xmlTextReaderPtr)
172
173       * Attributes of the node
174
175      d xmlTextReaderAttributeCount...
176      d                 pr            10i 0 extproc(
177      d                                     'xmlTextReaderAttributeCount')
178      d  reader                             value like(xmlTextReaderPtr)
179
180      d xmlTextReaderDepth...
181      d                 pr            10i 0 extproc('xmlTextReaderDepth')
182      d  reader                             value like(xmlTextReaderPtr)
183
184      d xmlTextReaderHasAttributes...
185      d                 pr            10i 0 extproc('xmlTextReaderHasAttributes')
186      d  reader                             value like(xmlTextReaderPtr)
187
188      d xmlTextReaderHasValue...
189      d                 pr            10i 0 extproc('xmlTextReaderHasValue')
190      d  reader                             value like(xmlTextReaderPtr)
191
192      d xmlTextReaderIsDefault...
193      d                 pr            10i 0 extproc('xmlTextReaderIsDefault')
194      d  reader                             value like(xmlTextReaderPtr)
195
196      d xmlTextReaderIsEmptyElement...
197      d                 pr            10i 0 extproc(
198      d                                     'xmlTextReaderIsEmptyElement')
199      d  reader                             value like(xmlTextReaderPtr)
200
201      d xmlTextReaderNodeType...
202      d                 pr            10i 0 extproc('xmlTextReaderNodeType')
203      d  reader                             value like(xmlTextReaderPtr)
204
205      d xmlTextReaderQuoteChar...
206      d                 pr            10i 0 extproc('xmlTextReaderQuoteChar')
207      d  reader                             value like(xmlTextReaderPtr)
208
209      d xmlTextReaderReadState...
210      d                 pr            10i 0 extproc('xmlTextReaderReadState')
211      d  reader                             value like(xmlTextReaderPtr)
212
213      d xmlTextReaderIsNamespaceDecl...
214      d                 pr            10i 0 extproc(
215      d                                     'xmlTextReaderIsNamespaceDecl')
216      d  reader                             value like(xmlTextReaderPtr)
217
218      d xmlTextReaderConstBaseUri...
219      d                 pr              *   extproc('xmlTextReaderConstBaseUri') const xmlChar *
220      d  reader                             value like(xmlTextReaderPtr)
221
222      d xmlTextReaderConstLocalName...
223      d                 pr              *   extproc(                             const xmlChar *
224      d                                     'xmlTextReaderConstLocalName')
225      d  reader                             value like(xmlTextReaderPtr)
226
227      d xmlTextReaderConstName...
228      d                 pr              *   extproc('xmlTextReaderConstName')    const xmlChar *
229      d  reader                             value like(xmlTextReaderPtr)
230
231      d xmlTextReaderConstNamespaceUri...
232      d                 pr              *   extproc(                             const xmlChar *
233      d                                     'xmlTextReaderConstNamespaceUri')
234      d  reader                             value like(xmlTextReaderPtr)
235
236      d xmlTextReaderConstPrefix...
237      d                 pr              *   extproc('xmlTextReaderConstPrefix')  const xmlChar *
238      d  reader                             value like(xmlTextReaderPtr)
239
240      d xmlTextReaderConstXmlLang...
241      d                 pr              *   extproc('xmlTextReaderConstXmlLang') const xmlChar *
242      d  reader                             value like(xmlTextReaderPtr)
243
244      d xmlTextReaderConstString...
245      d                 pr              *   extproc('xmlTextReaderConstString')  const xmlChar *
246      d  reader                             value like(xmlTextReaderPtr)
247      d  str                            *   value options(*string)               const xmlChar *
248
249      d xmlTextReaderConstValue...
250      d                 pr              *   extproc('xmlTextReaderConstValue')   const xmlChar *
251      d  reader                             value like(xmlTextReaderPtr)
252
253       * use the Const version of the routine for
254       * better performance and simpler code
255
256      d xmlTextReaderBaseUri...
257      d                 pr              *   extproc('xmlTextReaderBaseUri')      xmlChar *
258      d  reader                             value like(xmlTextReaderPtr)
259
260      d xmlTextReaderLocalName...
261      d                 pr              *   extproc('xmlTextReaderLocalName')    xmlChar *
262      d  reader                             value like(xmlTextReaderPtr)
263
264      d xmlTextReaderName...
265      d                 pr              *   extproc('xmlTextReaderName')         xmlChar *
266      d  reader                             value like(xmlTextReaderPtr)
267
268      d xmlTextReaderNamespaceUri...
269      d                 pr              *   extproc('xmlTextReaderNamespaceUri') xmlChar *
270      d  reader                             value like(xmlTextReaderPtr)
271
272      d xmlTextReaderPrefix...
273      d                 pr              *   extproc('xmlTextReaderPrefix')       xmlChar *
274      d  reader                             value like(xmlTextReaderPtr)
275
276      d xmlTextReaderXmlLang...
277      d                 pr              *   extproc('xmlTextReaderXmlLang')      xmlChar *
278      d  reader                             value like(xmlTextReaderPtr)
279
280      d xmlTextReaderValue...
281      d                 pr              *   extproc('xmlTextReaderValue')        xmlChar *
282      d  reader                             value like(xmlTextReaderPtr)
283
284       * Methods of the XmlTextReader
285
286      d xmlTextReaderClose...
287      d                 pr            10i 0 extproc('xmlTextReaderClose')
288      d  reader                             value like(xmlTextReaderPtr)
289
290      d xmlTextReaderGetAttributeNo...
291      d                 pr              *   extproc(                             xmlChar *
292      d                                     'xmlTextReaderGetAttributeNo')
293      d  reader                             value like(xmlTextReaderPtr)
294      d  no                           10i 0 value
295
296      d xmlTextReaderGetAttribute...
297      d                 pr              *   extproc('xmlTextReaderGetAttribute') xmlChar *
298      d  reader                             value like(xmlTextReaderPtr)
299      d  name                           *   value options(*string)               const xmlChar *
300
301      d xmlTextReaderGetAttributeNs...
302      d                 pr              *   extproc(                             xmlChar *
303      d                                     'xmlTextReaderGetAttributeNs')
304      d  reader                             value like(xmlTextReaderPtr)
305      d  localName                      *   value options(*string)               const xmlChar *
306      d  namespaceURI                   *   value options(*string)               const xmlChar *
307
308      d xmlTextReaderGetRemainder...
309      d                 pr                  extproc('xmlTextReaderGetRemainder')
310      d                                     like(xmlParserInputBufferPtr)
311      d  reader                             value like(xmlTextReaderPtr)
312
313      d xmlTextReaderLookupNamespace...
314      d                 pr              *   extproc(                             xmlChar *
315      d                                     'xmlTextReaderLookupNamespace')
316      d  reader                             value like(xmlTextReaderPtr)
317      d  prefix                         *   value options(*string)               const xmlChar *
318
319      d xmlTextReaderMoveToAttributeNo...
320      d                 pr            10i 0 extproc(
321      d                                     'xmlTextReaderMoveToAttributeNo')
322      d  reader                             value like(xmlTextReaderPtr)
323      d  no                           10i 0 value
324
325      d xmlTextReaderMoveToAttribute...
326      d                 pr            10i 0 extproc(
327      d                                     'xmlTextReaderMoveToAttribute')
328      d  reader                             value like(xmlTextReaderPtr)
329      d  name                           *   value options(*string)               const xmlChar *
330
331      d xmlTextReaderMoveToAttributeNs...
332      d                 pr            10i 0 extproc(
333      d                                     'xmlTextReaderMoveToAttributeNs')
334      d  reader                             value like(xmlTextReaderPtr)
335      d  localName                      *   value options(*string)               const xmlChar *
336      d  namespaceURI                   *   value options(*string)               const xmlChar *
337
338      d xmlTextReaderMoveToFirstAttribute...
339      d                 pr            10i 0 extproc(
340      d                                     'xmlTextReaderMoveToFirstAttribute')
341      d  reader                             value like(xmlTextReaderPtr)
342
343      d xmlTextReaderMoveToNextAttribute...
344      d                 pr            10i 0 extproc(
345      d                                     'xmlTextReaderMoveToNextAttribute')
346      d  reader                             value like(xmlTextReaderPtr)
347
348      d xmlTextReaderMoveToElement...
349      d                 pr            10i 0 extproc('xmlTextReaderMoveToElement')
350      d  reader                             value like(xmlTextReaderPtr)
351
352      d xmlTextReaderNormalization...
353      d                 pr            10i 0 extproc('xmlTextReaderNormalization')
354      d  reader                             value like(xmlTextReaderPtr)
355
356      d xmlTextReaderConstEncoding...
357      d                 pr              *   extproc('xmlTextReaderConstEncoding')const xmlChar *
358      d  reader                             value like(xmlTextReaderPtr)
359
360       * Extensions
361
362      d xmlTextReaderSetParserProp...
363      d                 pr            10i 0 extproc('xmlTextReaderSetParserProp')
364      d  reader                             value like(xmlTextReaderPtr)
365      d  prop                         10i 0 value
366      d  value                        10i 0 value
367
368      d xmlTextReaderGetParserProp...
369      d                 pr            10i 0 extproc('xmlTextReaderGetParserProp')
370      d  reader                             value like(xmlTextReaderPtr)
371      d  prop                         10i 0 value
372
373      d xmlTextReaderCurrentNode...
374      d                 pr                  extproc('xmlTextReaderCurrentNode')
375      d                                     like(xmlNodePtr)
376      d  reader                             value like(xmlTextReaderPtr)
377
378      d xmlTextReaderGetParserLineNumber...
379      d                 pr            10i 0 extproc(
380      d                                     'xmlTextReaderGetParserLineNumber')
381      d  reader                             value like(xmlTextReaderPtr)
382
383      d xmlTextReaderGetParserColumnNumber...
384      d                 pr            10i 0 extproc(
385      d                                     'xmlTextReaderGetParserColumnNumber')
386      d  reader                             value like(xmlTextReaderPtr)
387
388      d xmlTextReaderPreserve...
389      d                 pr                  extproc('xmlTextReaderPreserve')
390      d                                     like(xmlNodePtr)
391      d  reader                             value like(xmlTextReaderPtr)
392
393       /if defined(LIBXML_PATTERN_ENABLED)
394      d xmlTextReaderPreservePattern...
395      d                 pr            10i 0 extproc(
396      d                                     'xmlTextReaderPreservePattern')
397      d  reader                             value like(xmlTextReaderPtr)
398      d  pattern                        *   value options(*string)               const xmlChar *
399      d  namespaces                     *                                        const xmlChar *(*)
400       /endif                                                                    LIBXML_PATTERN_ENBLD
401
402      d xmlTextReaderCurrentDoc...
403      d                 pr                  extproc('xmlTextReaderCurrentDoc')
404      d                                     like(xmlDocPtr)
405      d  reader                             value like(xmlTextReaderPtr)
406
407      d xmlTextReaderExpand...
408      d                 pr                  extproc('xmlTextReaderExpand')
409      d                                     like(xmlNodePtr)
410      d  reader                             value like(xmlTextReaderPtr)
411
412      d xmlTextReaderNext...
413      d                 pr            10i 0 extproc('xmlTextReaderNext')
414      d  reader                             value like(xmlTextReaderPtr)
415
416      d xmlTextReaderNextSibling...
417      d                 pr            10i 0 extproc('xmlTextReaderNextSibling')
418      d  reader                             value like(xmlTextReaderPtr)
419
420      d xmlTextReaderIsValid...
421      d                 pr            10i 0 extproc('xmlTextReaderIsValid')
422      d  reader                             value like(xmlTextReaderPtr)
423
424       /if defined(LIBXML_SCHEMAS_ENABLED)
425      d xmlTextReaderRelaxNGValidate...
426      d                 pr            10i 0 extproc(
427      d                                     'xmlTextReaderRelaxNGValidate')
428      d  reader                             value like(xmlTextReaderPtr)
429      d  rng                            *   value options(*string)               const char *
430
431      d xmlTextReaderRelaxNGValidateCtxt...
432      d                 pr            10i 0 extproc(
433      d                                     'xmlTextReaderRelaxNGValidateCtxt')
434      d  reader                             value like(xmlTextReaderPtr)
435      d  ctxt                               value like(xmlRelaxNGValidCtxtPtr)
436      d  options                      10i 0 value
437
438      d xmlTextReaderRelaxNGSetSchema...
439      d                 pr            10i 0 extproc(
440      d                                     'xmlTextReaderRelaxNGSetSchema')
441      d  reader                             value like(xmlTextReaderPtr)
442      d  schema                             value like(xmlRelaxNGPtr)
443
444      d xmlTextReaderSchemaValidate...
445      d                 pr            10i 0 extproc(
446      d                                     'xmlTextReaderSchemaValidate')
447      d  reader                             value like(xmlTextReaderPtr)
448      d  xsd                            *   value options(*string)               const char *
449
450      d xmlTextReaderSchemaValidateCtxt...
451      d                 pr            10i 0 extproc(
452      d                                     'xmlTextReaderSchemaValidateCtxt')
453      d  reader                             value like(xmlTextReaderPtr)
454      d  ctxt                               value like(xmlSchemaValidCtxtPtr)
455      d  options                      10i 0 value
456
457      d xmlTextReaderSetSchema...
458      d                 pr            10i 0 extproc('xmlTextReaderSetSchema')
459      d  reader                             value like(xmlTextReaderPtr)
460      d  schema                             value like(xmlSchemaPtr)
461       /endif
462
463      d xmlTextReaderConstXmlVersion...
464      d                 pr              *   extproc(                             const xmlChar *
465      d                                     'xmlTextReaderConstXmlVersion')
466      d  reader                             value like(xmlTextReaderPtr)
467
468      d xmlTextReaderStandalone...
469      d                 pr            10i 0 extproc('xmlTextReaderStandalone')
470      d  reader                             value like(xmlTextReaderPtr)
471
472       * Index lookup
473
474      d xmlTextReaderByteConsumed...
475      d                 pr            20i 0 extproc('xmlTextReaderByteConsumed')
476      d  reader                             value like(xmlTextReaderPtr)
477
478       * New more complete APIs for simpler creation and reuse of readers
479
480      d xmlReaderWalker...
481      d                 pr                  extproc('xmlReaderWalker')
482      d                                     like(xmlTextReaderPtr)
483      d  doc                                value like(xmlDocPtr)
484
485      d xmlReaderForDoc...
486      d                 pr                  extproc('xmlReaderForDoc')
487      d                                     like(xmlTextReaderPtr)
488      d  cur                            *   value options(*string)               const xmlChar *
489      d  URL                            *   value options(*string)               const char *
490      d  encoding                       *   value options(*string)               const char *
491      d  options                      10i 0 value
492
493      d xmlReaderForFile...
494      d                 pr                  extproc('xmlReaderForFile')
495      d                                     like(xmlTextReaderPtr)
496      d  filename                       *   value options(*string)               const char *
497      d  encoding                       *   value options(*string)               const char *
498      d  options                      10i 0 value
499
500      d xmlReaderForMemory...
501      d                 pr                  extproc('xmlReaderForMemory')
502      d                                     like(xmlTextReaderPtr)
503      d  buffer                         *   value options(*string)               const char *
504      d  size                         10i 0 value
505      d  URL                            *   value options(*string)               const char *
506      d  encoding                       *   value options(*string)               const char *
507      d  options                      10i 0 value
508
509      d xmlReaderForFd  pr                  extproc('xmlReaderForFd')
510      d                                     like(xmlTextReaderPtr)
511      d  fd                           10i 0 value
512      d  URL                            *   value options(*string)               const char *
513      d  encoding                       *   value options(*string)               const char *
514      d  options                      10i 0 value
515
516      d xmlReaderForIO  pr                  extproc('xmlReaderForIO')
517      d                                     like(xmlTextReaderPtr)
518      d  ioread                             value like(xmlInputReadCallback)
519      d  ioclose                            value like(xmlInputCloseCallback)
520      d  ioctx                          *   value                                void *
521      d  URL                            *   value options(*string)               const char *
522      d  encoding                       *   value options(*string)               const char *
523      d  options                      10i 0 value
524
525      d xmlReaderNewWalker...
526      d                 pr            10i 0 extproc('xmlReaderNewWalker')
527      d  reader                             value like(xmlTextReaderPtr)
528      d  doc                                value like(xmlDocPtr)
529
530      d xmlReaderNewDoc...
531      d                 pr            10i 0 extproc('xmlReaderNewDoc')
532      d  reader                             value like(xmlTextReaderPtr)
533      d  cur                            *   value options(*string)               const xmlChar *
534      d  URL                            *   value options(*string)               const char *
535      d  encoding                       *   value options(*string)               const char *
536      d  options                      10i 0 value
537
538      d xmlReaderNewFile...
539      d                 pr            10i 0 extproc('xmlReaderNewFile')
540      d  reader                             value like(xmlTextReaderPtr)
541      d  filename                       *   value options(*string)               const char *
542      d  encoding                       *   value options(*string)               const char *
543      d  options                      10i 0 value
544
545      d xmlReaderNewMemory...
546      d                 pr            10i 0 extproc('xmlReaderNewMemory')
547      d  reader                             value like(xmlTextReaderPtr)
548      d  buffer                         *   value options(*string)               const char *
549      d  size                         10i 0 value
550      d  URL                            *   value options(*string)               const char *
551      d  encoding                       *   value options(*string)               const char *
552      d  options                      10i 0 value
553
554      d xmlReaderNewFd  pr            10i 0 extproc('xmlReaderNewFd')
555      d  reader                             value like(xmlTextReaderPtr)
556      d  fd                           10i 0 value
557      d  URL                            *   value options(*string)               const char *
558      d  encoding                       *   value options(*string)               const char *
559      d  options                      10i 0 value
560
561      d xmlReaderNewIO  pr            10i 0 extproc('xmlReaderNewIO')
562      d  reader                             value like(xmlTextReaderPtr)
563      d  ioread                             value like(xmlInputReadCallback)
564      d  ioclose                            value like(xmlInputCloseCallback)
565      d  ioctx                          *   value                                void *
566      d  URL                            *   value options(*string)               const char *
567      d  encoding                       *   value options(*string)               const char *
568      d  options                      10i 0 value
569
570       * Error handling extensions
571
572      d xmlTextReaderLocatorPtr...
573      d                 s               *   based(######typedef######)           void *
574
575       * xmlTextReaderErrorFunc:
576       * @arg: the user argument
577       * @msg: the message
578       * @severity: the severity of the error
579       * @locator: a locator indicating where the error occured
580       *
581       * Signature of an error callback from a reader parser
582
583      d xmlTextReaderErrorFunc...
584      d                 s               *   based(######typedef######)
585      d                                     procptr
586
587      d xmlTextReaderLocatorLineNumber...
588      d                 pr            10i 0 extproc(
589      d                                     'xmlTextReaderLocatorLineNumber')
590      d  locator                            value like(xmlTextReaderLocatorPtr)
591
592      d xmlTextReaderLocatorBaseURI...
593      d                 pr              *   extproc(                             xmlChar *
594      d                                     'xmlTextReaderLocatorBaseURI')
595      d  locator                            value like(xmlTextReaderLocatorPtr)
596
597      d xmlTextReaderSetErrorHandler...
598      d                 pr                  extproc(
599      d                                     'xmlTextReaderSetErrorHandler')
600      d  reader                             value like(xmlTextReaderPtr)
601      d  f                                  value like(xmlTextReaderErrorFunc)
602      d  arg                            *   value                                void *
603
604      d xmlTextReaderSetStructuredErrorHandler...
605      d                 pr                  extproc('xmlTextReaderSetStructuredE-
606      d                                     rrorHandler')
607      d  reader                             value like(xmlTextReaderPtr)
608      d  f                                  value like(xmlStructuredErrorFunc)
609      d  arg                            *   value                                void *
610
611      d xmlTextReaderGetErrorHandler...
612      d                 pr                  extproc(
613      d                                     'xmlTextReaderGetErrorHandler')
614      d  reader                             value like(xmlTextReaderPtr)
615      d  f                                  like(xmlTextReaderErrorFunc)
616      d  arg                            *                                        void *(*)
617
618       /endif                                                                    LIBXML_READER_ENABLD
619       /endif                                                                    XML_XMLREADER_H__