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