Home | History | Annotate | Download | only in libxmlrpg
      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 (a] 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__
    620