Home | History | Annotate | Download | only in libxmlrpg
      1       * Summary: interfaces for tree manipulation
      2       * Description: this module describes the structures found in an tree
      3       *              resulting from an XML or HTML parsing, as well as the API
      4       *              provided for various processing on that tree
      5       *
      6       * Copy: See Copyright for the status of this software.
      7       *
      8       * Author: Patrick Monnerat <pm (a] datasphere.ch>, DATASPHERE S.A.
      9 
     10       /if not defined(XML_TREE_H__)
     11       /define XML_TREE_H__
     12 
     13       /include "libxmlrpg/xmlversion"
     14       /include "libxmlrpg/xmlTypesC"
     15       /include "libxmlrpg/xmlstring"
     16 
     17 
     18       * Some of the basic types pointer to structures:
     19 
     20       * xmlIO.h
     21 
     22      d xmlParserInputBufferPtr...
     23      d                 s               *   based(######typedef######)
     24 
     25      d xmlOutputBufferPtr...
     26      d                 s               *   based(######typedef######)
     27 
     28       * parser.h
     29 
     30      d xmlParserInputPtr...
     31      d                 s               *   based(######typedef######)
     32 
     33      d xmlParserCtxtPtr...
     34      d                 s               *   based(######typedef######)
     35 
     36      d xmlSAXLocatorPtr...
     37      d                 s               *   based(######typedef######)
     38 
     39      d xmlSAXHandlerPtr...
     40      d                 s               *   based(######typedef######)
     41 
     42       * entities.h
     43 
     44      d xmlEntityPtr    s               *   based(######typedef######)
     45 
     46 
     47       * BASE_BUFFER_SIZE:
     48       *
     49       * default buffer size 4000.
     50 
     51      d BASE_BUFFER_SIZE...
     52      d                 c                   4096
     53 
     54       * LIBXML_NAMESPACE_DICT:
     55       *
     56       * Defines experimental behaviour:
     57       * 1) xmlNs gets an additional field @context (a xmlDoc)
     58       * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc.
     59 
     60       /if defined(DO_NOT_COMPILE)
     61       /define LIBXML_NAMESPACE_DICT
     62       /endif
     63 
     64       * xmlBufferAllocationScheme:
     65       *
     66       * A buffer allocation scheme can be defined to either match exactly the
     67       * need or double it's allocated size each time it is found too small.
     68 
     69      d xmlBufferAllocationScheme...
     70      d                 s             10i 0 based(######typedef######)           enum
     71      d  XML_BUFFER_ALLOC_DOUBLEIT...
     72      d                 c                   0
     73      d  XML_BUFFER_ALLOC_EXACT...
     74      d                 c                   1
     75      d  XML_BUFFER_ALLOC_IMMUTABLE...
     76      d                 c                   2
     77      d  XML_BUFFER_ALLOC_IO...
     78      d                 c                   3
     79      d  XML_BUFFER_ALLOC_HYBRID...
     80      d                 c                   4
     81 
     82       * xmlBuffer:
     83       *
     84       * A buffer structure, this old construct is limited to 2GB and
     85       * is being deprecated, use API with xmlBuf instead
     86 
     87      d xmlBufferPtr    s               *   based(######typedef######)
     88 
     89      d xmlBuffer       ds                  based(xmlBufferPtr)
     90      d                                     align qualified
     91      d  content                        *                                        xmlChar *
     92      d  use                          10u 0                                      The buffer size used
     93      d  size                         10u 0                                      The buffer size
     94      d  alloc                              like(xmlBufferAllocationScheme)      The realloc method
     95      d  contentIO                      *                                        xmlChar *
     96 
     97       * xmlBufPtr:
     98       *
     99       * A pointer to a buffer structure, the actual structure internals are not
    100       * public
    101 
    102      d xmlBufPtr       s               *   based(######typedef######)
    103 
    104       * A few public routines for xmlBuf. As those are expected to be used
    105       * mostly internally the bulk of the routines are internal in buf.h
    106 
    107      d xmlBufContent   pr              *   extproc('xmlBufContent')             xmlChar *
    108      d  buf                                value like(xmlBufPtr)                const
    109 
    110      d xmlBufEnd       pr              *   extproc('xmlBufEnd')                 xmlChar *
    111      d  buf                                value like(xmlBufPtr)                const
    112 
    113      d xmlBufUse       pr                  extproc('xmlBufUse')
    114      d                                     like(xmlCsize_t)
    115      d  buf                                value like(xmlBufPtr)                const
    116 
    117      d xmlBufShrink    pr                  extproc('xmlBufShrink')
    118      d                                     like(xmlCsize_t)
    119      d  buf                                value like(xmlBufPtr)
    120      d  len                                value like(xmlCsize_t)
    121 
    122       * LIBXML2_NEW_BUFFER:
    123       *
    124       * Macro used to express that the API use the new buffers for
    125       * xmlParserInputBuffer and xmlOutputBuffer. The change was
    126       * introduced in 2.9.0.
    127 
    128       /define LIBXML2_NEW_BUFFER
    129 
    130       * XML_XML_NAMESPACE:
    131       *
    132       * This is the namespace for the special xml: prefix predefined in the
    133       * XML Namespace specification.
    134 
    135      d XML_XML_NAMESPACE...
    136      d                 c                   'http://www.w3.org/XML/1998/+
    137      d                                      namespace'
    138 
    139       * XML_XML_ID:
    140       *
    141       * This is the name for the special xml:id attribute
    142 
    143      d XML_XML_ID      c                   'xml:id'
    144 
    145       * The different element types carried by an XML tree.
    146       *
    147       * NOTE: This is synchronized with DOM Level1 values
    148       *       See http://www.w3.org/TR/REC-DOM-Level-1/
    149       *
    150       * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
    151       * be deprecated to use an XML_DTD_NODE.
    152 
    153      d xmlElementType  s             10i 0 based(######typedef######)           enum
    154      d  XML_ELEMENT_NODE...
    155      d                 c                   1
    156      d  XML_ATTRIBUTE_NODE...
    157      d                 c                   2
    158      d  XML_TEXT_NODE  c                   3
    159      d  XML_CDATA_SECTION_NODE...
    160      d                 c                   4
    161      d  XML_ENTITY_REF_NODE...
    162      d                 c                   5
    163      d  XML_ENTITY_NODE...
    164      d                 c                   6
    165      d  XML_PI_NODE    c                   7
    166      d  XML_COMMENT_NODE...
    167      d                 c                   8
    168      d  XML_DOCUMENT_NODE...
    169      d                 c                   9
    170      d  XML_DOCUMENT_TYPE_NODE...
    171      d                 c                   10
    172      d  XML_DOCUMENT_FRAG_NODE...
    173      d                 c                   11
    174      d  XML_NOTATION_NODE...
    175      d                 c                   12
    176      d  XML_HTML_DOCUMENT_NODE...
    177      d                 c                   13
    178      d  XML_DTD_NODE   c                   14
    179      d  XML_ELEMENT_DECL...
    180      d                 c                   15
    181      d  XML_ATTRIBUTE_DECL...
    182      d                 c                   16
    183      d  XML_ENTITY_DECL...
    184      d                 c                   17
    185      d  XML_NAMESPACE_DECL...
    186      d                 c                   18
    187      d  XML_LOCAL_NAMESPACE...
    188      d                 c                   18                                   Alias
    189      d  XML_XINCLUDE_START...
    190      d                 c                   19
    191      d  XML_XINCLUDE_END...
    192      d                 c                   20
    193       /if defined(LIBXML_DOCB_ENABLED)
    194      d  XML_DOCB_DOCUMENT_NODE...
    195      d                 c                   21
    196       /endif
    197 
    198       * xmlNotation:
    199       *
    200       * A DTD Notation definition.
    201 
    202      d xmlNotationPtr  s               *   based(######typedef######)
    203 
    204      d xmlNotation     ds                  based(xmlNotationPtr)
    205      d                                     align qualified
    206      d  name                           *                                        const xmlChar *
    207      d  PublicID                       *                                        const xmlChar *
    208      d  SystemID                       *                                        const xmlChar *
    209 
    210       * xmlAttributeType:
    211       *
    212       * A DTD Attribute type definition.
    213 
    214      d xmlAttributeType...
    215      d                 s             10i 0 based(######typedef######)           enum
    216      d  XML_ATTRIBUTE_CDATA...
    217      d                 c                   1
    218      d  XML_ATTRIBUTE_ID...
    219      d                 c                   2
    220      d  XML_ATTRIBUTE_IDREF...
    221      d                 c                   3
    222      d  XML_ATTRIBUTE_IDREFS...
    223      d                 c                   4
    224      d  XML_ATTRIBUTE_ENTITY...
    225      d                 c                   5
    226      d  XML_ATTRIBUTE_ENTITIES...
    227      d                 c                   6
    228      d  XML_ATTRIBUTE_NMTOKEN...
    229      d                 c                   7
    230      d  XML_ATTRIBUTE_NMTOKENS...
    231      d                 c                   8
    232      d  XML_ATTRIBUTE_ENUMERATION...
    233      d                 c                   9
    234      d  XML_ATTRIBUTE_NOTATION...
    235      d                 c                   10
    236 
    237       * xmlAttributeDefault:
    238       *
    239       * A DTD Attribute default definition.
    240 
    241      d xmlAttributeDefault...
    242      d                 s             10i 0 based(######typedef######)           enum
    243      d  XML_ATTRIBUTE_NONE...
    244      d                 c                   1
    245      d  XML_ATTRIBUTE_REQUIRED...
    246      d                 c                   2
    247      d  XML_ATTRIBUTE_IMPLIED...
    248      d                 c                   3
    249      d  XML_ATTRIBUTE_FIXED...
    250      d                 c                   4
    251 
    252       * xmlEnumeration:
    253       *
    254       * List structure used when there is an enumeration in DTDs.
    255 
    256      d xmlEnumerationPtr...
    257      d                 s               *   based(######typedef######)
    258 
    259      d xmlEnumeration  ds                  based(xmlEnumerationPtr)
    260      d                                     align qualified
    261      d  next                               like(xmlEnumerationPtr)              Next one
    262      d  name                           *                                        const xmlChar *
    263 
    264       * Forward pointer declarations.
    265 
    266      d xmlNodePtr      s               *   based(######typedef######)
    267      d xmlDocPtr       s               *   based(######typedef######)
    268      d xmlDtdPtr       s               *   based(######typedef######)
    269 
    270       * xmlAttribute:
    271       *
    272       * An Attribute declaration in a DTD.
    273 
    274      d xmlAttributePtr...
    275      d                 s               *   based(######typedef######)
    276 
    277      d xmlAttribute    ds                  based(xmlAttributePtr)
    278      d                                     align qualified
    279      d  #private                       *                                        Application data
    280      d  type                               like(xmlElementType)                 XML_ATTRIBUTE_DECL
    281      d  name                           *                                        const xmlChar *
    282      d  children                           like(xmlNodePtr)                     NULL
    283      d  last                               like(xmlNodePtr)                     NULL
    284      d  parent                             like(xmlDtdPtr)                      -> DTD
    285      d  next                               like(xmlNodePtr)                     next sibling link
    286      d  prev                               like(xmlNodePtr)                     previous sibling lnk
    287      d  doc                                like(xmlDocPtr)                      The containing doc
    288      d  nexth                              like(xmlAttributePtr)                Next in hash table
    289      d  atype                              like(xmlAttributeType)               The attribute type
    290      d  def                                like(xmlAttributeDefault)            The default
    291      d  defaultValue                   *                                        or const xmlChar *
    292      d  tree                               like(xmlEnumerationPtr)              or enum tree
    293      d  prefix                         *                                        const xmlChar *
    294      d  elem                           *                                        const xmlChar *
    295 
    296       * xmlElementContentType:
    297       *
    298       * Possible definitions of element content types.
    299 
    300      d xmlElementContentType...
    301      d                 s             10i 0 based(######typedef######)           enum
    302      d  XML_ELEMENT_CONTENT_PCDATA...
    303      d                 c                   1
    304      d  XML_ELEMENT_CONTENT_ELEMENT...
    305      d                 c                   2
    306      d  XML_ELEMENT_CONTENT_SEQ...
    307      d                 c                   3
    308      d  XML_ELEMENT_CONTENT_OR...
    309      d                 c                   4
    310 
    311       * xmlElementContentOccur:
    312       *
    313       * Possible definitions of element content occurrences.
    314 
    315      d xmlElementContentOccur...
    316      d                 s             10i 0 based(######typedef######)           enum
    317      d  XML_ELEMENT_CONTENT_ONCE...
    318      d                 c                   1
    319      d  XML_ELEMENT_CONTENT_OPT...
    320      d                 c                   2
    321      d  XML_ELEMENT_CONTENT_MULT...
    322      d                 c                   3
    323      d  XML_ELEMENT_CONTENT_PLUS...
    324      d                 c                   4
    325 
    326       * xmlElementContent:
    327       *
    328       * An XML Element content as stored after parsing an element definition
    329       * in a DTD.
    330 
    331      d xmlElementContentPtr...
    332      d                 s               *   based(######typedef######)
    333 
    334      d xmlElementContent...
    335      d                 ds                  based(xmlElementContentPtr)
    336      d                                     align qualified
    337      d  type                               like(xmlElementContentType)
    338      d  ocur                               like(xmlElementContentOccur)
    339      d  name                           *                                        const xmlChar *
    340      d  c1                                 like(xmlElementContentPtr)           First child
    341      d  c2                                 like(xmlElementContentPtr)           Second child
    342      d  parent                             like(xmlElementContentPtr)           Parent
    343      d  prefix                         *                                        const xmlChar *
    344 
    345       * xmlElementTypeVal:
    346       *
    347       * The different possibilities for an element content type.
    348 
    349      d xmlElementTypeVal...
    350      d                 s             10i 0 based(######typedef######)           enum
    351      d  XML_ELEMENT_TYPE_UNDEFINED...
    352      d                 c                   0
    353      d  XML_ELEMENT_TYPE_EMPTY...
    354      d                 c                   1
    355      d  XML_ELEMENT_TYPE_ANY...
    356      d                 c                   2
    357      d  XML_ELEMENT_TYPE_MIXED...
    358      d                 c                   3
    359      d  XML_ELEMENT_TYPE_ELEMENT...
    360      d                 c                   4
    361 
    362       /include "libxmlrpg/xmlregexp"
    363 
    364       * xmlElement:
    365       *
    366       * An XML Element declaration from a DTD.
    367 
    368      d xmlElementPtr   s               *   based(######typedef######)
    369 
    370      d xmlElement      ds                  based(xmlElementPtr)
    371      d                                     align qualified
    372      d  #private                       *                                        Application data
    373      d  type                               like(xmlElementType)                 XML_ELEMENT_DECL
    374      d  name                           *                                        const xmlChar *
    375      d  children                           like(xmlNodePtr)                     NULL
    376      d  last                               like(xmlNodePtr)                     NULL
    377      d  parent                             like(xmlDtdPtr)                      -> DTD
    378      d  next                               like(xmlNodePtr)                     next sibling link
    379      d  prev                               like(xmlNodePtr)                     previous sibling lnk
    380      d  doc                                like(xmlDocPtr)                      The containing doc
    381      d  etype                              like(xmlElementTypeVal)              The type
    382      d  content                            like(xmlElementContentPtr)           Allowed elem content
    383      d  attributes                         like(xmlAttributePtr)                Declared attributes
    384      d  prefix                         *                                        const xmlChar *
    385       /if defined(LIBXML_REGEXP_ENABLED)
    386      d  contModel                          like(xmlRegexpPtr)                   Validating regexp
    387       /else
    388      d  contModel                      *
    389       /endif
    390 
    391       * XML_LOCAL_NAMESPACE:
    392       *
    393       * A namespace declaration node.
    394 
    395       * xmlNs:
    396       *
    397       * An XML namespace.
    398       * Note that prefix == NULL is valid, it defines the default namespace
    399       * within the subtree (until overridden).
    400       *
    401       * xmlNsType is unified with xmlElementType.
    402 
    403      d xmlNsType       s                   based(######typedef######)           enum
    404      d                                     like(xmlElementType)
    405 
    406      d xmlNsPtr        s               *   based(######typedef######)
    407 
    408      d xmlNs           ds                  based(xmlNsPtr)
    409      d                                     align qualified
    410      d  next                               like(xmlNsPtr)                       next Ns link
    411      d  type                               like(xmlNsType)                      Global or local
    412      d  href                           *                                        const xmlChar *
    413      d  prefix                         *                                        const xmlChar *
    414      d  #private                       *                                        Application data
    415      d  context                            like(xmlDocPtr)                      normally an xmlDoc
    416 
    417       * xmlDtd:
    418       *
    419       * An XML DTD, as defined by <!DOCTYPE ... There is actually one for
    420       * the internal subset and for the external subset.
    421 
    422      d xmlDtd          ds                  based(xmlDtdPtr)
    423      d                                     align qualified
    424      d  #private                       *                                        Application data
    425      d  type                               like(xmlElementType)                 XML_DTD_NODE
    426      d  name                           *                                        const xmlChar *
    427      d  children                           like(xmlNodePtr)                     Property link value
    428      d  last                               like(xmlNodePtr)                     Last child link
    429      d  parent                             like(xmlDocPtr)                      Child->parent link
    430      d  next                               like(xmlNodePtr)                     next sibling link
    431      d  prev                               like(xmlNodePtr)                     previous sibling lnk
    432      d  doc                                like(xmlDocPtr)                      The containing doc
    433      d  notations                      *                                        notations hash table
    434      d  elements                       *                                        elements hash table
    435      d  entities                       *                                        entities hash table
    436      d  ExternalID                     *                                        const xmlChar *
    437      d  SystemID                       *                                        const xmlChar *
    438      d  pentities                      *                                        param. ent. h table
    439 
    440       * xmlAttr:
    441       *
    442       * An attribute on an XML node.
    443 
    444      d xmlAttrPtr      s               *   based(######typedef######)
    445 
    446      d xmlAttr         ds                  based(xmlAttrPtr)
    447      d                                     align qualified
    448      d  #private                       *                                        Application data
    449      d  type                               like(xmlElementType)                 XML_ATTRIBUTE_NODE
    450      d  name                           *                                        const xmlChar *
    451      d  children                           like(xmlNodePtr)                     Property link value
    452      d  last                               like(xmlNodePtr)                     NULL
    453      d  parent                             like(xmlNodePtr)                     Child->parent link
    454      d  next                               like(xmlAttrPtr)                     next sibling link
    455      d  prev                               like(xmlAttrPtr)                     previous sibling lnk
    456      d  doc                                like(xmlDocPtr)                      The containing doc
    457      d  ns                                 like(xmlNsPtr)                       Associated namespace
    458      d  atype                              like(xmlAttributeType)               For validation
    459      d  psvi                           *                                        Type/PSVI info
    460 
    461       * xmlID:
    462       *
    463       * An XML ID instance.
    464 
    465      d xmlIdPtr        s               *   based(######typedef######)
    466 
    467      d xmlID           ds                  based(xmlIdPtr)
    468      d                                     align qualified
    469      d  next                               like(xmlIdPtr)                       Next ID
    470      d  attr                               like(xmlAttrPtr)                     Attribute holding it
    471      d  name                           *                                        const xmlChar *
    472      d  lineno                       10i 0                                      Line # if not avail
    473      d  doc                                like(xmlDocPtr)                      Doc holding ID
    474 
    475       * xmlRef:
    476       *
    477       * An XML IDREF instance.
    478 
    479      d xmlRefPtr       s               *   based(######typedef######)
    480 
    481      d xmlRef          ds                  based(xmlRefPtr)
    482      d                                     align qualified
    483      d  next                               like(xmlRefPtr)                      Next Ref
    484      d  value                          *                                        const xmlChar *
    485      d  attr                               like(xmlAttrPtr)                     Attribute holding it
    486      d  name                           *                                        const xmlChar *
    487      d  lineno                       10i 0                                      Line # if not avail
    488 
    489       * xmlNode:
    490       *
    491       * A node in an XML tree.
    492 
    493      d xmlNode         ds                  based(xmlNodePtr)
    494      d                                     align qualified
    495      d  #private                       *                                        Application data
    496      d  type                               like(xmlElementType)
    497      d  name                           *                                        const xmlChar *
    498      d  children                           like(xmlNodePtr)                     Parent->children lnk
    499      d  last                               like(xmlNodePtr)                     Last child link
    500      d  parent                             like(xmlNodePtr)                     Child->parent link
    501      d  next                               like(xmlNodePtr)                     next sibling link
    502      d  prev                               like(xmlNodePtr)                     previous sibling lnk
    503      d  doc                                like(xmlDocPtr)                      The containing doc
    504      d  ns                                 like(xmlNsPtr)                       Associated namespace
    505      d  content                        *                                        xmlChar *
    506      d  properties                         like(xmlAttrPtr)                     Properties list
    507      d  nsDef                              like(xmlNsPtr)                       Node ns definitions
    508      d  psvi                           *                                        Type/PSVI info
    509      d  line                               like(xmlCushort)
    510      d  extra                              like(xmlCushort)                     Data for XPath/XSLT
    511 
    512       * xmlDocProperty
    513       *
    514       * Set of properties of the document as found by the parser
    515       * Some of them are linked to similary named xmlParserOption
    516 
    517      d xmlDocProperties...
    518      d                 s             10i 0 based(######typedef######)           enum
    519      d  XML_DOC_WELLFORMED...
    520      d                 c                   X'00000001'
    521      d  XML_DOC_NSVALID...
    522      d                 c                   X'00000002'
    523      d  XML_DOC_OLD10  c                   X'00000004'
    524      d  XML_DOC_DTDVALID...
    525      d                 c                   X'00000008'
    526      d  XML_DOC_XINCLUDE...
    527      d                 c                   X'00000010'
    528      d  XML_DOC_USERBUILT...
    529      d                 c                   X'00000020'
    530      d  XML_DOC_INTERNAL...
    531      d                 c                   X'00000030'
    532      d  XML_DOC_HTML   c                   X'00000080'
    533 
    534       * xmlDoc:
    535       *
    536       * An XML document.
    537 
    538      d xmlDoc          ds                  based(xmlDocPtr)
    539      d                                     align qualified
    540      d  #private                       *                                        Application data
    541      d  type                               like(xmlElementType)                 XML_DOCUMENT_NODE
    542      d  name                           *                                        const xmlChar *
    543      d  children                           like(xmlNodePtr)                     The document tree
    544      d  last                               like(xmlNodePtr)                     Last child link
    545      d  parent                             like(xmlNodePtr)                     Child->parent link
    546      d  next                               like(xmlNodePtr)                     next sibling link
    547      d  prev                               like(xmlNodePtr)                     previous sibling lnk
    548      d  doc                                like(xmlDocPtr)                      Reference to itself
    549      d  compression                  10i 0                                      zlib compression lev
    550      d  standalone                   10i 0
    551      d  intSubset                          like(xmlDtdPtr)                      Internal subset
    552      d  extSubset                          like(xmlDtdPtr)                      External subset
    553      d  oldns                              like(xmlNsPtr)                       Global namespace
    554      d  version                        *                                        const xmlChar *
    555      d  encoding                       *                                        const xmlChar *
    556      d  ids                            *                                        IDs hash table
    557      d  refs                           *                                        IDREFs hash table
    558      d  URL                            *                                        const xmlChar *
    559      d  charset                      10i 0                                      In-memory encoding
    560      d  dict                           *                                        xmlDictPtr for names
    561      d  psvi                           *                                        Type/PSVI ino
    562      d  parseFlags                   10i 0                                      xmlParserOption's
    563      d  properties                   10i 0                                      xmlDocProperties
    564 
    565       * xmlDOMWrapAcquireNsFunction:
    566       * @ctxt:  a DOM wrapper context
    567       * @node:  the context node (element or attribute)
    568       * @nsName:  the requested namespace name
    569       * @nsPrefix:  the requested namespace prefix
    570       *
    571       * A function called to acquire namespaces (xmlNs) from the wrapper.
    572       *
    573       * Returns an xmlNsPtr or NULL in case of an error.
    574 
    575      d xmlDOMWrapAcquireNsFunction...
    576      d                 s               *   based(######typedef######)
    577      d                                     procptr
    578 
    579       * xmlDOMWrapCtxt:
    580       *
    581       * Context for DOM wrapper-operations.
    582 
    583      d xmlDOMWrapCtxtPtr...
    584      d                 s               *   based(######typedef######)
    585 
    586      d xmlDOMWrapCtxt...
    587      d                 ds                  based(xmlDOMWrapCtxtPtr)
    588      d                                     align qualified
    589      d  #private                       *                                        void *
    590      d  type                         10i 0
    591      d  namespaceMap                   *                                        void *
    592      d  getNsForNodeFunc...
    593      d                                     like(xmlDOMWrapAcquireNsFunction)
    594 
    595 
    596       * Variables.
    597 
    598       * Some helper functions
    599 
    600       /undefine XML_TESTVAL
    601       /if defined(LIBXML_TREE_ENABLED)
    602       /define XML_TESTVAL
    603       /elseif defined(LIBXML_XPATH_ENABLED)
    604       /define XML_TESTVAL
    605       /elseif defined(LIBXML_SCHEMAS_ENABLED)
    606       /define XML_TESTVAL
    607       /elseif defined(LIBXML_DEBUG_ENABLED)
    608       /define XML_TESTVAL
    609       /elseif defined(LIBXML_HTML_ENABLED)
    610       /define XML_TESTVAL
    611       /elseif defined(LIBXML_SAX1_ENABLED)
    612       /define XML_TESTVAL
    613       /elseif defined(LIBXML_HTML_ENABLED)
    614       /define XML_TESTVAL
    615       /elseif defined(LIBXML_WRITER_ENABLED)
    616       /define XML_TESTVAL
    617       /elseif defined(LIBXML_DOCB_ENABLED)
    618       /define XML_TESTVAL
    619       /endif
    620       /if defined(XML_TESTVAL)
    621      d xmlValidateNCName...
    622      d                 pr            10i 0 extproc('xmlValidateNCName')
    623      d  value                          *   value options(*string)               const xmlChar *
    624      d  space                        10i 0 value
    625 
    626       /undefine XML_TESTVAL
    627       /endif
    628 
    629       /if defined(LIBXML_TREE_ENABLED)
    630       /define XML_TESTVAL
    631       /elseif defined(LIBXML_SCHEMAS_ENABLED)
    632       /define XML_TESTVAL
    633       /endif
    634       /if defined(XML_TESTVAL)
    635      d xmlValidateQName...
    636      d                 pr            10i 0 extproc('xmlValidateQName')
    637      d  value                          *   value options(*string)               const xmlChar *
    638      d  space                        10i 0 value
    639 
    640      d xmlValidateName...
    641      d                 pr            10i 0 extproc('xmlValidateName')
    642      d  value                          *   value options(*string)               const xmlChar *
    643      d  space                        10i 0 value
    644 
    645      d xmlValidateNMToken...
    646      d                 pr            10i 0 extproc('xmlValidateNMToken')
    647      d  value                          *   value options(*string)               const xmlChar *
    648      d  space                        10i 0 value
    649 
    650       /undefine XML_TESTVAL
    651       /endif
    652 
    653      d xmlBuildQName   pr              *   extproc('xmlBuildQName')             xmlChar *
    654      d  ncname                         *   value options(*string)               const xmlChar *
    655      d  prefix                         *   value options(*string)               const xmlChar *
    656      d  memory                    65535    options(*varsize: *omit)             xmlChar[]
    657      d  len                          10i 0 value                                memory length
    658 
    659      d xmlSplitQName2  pr              *   extproc('xmlSplitQName2')            xmlChar *
    660      d  name                           *   value options(*string)               const xmlChar *
    661      d  prefix                         *                                        xmlChar *
    662 
    663      d xmlSplitQName3  pr              *   extproc('xmlSplitQName3')            const xmlChar *
    664      d  name                           *   value options(*string)               const xmlChar *
    665      d  len                          10i 0
    666 
    667       * Handling Buffers, the old ones see @xmlBuf for the new ones.
    668 
    669      d xmlSetBufferAllocationScheme...
    670      d                 pr                  extproc(
    671      d                                      'xmlSetBufferAllocationScheme')
    672      d  scheme                             value
    673      d                                     like(xmlBufferAllocationScheme)
    674 
    675      d xmlGetBufferAllocationScheme...
    676      d                 pr                  extproc(
    677      d                                      'xmlGetBufferAllocationScheme')
    678      d                                     like(xmlBufferAllocationScheme)
    679 
    680      d xmlBufferCreate...
    681      d                 pr                  extproc('xmlBufferCreate')
    682      d                                     like(xmlBufferPtr)
    683 
    684      d xmlBufferCreateSize...
    685      d                 pr                  extproc('xmlBufferCreateSize')
    686      d                                     like(xmlBufferPtr)
    687      d  size                               value like(xmlCsize_t)
    688 
    689      d xmlBufferCreateStatic...
    690      d                 pr                  extproc('xmlBufferCreateStatic')
    691      d                                     like(xmlBufferPtr)
    692      d  mem                            *   value
    693      d  size                               value like(xmlCsize_t)
    694 
    695      d xmlBufferResize...
    696      d                 pr            10i 0 extproc('xmlBufferResize')
    697      d  buf                                value like(xmlBufferPtr)
    698      d  size                               value like(xmlCsize_t)
    699 
    700      d xmlBufferFree   pr                  extproc('xmlBufferFree')
    701      d  buf                                value like(xmlBufferPtr)
    702 
    703      d xmlBufferDump   pr            10i 0 extproc('xmlBufferDump')
    704      d  file                           *   value                                FILE *
    705      d  buf                                value like(xmlBufferPtr)
    706 
    707      d xmlBufferAdd    pr            10i 0 extproc('xmlBufferAdd')
    708      d  buf                                value like(xmlBufferPtr)
    709      d  str                            *   value options(*string)               const xmlChar *
    710      d  len                          10i 0 value                                str length
    711 
    712      d xmlBufferAddHead...
    713      d                 pr            10i 0 extproc('xmlBufferAddHead')
    714      d  buf                                value like(xmlBufferPtr)
    715      d  str                            *   value options(*string)               const xmlChar *
    716      d  len                          10i 0 value                                str length
    717 
    718      d xmlBufferCat    pr            10i 0 extproc('xmlBufferCat')
    719      d  buf                                value like(xmlBufferPtr)
    720      d  str                            *   value options(*string)               const xmlChar *
    721 
    722      d xmlBufferCCat   pr            10i 0 extproc('xmlBufferCCat')
    723      d  buf                                value like(xmlBufferPtr)
    724      d  str                            *   value options(*string)               const char *
    725 
    726      d xmlBufferShrink...
    727      d                 pr            10i 0 extproc('xmlBufferShrink')
    728      d  buf                                value like(xmlBufferPtr)
    729      d  len                          10u 0 value                                str length
    730 
    731      d xmlBufferGrow   pr            10i 0 extproc('xmlBufferGrow')
    732      d  buf                                value like(xmlBufferPtr)
    733      d  len                          10u 0 value                                str length
    734 
    735      d xmlBufferEmpty  pr                  extproc('xmlBufferEmpty')
    736      d  buf                                value like(xmlBufferPtr)
    737 
    738      d xmlBufferContent...
    739      d                 pr              *   extproc('xmlBufferContent')          const xmlChar *
    740      d  buf                                value like(xmlBufferPtr)
    741 
    742      d xmlBufferDetach...
    743      d                 pr              *   extproc('xmlBufferDetach')           xmlChar *
    744      d  buf                                value like(xmlBufferPtr)
    745 
    746      d xmlBufferSetAllocationScheme...
    747      d                 pr                  extproc(
    748      d                                      'xmlBufferSetAllocationScheme')
    749      d  buf                                value like(xmlBufferPtr)
    750      d  scheme                             value
    751      d                                     like(xmlBufferAllocationScheme)
    752 
    753      d xmlBufferLength...
    754      d                 pr            10i 0 extproc('xmlBufferLength')
    755      d  buf                                value like(xmlBufferPtr)
    756 
    757       * Creating/freeing new structures.
    758 
    759      d xmlCreateIntSubset...
    760      d                 pr                  extproc('xmlCreateIntSubset')
    761      d                                     like(xmlDtdPtr)
    762      d  doc                                value like(xmlDocPtr)
    763      d  name                           *   value options(*string)               const xmlChar *
    764      d  ExternalID                     *   value options(*string)               const xmlChar *
    765      d  SystemlID                      *   value options(*string)               const xmlChar *
    766 
    767      d xmlNewDtd       pr                  extproc('xmlNewDtd')
    768      d                                     like(xmlDtdPtr)
    769      d  doc                                value like(xmlDocPtr)
    770      d  name                           *   value options(*string)               const xmlChar *
    771      d  ExternalID                     *   value options(*string)               const xmlChar *
    772      d  SystemlID                      *   value options(*string)               const xmlChar *
    773 
    774      d xmlGetIntSubset...
    775      d                 pr                  extproc('xmlGetIntSubset')
    776      d                                     like(xmlDtdPtr)
    777      d  doc                                value like(xmlDocPtr)
    778 
    779      d xmlFreeDtd      pr                  extproc('xmlFreeDtd')
    780      d  cur                                value like(xmlDtdPtr)
    781 
    782       /if defined(LIBXML_LEGACY_ENABLED)
    783      d xmlNewGlobalNs  pr                  extproc('xmlNewGlobalNs')
    784      d                                     like(xmlNsPtr)
    785      d  doc                                value like(xmlDocPtr)
    786      d  href                           *   value options(*string)               const xmlChar *
    787      d  prefix                         *   value options(*string)               const xmlChar *
    788       /endif                                                                    LIBXML_LEGACY_ENABLD
    789 
    790      d xmlNewNs        pr                  extproc('xmlNewNs')
    791      d                                     like(xmlNsPtr)
    792      d  node                               value like(xmlNodePtr)
    793      d  href                           *   value options(*string)               const xmlChar *
    794      d  prefix                         *   value options(*string)               const xmlChar *
    795 
    796      d xmlFreeNs       pr                  extproc('xmlFreeNs')
    797      d  cur                                value like(xmlNsPtr)
    798 
    799      d xmlFreeNsList   pr                  extproc('xmlFreeNsList')
    800      d  cur                                value like(xmlNsPtr)
    801 
    802      d xmlNewDoc       pr                  extproc('xmlNewDoc')
    803      d                                     like(xmlDocPtr)
    804      d  version                        *   value options(*string)               const xmlChar *
    805 
    806      d xmlFreeDoc      pr                  extproc('xmlFreeDoc')
    807      d  cur                                value like(xmlDocPtr)
    808 
    809      d xmlNewDocProp   pr                  extproc('xmlNewDocProp')
    810      d                                     like(xmlAttrPtr)
    811      d  name                           *   value options(*string)               const xmlChar *
    812      d  value                          *   value options(*string)               const xmlChar *
    813 
    814       /if defined(LIBXML_TREE_ENABLED)
    815       /define XML_TESTVAL
    816       /elseif defined(LIBXML_HTML_ENABLED)
    817       /define XML_TESTVAL
    818       /elseif defined(LIBXML_SCHEMAS_ENABLED)
    819       /define XML_TESTVAL
    820       /endif
    821       /if defined(XML_TESTVAL)
    822      d xmlNewProp      pr                  extproc('xmlNewProp')
    823      d                                     like(xmlAttrPtr)
    824      d  node                               value like(xmlNodePtr)
    825      d  name                           *   value options(*string)               const xmlChar *
    826      d  value                          *   value options(*string)               const xmlChar *
    827 
    828       /undefine XML_TESTVAL
    829       /endif
    830 
    831      d xmlNewNsProp    pr                  extproc('xmlNewNsProp')
    832      d                                     like(xmlAttrPtr)
    833      d  node                               value like(xmlNodePtr)
    834      d  ns                                 value like(xmlNsPtr)
    835      d  name                           *   value options(*string)               const xmlChar *
    836      d  value                          *   value options(*string)               const xmlChar *
    837 
    838      d xmlNewNsPropEatName...
    839      d                 pr                  extproc('xmlNewNsPropEatName')
    840      d                                     like(xmlAttrPtr)
    841      d  node                               value like(xmlNodePtr)
    842      d  ns                                 value like(xmlNsPtr)
    843      d  name                           *   value                                xmlChar *
    844      d  value                          *   value options(*string)               const xmlChar *
    845 
    846      d xmlFreePropList...
    847      d                 pr                  extproc('xmlFreePropList')
    848      d  cur                                value like(xmlAttrPtr)
    849 
    850      d xmlFreeProp     pr                  extproc('xmlFreeProp')
    851      d  cur                                value like(xmlAttrPtr)
    852 
    853      d xmlCopyProp     pr                  extproc('xmlCopyProp')
    854      d                                     like(xmlAttrPtr)
    855      d  target                             value like(xmlNodePtr)
    856      d  cur                                value like(xmlAttrPtr)
    857 
    858      d xmlCopyPropList...
    859      d                 pr                  extproc('xmlCopyPropList')
    860      d                                     like(xmlAttrPtr)
    861      d  target                             value like(xmlNodePtr)
    862      d  cur                                value like(xmlAttrPtr)
    863 
    864       /if defined(LIBXML_TREE_ENABLED)
    865      d xmlCopyDtd      pr                  extproc('xmlCopyDtd')
    866      d                                     like(xmlDtdPtr)
    867      d  dtd                                value like(xmlDtdPtr)
    868       /endif                                                                    LIBXML_TREE_ENABLED
    869 
    870       /if defined(LIBXML_TREE_ENABLED)
    871       /define XML_TESTVAL
    872       /elseif defined(LIBXML_SCHEMAS_ENABLED)
    873       /define XML_TESTVAL
    874       /endif
    875       /if defined(XML_TESTVAL)
    876      d xmlCopyDoc      pr                  extproc('xmlCopyDoc')
    877      d                                     like(xmlDocPtr)
    878      d  doc                                value like(xmlDocPtr)
    879      d  recursive                    10i 0 value
    880 
    881       /undefine XML_TESTVAL
    882       /endif
    883 
    884       * Creating new nodes.
    885 
    886      d xmlNewDocNode   pr                  extproc('xmlNewDocNode')
    887      d                                     like(xmlNodePtr)
    888      d  doc                                value like(xmlDocPtr)
    889      d  ns                                 value like(xmlNsPtr)
    890      d  name                           *   value options(*string)               const xmlChar *
    891      d  content                        *   value options(*string)               const xmlChar *
    892 
    893      d xmlNewDocNodeEatName...
    894      d                 pr                  extproc('xmlNewDocNodeEatName')
    895      d                                     like(xmlNodePtr)
    896      d  doc                                value like(xmlDocPtr)
    897      d  ns                                 value like(xmlNsPtr)
    898      d  name                           *   value                                xmlChar *
    899      d  content                        *   value options(*string)               const xmlChar *
    900 
    901      d xmlNewNode      pr                  extproc('xmlNewNode')
    902      d                                     like(xmlNodePtr)
    903      d  ns                                 value like(xmlNsPtr)
    904      d  name                           *   value options(*string)               const xmlChar *
    905 
    906      d xmlNewNodeEatName...
    907      d                 pr                  extproc('xmlNewNodeEatName')
    908      d                                     like(xmlNodePtr)
    909      d  ns                                 value like(xmlNsPtr)
    910      d  name                           *   value                                xmlChar *
    911 
    912       /if defined(LIBXML_TREE_ENABLED)
    913       /define XML_TESTVAL
    914       /elseif defined(LIBXML_SCHEMAS_ENABLED)
    915       /define XML_TESTVAL
    916       /endif
    917       /if defined(XML_TESTVAL)
    918      d xmlNewChild     pr                  extproc('xmlNewChild')
    919      d                                     like(xmlNodePtr)
    920      d  parent                             value like(xmlNodePtr)
    921      d  ns                                 value like(xmlNsPtr)
    922      d  name                           *   value options(*string)               const xmlChar *
    923      d  content                        *   value options(*string)               const xmlChar *
    924 
    925       /undefine XML_TESTVAL
    926       /endif
    927 
    928      d xmlNewDocText   pr                  extproc('xmlNewDocText')
    929      d                                     like(xmlNodePtr)
    930      d  doc                                value like(xmlDocPtr)
    931      d  content                        *   value options(*string)               const xmlChar *
    932 
    933      d xmlNewText      pr                  extproc('xmlNewText')
    934      d                                     like(xmlNodePtr)
    935      d  content                        *   value options(*string)               const xmlChar *
    936 
    937      d xmlNewDocPI     pr                  extproc('xmlNewDocPI')
    938      d                                     like(xmlNodePtr)
    939      d  doc                                value like(xmlDocPtr)
    940      d  name                           *   value options(*string)               const xmlChar *
    941      d  content                        *   value options(*string)               const xmlChar *
    942 
    943      d xmlNewPI        pr                  extproc('xmlNewPI')
    944      d                                     like(xmlNodePtr)
    945      d  name                           *   value options(*string)               const xmlChar *
    946      d  content                        *   value options(*string)               const xmlChar *
    947 
    948      d xmlNewDocTextLen...
    949      d                 pr                  extproc('xmlNewDocTextLen')
    950      d                                     like(xmlNodePtr)
    951      d  doc                                value like(xmlDocPtr)
    952      d  content                        *   value options(*string)               const xmlChar *
    953      d  len                          10i 0 value
    954 
    955      d xmlNewTextLen   pr                  extproc('xmlNewTextLen')
    956      d                                     like(xmlNodePtr)
    957      d  content                        *   value options(*string)               const xmlChar *
    958      d  len                          10i 0 value
    959 
    960      d xmlNewDocComment...
    961      d                 pr                  extproc('xmlNewDocComment')
    962      d                                     like(xmlNodePtr)
    963      d  doc                                value like(xmlDocPtr)
    964      d  content                        *   value options(*string)               const xmlChar *
    965 
    966      d xmlNewComment   pr                  extproc('xmlNewComment')
    967      d                                     like(xmlNodePtr)
    968      d  content                        *   value options(*string)               const xmlChar *
    969 
    970      d xmlNewCDataBlock...
    971      d                 pr                  extproc('xmlNewCDataBlock')
    972      d                                     like(xmlNodePtr)
    973      d  doc                                value like(xmlDocPtr)
    974      d  content                        *   value options(*string)               const xmlChar *
    975      d  len                          10i 0 value
    976 
    977      d xmlNewCharRef   pr                  extproc('xmlNewCharRef')
    978      d                                     like(xmlNodePtr)
    979      d  doc                                value like(xmlDocPtr)
    980      d  name                           *   value options(*string)               const xmlChar *
    981 
    982      d xmlNewReference...
    983      d                 pr                  extproc('xmlNewReference')
    984      d                                     like(xmlNodePtr)
    985      d  doc                                value like(xmlDocPtr)
    986      d  name                           *   value options(*string)               const xmlChar *
    987 
    988      d xmlCopyNode     pr                  extproc('xmlCopyNode')
    989      d                                     like(xmlNodePtr)
    990      d  node                               value like(xmlNodePtr)
    991      d  recursive                    10i 0 value
    992 
    993      d xmlDocCopyNode  pr                  extproc('xmlDocCopyNode')
    994      d                                     like(xmlNodePtr)
    995      d  node                               value like(xmlNodePtr)
    996      d  doc                                value like(xmlDocPtr)
    997      d  recursive                    10i 0 value
    998 
    999      d xmlDocCopyNodeList...
   1000      d                 pr                  extproc('xmlDocCopyNodeList')
   1001      d                                     like(xmlNodePtr)
   1002      d  doc                                value like(xmlDocPtr)
   1003      d  node                               value like(xmlNodePtr)
   1004 
   1005      d xmlCopyNodeList...
   1006      d                 pr                  extproc('xmlCopyNodeList')
   1007      d                                     like(xmlNodePtr)
   1008      d  node                               value like(xmlNodePtr)
   1009 
   1010       /if defined(LIBXML_TREE_ENABLED)
   1011      d xmlNewTextChild...
   1012      d                 pr                  extproc('xmlNewTextChild')
   1013      d                                     like(xmlNodePtr)
   1014      d  parent                             value like(xmlNodePtr)
   1015      d  ns                                 value like(xmlNsPtr)
   1016      d  name                           *   value options(*string)               const xmlChar *
   1017      d  content                        *   value options(*string)               const xmlChar *
   1018 
   1019      d xmlNewDocRawNode...
   1020      d                 pr                  extproc('xmlNewDocRawNode')
   1021      d                                     like(xmlNodePtr)
   1022      d  doc                                value like(xmlDocPtr)
   1023      d  ns                                 value like(xmlNsPtr)
   1024      d  name                           *   value options(*string)               const xmlChar *
   1025      d  content                        *   value options(*string)               const xmlChar *
   1026 
   1027      d xmlNewDocFragment...
   1028      d                 pr                  extproc('xmlNewDocFragment')
   1029      d                                     like(xmlNodePtr)
   1030      d  doc                                value like(xmlDocPtr)
   1031       /endif                                                                    LIBXML_TREE_ENABLED
   1032 
   1033       * Navigating.
   1034 
   1035      d xmlNewDocFragment...
   1036      d xmlGetLineNo    pr                  extproc('xmlGetLineNo')
   1037      d                                     like(xmlClong)
   1038      d  node                               value like(xmlNodePtr)
   1039 
   1040       /if defined(LIBXML_TREE_ENABLED)
   1041       /define XML_TESTVAL
   1042       /elseif defined(LIBXML_DEBUG_ENABLED)
   1043       /define XML_TESTVAL
   1044       /endif
   1045       /if defined(XML_TESTVAL)
   1046      d xmlGetNodePath  pr              *   extproc('xmlGetNodePath')            xmlChar *
   1047      d  node                               value like(xmlNodePtr)
   1048 
   1049       /undefine XML_TESTVAL
   1050       /endif
   1051 
   1052      d xmlDocGetRootElement...
   1053      d                 pr                  extproc('xmlDocGetRootElement')
   1054      d                                     like(xmlNodePtr)
   1055      d  doc                                value like(xmlDocPtr)
   1056 
   1057      d xmlGetLastChild...
   1058      d                 pr                  extproc('xmlGetLastChild')
   1059      d                                     like(xmlNodePtr)
   1060      d  parent                             value like(xmlNodePtr)
   1061 
   1062      d xmlNodeIsText   pr            10i 0 extproc('xmlNodeIsText')
   1063      d  node                               value like(xmlNodePtr)
   1064 
   1065      d xmlIsBlankNode  pr            10i 0 extproc('xmlIsBlankNode')
   1066      d  node                               value like(xmlNodePtr)
   1067 
   1068       * Changing the structure.
   1069 
   1070       /if defined(LIBXML_TREE_ENABLED)
   1071       /define XML_TESTVAL
   1072       /elseif defined(LIBXML_WRITER_ENABLED)
   1073       /define XML_TESTVAL
   1074       /endif
   1075       /if defined(XML_TESTVAL)
   1076      d xmlDocSetRootElement...
   1077      d                 pr                  extproc('xmlDocSetRootElement')
   1078      d                                     like(xmlNodePtr)
   1079      d  doc                                value like(xmlDocPtr)
   1080      d  root                               value like(xmlNodePtr)
   1081 
   1082       /undefine XML_TESTVAL
   1083       /endif
   1084 
   1085       /if defined(LIBXML_TREE_ENABLED)
   1086      d xmlNodeSetName  pr                  extproc('xmlNodeSetName')
   1087      d  node                               value like(xmlNodePtr)
   1088      d  name                           *   value options(*string)               const xmlChar *
   1089       /endif                                                                    LIBXML_TREE_ENABLED
   1090 
   1091      d xmlAddChild     pr                  extproc('xmlAddChild')
   1092      d                                     like(xmlNodePtr)
   1093      d  parent                             value like(xmlNodePtr)
   1094      d  cur                                value like(xmlNodePtr)
   1095 
   1096      d xmlAddChildList...
   1097      d                 pr                  extproc('xmlAddChildList')
   1098      d                                     like(xmlNodePtr)
   1099      d  parent                             value like(xmlNodePtr)
   1100      d  cur                                value like(xmlNodePtr)
   1101 
   1102       /if defined(LIBXML_TREE_ENABLED)
   1103       /define XML_TESTVAL
   1104       /elseif defined(LIBXML_WRITER_ENABLED)
   1105       /define XML_TESTVAL
   1106       /endif
   1107       /if defined(XML_TESTVAL)
   1108      d xmlReplaceNode  pr                  extproc('xmlReplaceNode')
   1109      d                                     like(xmlNodePtr)
   1110      d  old                                value like(xmlNodePtr)
   1111      d  cur                                value like(xmlNodePtr)
   1112 
   1113       /undefine XML_TESTVAL
   1114       /endif
   1115 
   1116       /if defined(LIBXML_TREE_ENABLED)
   1117       /define XML_TESTVAL
   1118       /elseif defined(LIBXML_HTML_ENABLED)
   1119       /define XML_TESTVAL
   1120       /elseif defined(LIBXML_SCHEMAS_ENABLED)
   1121       /define XML_TESTVAL
   1122       /endif
   1123       /if defined(XML_TESTVAL)
   1124      d xmlAddPrevSibling...
   1125      d                 pr                  extproc('xmlAddPrevSibling')
   1126      d                                     like(xmlNodePtr)
   1127      d  cur                                value like(xmlNodePtr)
   1128      d  elem                               value like(xmlNodePtr)
   1129 
   1130       /undefine XML_TESTVAL
   1131       /endif
   1132 
   1133      d xmlAddSibling   pr                  extproc('xmlAddSibling')
   1134      d                                     like(xmlNodePtr)
   1135      d  cur                                value like(xmlNodePtr)
   1136      d  elem                               value like(xmlNodePtr)
   1137 
   1138      d xmlAddNextSibling...
   1139      d                 pr                  extproc('xmlAddNextSibling')
   1140      d                                     like(xmlNodePtr)
   1141      d  cur                                value like(xmlNodePtr)
   1142      d  elem                               value like(xmlNodePtr)
   1143 
   1144      d xmlUnlinkNode   pr                  extproc('xmlUnlinkNode')
   1145      d  cur                                value like(xmlNodePtr)
   1146 
   1147      d xmlTextMerge    pr                  extproc('xmlTextMerge')
   1148      d                                     like(xmlNodePtr)
   1149      d  first                              value like(xmlNodePtr)
   1150      d  second                             value like(xmlNodePtr)
   1151 
   1152      d xmlTextConcat   pr            10i 0 extproc('xmlTextConcat')
   1153      d  node                               value like(xmlNodePtr)
   1154      d  content                        *   value options(*string)               const xmlChar *
   1155      d  len                          10i 0 value
   1156 
   1157      d xmlFreeNodeList...
   1158      d                 pr                  extproc('xmlFreeNodeList')
   1159      d  cur                                value like(xmlNodePtr)
   1160 
   1161      d xmlFreeNode     pr                  extproc('xmlFreeNode')
   1162      d  cur                                value like(xmlNodePtr)
   1163 
   1164      d xmlSetTreeDoc   pr                  extproc('xmlSetTreeDoc')
   1165      d  tree                               value like(xmlNodePtr)
   1166      d  doc                                value like(xmlDocPtr)
   1167 
   1168      d xmlSetListDoc   pr                  extproc('xmlSetListDoc')
   1169      d  list                               value like(xmlNodePtr)
   1170      d  doc                                value like(xmlDocPtr)
   1171 
   1172       * Namespaces.
   1173 
   1174      d xmlSearchNs     pr                  extproc('xmlSearchNs')
   1175      d                                     like(xmlNsPtr)
   1176      d  doc                                value like(xmlDocPtr)
   1177      d  node                               value like(xmlNodePtr)
   1178      d  nameSpace                      *   value options(*string)               const xmlChar *
   1179 
   1180      d xmlSearchNsByHref...
   1181      d                 pr                  extproc('xmlSearchNsByHref')
   1182      d                                     like(xmlNsPtr)
   1183      d  doc                                value like(xmlDocPtr)
   1184      d  node                               value like(xmlNodePtr)
   1185      d  href                           *   value options(*string)               const xmlChar *
   1186 
   1187       /if defined(LIBXML_TREE_ENABLED)
   1188       /define XML_TESTVAL
   1189       /elseif defined(LIBXML_XPATH_ENABLED)
   1190       /define XML_TESTVAL
   1191       /elseif defined(LIBXML_SCHEMAS_ENABLED)
   1192       /define XML_TESTVAL
   1193       /endif
   1194       /if defined(XML_TESTVAL)
   1195      d xmlGetNsList    pr              *   extproc('xmlGetNsList')              xmlNsPtr *
   1196      d  doc                                value like(xmlDocPtr)
   1197      d  node                               value like(xmlNodePtr)
   1198 
   1199       /undefine XML_TESTVAL
   1200       /endif
   1201 
   1202      d xmlSetNs        pr                  extproc('xmlSetNs')
   1203      d  node                               value like(xmlNodePtr)
   1204      d  ns                                 value like(xmlNsPtr)
   1205 
   1206      d xmlCopyNamespace...
   1207      d                 pr                  extproc('xmlCopyNamespace')
   1208      d                                     like(xmlNsPtr)
   1209      d  cur                                value like(xmlNsPtr)
   1210 
   1211      d xmlCopyNamespaceList...
   1212      d                 pr                  extproc('xmlCopyNamespaceList')
   1213      d                                     like(xmlNsPtr)
   1214      d  cur                                value like(xmlNsPtr)
   1215 
   1216       * Changing the content.
   1217 
   1218       /if defined(LIBXML_TREE_ENABLED)
   1219       /define XML_TESTVAL
   1220       /elseif defined(LIBXML_XINCLUDE_ENABLED)
   1221       /define XML_TESTVAL
   1222       /elseif defined(LIBXML_SCHEMAS_ENABLED)
   1223       /define XML_TESTVAL
   1224       /elseif defined(LIBXML_HTML_ENABLED)
   1225       /define XML_TESTVAL
   1226       /endif
   1227       /if defined(XML_TESTVAL)
   1228      d xmlSetProp      pr                  extproc('xmlSetProp')
   1229      d                                     like(xmlAttrPtr)
   1230      d  node                               value like(xmlNodePtr)
   1231      d  name                           *   value options(*string)               const xmlChar *
   1232      d  value                          *   value options(*string)               const xmlChar *
   1233 
   1234      d xmlSetNsProp    pr                  extproc('xmlSetNsProp')
   1235      d                                     like(xmlAttrPtr)
   1236      d  node                               value like(xmlNodePtr)
   1237      d  ns                                 value like(xmlNsPtr)
   1238      d  name                           *   value options(*string)               const xmlChar *
   1239      d  value                          *   value options(*string)               const xmlChar *
   1240 
   1241       /undefine XML_TESTVAL
   1242       /endif
   1243 
   1244      d xmlGetNoNsProp  pr              *   extproc('xmlGetNoNsProp')            xmlChar *
   1245      d  node                               value like(xmlNodePtr)
   1246      d  name                           *   value options(*string)               const xmlChar *
   1247 
   1248      d xmlGetProp      pr              *   extproc('xmlGetProp')                xmlChar *
   1249      d  node                               value like(xmlNodePtr)
   1250      d  name                           *   value options(*string)               const xmlChar *
   1251 
   1252      d xmlHasProp      pr                  extproc('xmlHasProp')
   1253      d                                     like(xmlAttrPtr)
   1254      d  node                               value like(xmlNodePtr)
   1255      d  name                           *   value options(*string)               const xmlChar *
   1256 
   1257      d xmlHasNsProp    pr                  extproc('xmlHasNsProp')
   1258      d                                     like(xmlAttrPtr)
   1259      d  node                               value like(xmlNodePtr)
   1260      d  name                           *   value options(*string)               const xmlChar *
   1261      d  nameSpace                      *   value options(*string)               const xmlChar *
   1262 
   1263      d xmlGetNsProp    pr              *   extproc('xmlGetNsProp')              xmlChar *
   1264      d  node                               value like(xmlNodePtr)
   1265      d  name                           *   value options(*string)               const xmlChar *
   1266      d  nameSpace                      *   value options(*string)               const xmlChar *
   1267 
   1268      d xmlStringGetNodeList...
   1269      d                 pr                  extproc('xmlStringGetNodeList')
   1270      d                                     like(xmlNodePtr)
   1271      d  doc                                value like(xmlDocPtr)
   1272      d  value                          *   value options(*string)               const xmlChar *
   1273 
   1274      d xmlStringLenGetNodeList...
   1275      d                 pr                  extproc('xmlStringLenGetNodeList')
   1276      d                                     like(xmlNodePtr)
   1277      d  doc                                value like(xmlDocPtr)
   1278      d  value                          *   value options(*string)               const xmlChar *
   1279      d  len                          10i 0 value
   1280 
   1281      d xmlNodeListGetString...
   1282      d                 pr              *   extproc('xmlNodeListGetString')      xmlChar *
   1283      d  doc                                value like(xmlDocPtr)
   1284      d  list                               value like(xmlNodePtr)
   1285      d  inLine                       10i 0 value
   1286 
   1287       /if defined(LIBXML_TREE_ENABLED)
   1288      d xmlNodeListGetRawString...
   1289      d                 pr              *   extproc('xmlNodeListGetRawString')   xmlChar *
   1290      d  doc                                value like(xmlDocPtr)
   1291      d  list                               value like(xmlNodePtr)
   1292      d  inLine                       10i 0 value
   1293       /endif                                                                    LIBXML_TREE_ENABLED
   1294 
   1295      d xmlNodeSetContent...
   1296      d                 pr                  extproc('xmlNodeSetContent')
   1297      d  cur                                value like(xmlNodePtr)
   1298      d  content                        *   value options(*string)               const xmlChar *
   1299 
   1300       /if defined(LIBXML_TREE_ENABLED)
   1301      d xmlNodeSetContentLen...
   1302      d                 pr                  extproc('xmlNodeSetContentLen')
   1303      d  cur                                value like(xmlNodePtr)
   1304      d  content                        *   value options(*string)               const xmlChar *
   1305      d  len                          10i 0 value
   1306       /endif                                                                    LIBXML_TREE_ENABLED
   1307 
   1308      d xmlNodeAddContent...
   1309      d                 pr                  extproc('xmlNodeAddContent')
   1310      d  cur                                value like(xmlNodePtr)
   1311      d  content                        *   value options(*string)               const xmlChar *
   1312 
   1313      d xmlNodeAddContentLen...
   1314      d                 pr                  extproc('xmlNodeAddContentLen')
   1315      d  cur                                value like(xmlNodePtr)
   1316      d  content                        *   value options(*string)               const xmlChar *
   1317      d  len                          10i 0 value
   1318 
   1319      d xmlNodeGetContent...
   1320      d                 pr              *   extproc('xmlNodeGetContent')         xmlChar *
   1321      d  cur                                value like(xmlNodePtr)
   1322 
   1323      d xmlNodeBufGetContent...
   1324      d                 pr            10i 0 extproc('xmlNodeBufGetContent')
   1325      d  buffer                             value like(xmlBufferPtr)
   1326      d  cur                                value like(xmlNodePtr)
   1327 
   1328      d xmlBufGetNodeContent...
   1329      d                 pr            10i 0 extproc('xmlBufGetNodeContent')
   1330      d  buf                                value like(xmlBufPtr)
   1331      d  cur                                value like(xmlNodePtr)
   1332 
   1333      d xmlNodeGetLang  pr              *   extproc('xmlNodeGetLang')            xmlChar *
   1334      d  cur                                value like(xmlNodePtr)
   1335 
   1336      d xmlNodeGetSpacePreserve...
   1337      d                 pr            10i 0 extproc('xmlNodeGetSpacePreserve')
   1338      d  cur                                value like(xmlNodePtr)
   1339 
   1340       /if defined(LIBXML_TREE_ENABLED)
   1341      d xmlNodeSetLang  pr                  extproc('xmlNodeSetLang')
   1342      d  cur                                value like(xmlNodePtr)
   1343      d  lang                           *   value options(*string)               const xmlChar *
   1344 
   1345      d xmlNodeSetSpacePreserve...
   1346      d                 pr                  extproc('xmlNodeSetSpacePreserve')
   1347      d  cur                                value like(xmlNodePtr)
   1348      d  val                          10i 0 value
   1349       /endif                                                                    LIBXML_TREE_ENABLED
   1350 
   1351      d xmlNodeGetBase  pr              *   extproc('xmlNodeGetBase')            xmlChar *
   1352      d  doc                                value like(xmlDocPtr)
   1353      d  cur                                value like(xmlNodePtr)
   1354 
   1355       /if defined(LIBXML_TREE_ENABLED)
   1356       /define XML_TESTVAL
   1357       /elseif defined(LIBXML_XINCLUDE_ENABLED)
   1358       /define XML_TESTVAL
   1359       /endif
   1360       /if defined(XML_TESTVAL)
   1361      d xmlNodeSetBase  pr                  extproc('xmlNodeSetBase')
   1362      d  node                               value like(xmlNodePtr)
   1363      d  uri                            *   value options(*string)               const xmlChar *
   1364 
   1365       /undefine XML_TESTVAL
   1366       /endif
   1367 
   1368       * Removing content.
   1369 
   1370      d xmlRemoveProp   pr            10i 0 extproc('xmlRemoveProp')
   1371      d  cur                                value like(xmlAttrPtr)
   1372 
   1373       /if defined(LIBXML_TREE_ENABLED)
   1374       /define XML_TESTVAL
   1375       /elseif defined(LIBXML_SCHEMAS_ENABLED)
   1376       /define XML_TESTVAL
   1377       /endif
   1378       /if defined(XML_TESTVAL)
   1379      d xmlUnsetNsProp  pr            10i 0 extproc('xmlUnsetNsProp')
   1380      d  node                               value like(xmlNodePtr)
   1381      d  ns                                 value like(xmlNsPtr)
   1382      d  name                           *   value options(*string)               const xmlChar *
   1383 
   1384      d xmlUnsetProp    pr            10i 0 extproc('xmlUnsetProp')
   1385      d  node                               value like(xmlNodePtr)
   1386      d  name                           *   value options(*string)               const xmlChar *
   1387 
   1388       /undefine XML_TESTVAL
   1389       /endif
   1390 
   1391       * Internal, don't use.
   1392 
   1393      d xmlBufferWriteCharacter...                                               Warning: renamed
   1394      d                 pr                  extproc('xmlBufferWriteCHAR')
   1395      d  buf                                value like(xmlBufferPtr)
   1396      d  string                         *   value options(*string)               const xmlChar *
   1397 
   1398      d xmlBufferWriteChar...
   1399      d                 pr                  extproc('xmlBufferWriteChar')
   1400      d  buf                                value like(xmlBufferPtr)
   1401      d  string                         *   value options(*string)               const xmlChar *
   1402 
   1403      d xmlBufferWriteQuotedString...
   1404      d                 pr                  extproc('xmlBufferWriteQuotedString')
   1405      d  buf                                value like(xmlBufferPtr)
   1406      d  string                         *   value options(*string)               const xmlChar *
   1407 
   1408       /if defined(LIBXML_OUTPUT_ENABLED)
   1409      d xmlAttrSerializeTxtContent...
   1410      d                 pr                  extproc('xmlAttrSerializeTxtContent')
   1411      d  buf                                value like(xmlBufferPtr)
   1412      d  attr                               value like(xmlAttrPtr)
   1413      d  string                         *   value options(*string)               const xmlChar *
   1414       /endif                                                                    LIBXML_OUTPUT_ENABLD
   1415 
   1416       /if defined(LIBXML_TREE_ENABLED)
   1417 
   1418       * Namespace handling.
   1419 
   1420      d xmlReconciliateNs...
   1421      d                 pr            10i 0 extproc('xmlReconciliateNs')
   1422      d  doc                                value like(xmlDocPtr)
   1423      d  tree                               value like(xmlNodePtr)
   1424       /endif
   1425 
   1426       /if defined(LIBXML_OUTPUT_ENABLED)
   1427 
   1428       * Saving.
   1429 
   1430      d xmlDocDumpFormatMemory...
   1431      d                 pr                  extproc('xmlDocDumpFormatMemory')
   1432      d  cur                                value like(xmlDocPtr)
   1433      d  mem                            *                                        xmlChar * (*)
   1434      d  size                         10i 0
   1435      d  format                       10i 0 value
   1436 
   1437      d xmlDocDumpMemory...
   1438      d                 pr                  extproc('xmlDocDumpMemory')
   1439      d  cur                                value like(xmlDocPtr)
   1440      d  mem                            *                                        xmlChar * (*)
   1441      d  size                         10i 0
   1442 
   1443      d xmlDocDumpMemoryEnc...
   1444      d                 pr                  extproc('xmlDocDumpMemoryEnc')
   1445      d  out_doc                            value like(xmlDocPtr)
   1446      d  doc_txt_ptr                    *                                        xmlChar * (*)
   1447      d  doc_txt_len                  10i 0
   1448      d  txt_encoding                   *   value options(*string)               const char *
   1449 
   1450      d xmlDocDumpFormatMemoryEnc...
   1451      d                 pr                  extproc('xmlDocDumpFormatMemoryEnc')
   1452      d  out_doc                            value like(xmlDocPtr)
   1453      d  doc_txt_ptr                    *                                        xmlChar * (*)
   1454      d  doc_txt_len                  10i 0
   1455      d  txt_encoding                   *   value options(*string)               const char *
   1456      d  format                       10i 0 value
   1457 
   1458      d xmlDocFormatDump...
   1459      d                 pr            10i 0 extproc('xmlDocFormatDump')
   1460      d  f                              *   value                                FILE *
   1461      d  cur                                value like(xmlDocPtr)
   1462      d  format                       10i 0 value
   1463 
   1464      d xmlDocDump      pr            10i 0 extproc('xmlDocDump')
   1465      d  f                              *   value                                FILE *
   1466      d  cur                                value like(xmlDocPtr)
   1467 
   1468      d xmlElemDump     pr                  extproc('xmlElemDump')
   1469      d  f                              *   value                                FILE *
   1470      d  doc                                value like(xmlDocPtr)
   1471      d  cur                                value like(xmlNodePtr)
   1472 
   1473      d xmlSaveFile     pr            10i 0 extproc('xmlSaveFile')
   1474      d  filename                       *   value options(*string)               const char *
   1475      d  cur                                value like(xmlDocPtr)
   1476 
   1477      d xmlSaveFormatFile...
   1478      d                 pr            10i 0 extproc('xmlSaveFormatFile')
   1479      d  filename                       *   value options(*string)               const char *
   1480      d  cur                                value like(xmlDocPtr)
   1481      d  format                       10i 0 value
   1482 
   1483      d xmlBufNodeDump  pr                  extproc('xmlBufNodeDump')
   1484      d                                     like(xmlCsize_t)
   1485      d  buf                                value like(xmlBufPtr)
   1486      d  doc                                value like(xmlDocPtr)
   1487      d  cur                                value like(xmlNodePtr)
   1488      d  level                        10i 0 value
   1489      d  format                       10i 0 value
   1490 
   1491      d xmlNodeDump     pr            10i 0 extproc('xmlNodeDump')
   1492      d  buf                                value like(xmlBufferPtr)
   1493      d  doc                                value like(xmlDocPtr)
   1494      d  cur                                value like(xmlNodePtr)
   1495      d  level                        10i 0 value
   1496      d  format                       10i 0 value
   1497 
   1498      d xmlSaveFileTo   pr            10i 0 extproc('xmlSaveFileTo')
   1499      d  buf                                value like(xmlOutputBufferPtr)
   1500      d  cur                                value like(xmlDocPtr)
   1501      d  encoding                       *   value options(*string)               const char *
   1502 
   1503      d xmlSaveFormatFileTo...
   1504      d                 pr            10i 0 extproc('xmlSaveFormatFileTo')
   1505      d  buf                                value like(xmlOutputBufferPtr)
   1506      d  cur                                value like(xmlDocPtr)
   1507      d  encoding                       *   value options(*string)               const char *
   1508      d  format                       10i 0 value
   1509 
   1510      d xmlNodeDumpOutput...
   1511      d                 pr                  extproc('xmlNodeDumpOutput')
   1512      d  buf                                value like(xmlOutputBufferPtr)
   1513      d  doc                                value like(xmlDocPtr)
   1514      d  cur                                value like(xmlNodePtr)
   1515      d  level                        10i 0 value
   1516      d  format                       10i 0 value
   1517      d  encoding                       *   value options(*string)               const char *
   1518 
   1519      d xmlSaveFormatFileEnc...
   1520      d                 pr            10i 0 extproc('xmlSaveFormatFileEnc')
   1521      d  filename                       *   value options(*string)               const char *
   1522      d  cur                                value like(xmlDocPtr)
   1523      d  encoding                       *   value options(*string)               const char *
   1524      d  format                       10i 0 value
   1525 
   1526      d xmlSaveFileEnc  pr            10i 0 extproc('xmlSaveFileEnc')
   1527      d  filename                       *   value options(*string)               const char *
   1528      d  cur                                value like(xmlDocPtr)
   1529      d  encoding                       *   value options(*string)               const char *
   1530       /endif                                                                    LIBXML_OUTPUT_ENABLD
   1531 
   1532       * XHTML
   1533 
   1534      d xmlIsXHTML      pr            10i 0 extproc('xmlIsXHTML')
   1535      d  systemID                       *   value options(*string)               const xmlChar *
   1536      d  publicID                       *   value options(*string)               const xmlChar *
   1537 
   1538       * Compression.
   1539 
   1540      d xmlGetDocCompressMode...
   1541      d                 pr            10i 0 extproc('xmlGetDocCompressMode')
   1542      d  doc                                value like(xmlDocPtr)
   1543 
   1544      d xmlSetDocCompressMode...
   1545      d                 pr                  extproc('xmlSetDocCompressMode')
   1546      d  doc                                value like(xmlDocPtr)
   1547      d  mode                         10i 0 value
   1548 
   1549      d xmlGetCompressMode...
   1550      d                 pr            10i 0 extproc('xmlGetCompressMode')
   1551 
   1552      d xmlSetCompressMode...
   1553      d                 pr                  extproc('xmlSetCompressMode')
   1554      d  mode                         10i 0 value
   1555 
   1556       * DOM-wrapper helper functions.
   1557 
   1558      d xmlDOMWrapNewCtxt...
   1559      d                 pr                  extproc('xmlDOMWrapNewCtxt')
   1560      d                                     like(xmlDOMWrapCtxtPtr)
   1561 
   1562      d xmlDOMWrapFreeCtxt...
   1563      d                 pr                  extproc('xmlDOMWrapFreeCtxt')
   1564      d  ctxt                               value like(xmlDOMWrapCtxtPtr)
   1565 
   1566      d xmlDOMWrapReconcileNamespaces...
   1567      d                 pr            10i 0 extproc(
   1568      d                                      'xmlDOMWrapReconcileNamespaces')
   1569      d  ctxt                               value like(xmlDOMWrapCtxtPtr)
   1570      d  elem                               value like(xmlNodePtr)
   1571      d  options                      10i 0 value
   1572 
   1573      d xmlDOMWrapAdoptNode...
   1574      d                 pr            10i 0 extproc('xmlDOMWrapAdoptNode')
   1575      d  ctxt                               value like(xmlDOMWrapCtxtPtr)
   1576      d  sourceDoc                          value like(xmlDocPtr)
   1577      d  node                               value like(xmlNodePtr)
   1578      d  destDoc                            value like(xmlDocPtr)
   1579      d  destParent                         value like(xmlNodePtr)
   1580      d  options                      10i 0 value
   1581 
   1582      d xmlDOMWrapRemoveNode...
   1583      d                 pr            10i 0 extproc('xmlDOMWrapRemoveNode')
   1584      d  ctxt                               value like(xmlDOMWrapCtxtPtr)
   1585      d  doc                                value like(xmlDocPtr)
   1586      d  node                               value like(xmlNodePtr)
   1587      d  options                      10i 0 value
   1588 
   1589      d xmlDOMWrapCloneNode...
   1590      d                 pr            10i 0 extproc('xmlDOMWrapCloneNode')
   1591      d  ctxt                               value like(xmlDOMWrapCtxtPtr)
   1592      d  sourceDoc                          value like(xmlDocPtr)
   1593      d  node                               value like(xmlNodePtr)
   1594      d  clonedNode                         like(xmlNodePtr)
   1595      d  destDoc                            value like(xmlDocPtr)
   1596      d  destParent                         value like(xmlNodePtr)
   1597      d  options                      10i 0 value
   1598 
   1599       /if defined(LIBXML_TREE_ENABLED)
   1600 
   1601       * 5 interfaces from DOM ElementTraversal, but different in entities
   1602       * traversal.
   1603 
   1604      d xmlChildElementCount...
   1605      d                 pr                  extproc('xmlChildElementCount')
   1606      d                                     like(xmlClong)
   1607      d  parent                             value like(xmlNodePtr)
   1608 
   1609      d xmlNextElementSibling...
   1610      d                 pr                  extproc('xmlNextElementSibling')
   1611      d                                     like(xmlNodePtr)
   1612      d  node                               value like(xmlNodePtr)
   1613 
   1614      d xmlFirstElementChild...
   1615      d                 pr                  extproc('xmlFirstElementChild')
   1616      d                                     like(xmlNodePtr)
   1617      d  parent                             value like(xmlNodePtr)
   1618 
   1619      d xmlLastElementChild...
   1620      d                 pr                  extproc('xmlLastElementChild')
   1621      d                                     like(xmlNodePtr)
   1622      d  parent                             value like(xmlNodePtr)
   1623 
   1624      d xmlPreviousElementSibling...
   1625      d                 pr                  extproc('xmlPreviousElementSibling')
   1626      d                                     like(xmlNodePtr)
   1627      d  node                               value like(xmlNodePtr)
   1628       /endif
   1629 
   1630       /if not defined(XML_PARSER_H__)
   1631       /include "libxmlrpg/xmlmemory"
   1632       /endif
   1633 
   1634       /endif                                                                    XML_TREE_H__
   1635