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/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 occured
    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