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