Home | History | Annotate | Download | only in libxmlrpg
      1       * Summary: internal interfaces for XML Path Language implementation
      2       * Description: internal interfaces for XML Path Language implementation
      3       *              used to build new modules on top of XPath like XPointer and
      4       *              XSLT
      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_XPATH_INTERNALS_H__)
     11       /define XML_XPATH_INTERNALS_H__
     12 
     13       /include "libxmlrpg/xmlversion"
     14       /include "libxmlrpg/xpath"
     15 
     16       /if defined(LIBXML_XPATH_ENABLED)
     17 
     18       ************************************************************************
     19       *                                                                      *
     20       *                            Helpers                                   *
     21       *                                                                      *
     22       ************************************************************************
     23 
     24       * Many of these macros may later turn into functions. They
     25       * shouldn't be used in #ifdef's preprocessor instructions.
     26 
     27      d xmlXPathPopBoolean...
     28      d                 pr            10i 0 extproc('xmlXPathPopBoolean')
     29      d  ctxt                               value like(xmlXPathParserContextPtr)
     30 
     31      d xmlXPathPopNumber...
     32      d                 pr             8f   extproc('xmlXPathPopNumber')
     33      d  ctxt                               value like(xmlXPathParserContextPtr)
     34 
     35      d xmlXPathPopString...
     36      d                 pr              *   extproc('xmlXPathPopString')         xmlChar *
     37      d  ctxt                               value like(xmlXPathParserContextPtr)
     38 
     39      d xmlXPathPopNodeSet...
     40      d                 pr                  extproc('xmlXPathPopNodeSet')
     41      d                                     like(xmlNodeSetPtr)
     42      d  ctxt                               value like(xmlXPathParserContextPtr)
     43 
     44      d xmlXPathPopExternal...
     45      d                 pr              *   extproc('xmlXPathPopExternal')       void *
     46      d  ctxt                               value like(xmlXPathParserContextPtr)
     47 
     48       * Variable Lookup forwarding.
     49 
     50      d xmlXPathRegisterVariableLookup...
     51      d                 pr                  extproc(
     52      d                                     'xmlXPathRegisterVariableLookup')
     53      d  ctxt                               value like(xmlXPathContextPtr)
     54      d  f                                  value
     55      d                                     like(xmlXPathVariableLookupFunc)
     56      d  data                           *   value                                void *
     57 
     58       * Function Lookup forwarding.
     59 
     60      d xmlXPathRegisterFuncLookup...
     61      d                 pr                  extproc('xmlXPathRegisterFuncLookup')
     62      d  ctxt                               value like(xmlXPathContextPtr)
     63      d  f                                  value like(xmlXPathFuncLookupFunc)
     64      d  funcCtxt                       *   value                                void *
     65 
     66       * Error reporting.
     67       * Note this procedure is renamed in RPG to avoid character case clash with
     68       *   data type xmlXPathError.
     69 
     70      d xmlXPathReportError...
     71      d                 pr                  extproc('xmlXPatherror')
     72      d  ctxt                               value like(xmlXPathParserContextPtr)
     73      d  file                           *   value options(*string)               const char *
     74      d  line                         10i 0 value
     75      d  no                           10i 0 value
     76 
     77      d xmlXPathErr     pr                  extproc('xmlXPathErr')
     78      d  ctxt                               value like(xmlXPathParserContextPtr)
     79      d  error                        10i 0 value
     80 
     81       /if defined(LIBXML_DEBUG_ENABLED)
     82      d xmlXPathDebugDumpObject...
     83      d                 pr                  extproc('xmlXPathDebugDumpObject')
     84      d  output                         *   value                                FILE *
     85      d  cur                                value like(xmlXPathObjectPtr)
     86      d  depth                        10i 0 value
     87 
     88      d xmlXPathDebugDumpCompExpr...
     89      d                 pr                  extproc('xmlXPathDebugDumpCompExpr')
     90      d  output                         *   value                                FILE *
     91      d  comp                               value like(xmlXPathCompExprPtr)
     92      d  depth                        10i 0 value
     93       /endif
     94 
     95       * NodeSet handling.
     96 
     97      d xmlXPathNodeSetContains...
     98      d                 pr            10i 0 extproc('xmlXPathNodeSetContains')
     99      d  cur                                value like(xmlNodeSetPtr)
    100      d  val                                value like(xmlNodePtr)
    101 
    102      d xmlXPathDifference...
    103      d                 pr                  extproc('xmlXPathDifference')
    104      d                                     like(xmlNodeSetPtr)
    105      d  nodes1                             value like(xmlNodeSetPtr)
    106      d  nodes2                             value like(xmlNodeSetPtr)
    107 
    108      d xmlXPathIntersection...
    109      d                 pr                  extproc('xmlXPathIntersection')
    110      d                                     like(xmlNodeSetPtr)
    111      d  nodes1                             value like(xmlNodeSetPtr)
    112      d  nodes2                             value like(xmlNodeSetPtr)
    113 
    114      d xmlXPathDistinctSorted...
    115      d                 pr                  extproc('xmlXPathDistinctSorted')
    116      d                                     like(xmlNodeSetPtr)
    117      d  nodes                              value like(xmlNodeSetPtr)
    118 
    119      d xmlXPathDistinct...
    120      d                 pr                  extproc('xmlXPathDistinct')
    121      d                                     like(xmlNodeSetPtr)
    122      d  nodes                              value like(xmlNodeSetPtr)
    123 
    124      d xmlXPathHasSameNodes...
    125      d                 pr            10i 0 extproc('xmlXPathHasSameNodes')
    126      d  nodes1                             value like(xmlNodeSetPtr)
    127      d  nodes2                             value like(xmlNodeSetPtr)
    128 
    129      d xmlXPathNodeLeadingSorted...
    130      d                 pr                  extproc('xmlXPathNodeLeadingSorted')
    131      d                                     like(xmlNodeSetPtr)
    132      d  nodes                              value like(xmlNodeSetPtr)
    133      d  node                               value like(xmlNodePtr)
    134 
    135      d xmlXPathLeadingSorted...
    136      d                 pr                  extproc('xmlXPathLeadingSorted')
    137      d                                     like(xmlNodeSetPtr)
    138      d  nodes1                             value like(xmlNodeSetPtr)
    139      d  nodes2                             value like(xmlNodeSetPtr)
    140 
    141      d xmlXPathNodeLeading...
    142      d                 pr                  extproc('xmlXPathNodeLeading')
    143      d                                     like(xmlNodeSetPtr)
    144      d  nodes                              value like(xmlNodeSetPtr)
    145      d  node                               value like(xmlNodePtr)
    146 
    147      d xmlXPathLeading...
    148      d                 pr                  extproc('xmlXPathLeading')
    149      d                                     like(xmlNodeSetPtr)
    150      d  nodes1                             value like(xmlNodeSetPtr)
    151      d  nodes2                             value like(xmlNodeSetPtr)
    152 
    153      d xmlXPathNodeTrailingSorted...
    154      d                 pr                  extproc('xmlXPathNodeTrailingSorted')
    155      d                                     like(xmlNodeSetPtr)
    156      d  nodes                              value like(xmlNodeSetPtr)
    157      d  node                               value like(xmlNodePtr)
    158 
    159      d xmlXPathTrailingSorted...
    160      d                 pr                  extproc('xmlXPathTrailingSorted')
    161      d                                     like(xmlNodeSetPtr)
    162      d  nodes1                             value like(xmlNodeSetPtr)
    163      d  nodes2                             value like(xmlNodeSetPtr)
    164 
    165      d xmlXPathNodeTrailing...
    166      d                 pr                  extproc('xmlXPathNodeTrailing')
    167      d                                     like(xmlNodeSetPtr)
    168      d  nodes                              value like(xmlNodeSetPtr)
    169      d  node                               value like(xmlNodePtr)
    170 
    171      d xmlXPathTrailing...
    172      d                 pr                  extproc('xmlXPathTrailing')
    173      d                                     like(xmlNodeSetPtr)
    174      d  nodes1                             value like(xmlNodeSetPtr)
    175      d  nodes2                             value like(xmlNodeSetPtr)
    176 
    177       * Extending a context.
    178 
    179      d xmlXPathRegisterNs...
    180      d                 pr            10i 0 extproc('xmlXPathRegisterNs')
    181      d  ctxt                               value like(xmlXPathContextPtr)
    182      d  prefix                         *   value options(*string)               const xmlChar *
    183      d  ns_uri                         *   value options(*string)               const xmlChar *
    184 
    185      d xmlXPathNsLookup...
    186      d                 pr              *   extproc('xmlXPathNsLookup')          const xmlChar *
    187      d  ctxt                               value like(xmlXPathContextPtr)
    188      d  prefix                         *   value options(*string)               const xmlChar *
    189 
    190      d xmlXPathRegisteredNsCleanup...
    191      d                 pr                  extproc(
    192      d                                     'xmlXPathRegisteredNsCleanup')
    193      d  ctxt                               value like(xmlXPathContextPtr)
    194 
    195      d xmlXPathRegisterFunc...
    196      d                 pr            10i 0 extproc('xmlXPathRegisterFunc')
    197      d  ctxt                               value like(xmlXPathContextPtr)
    198      d  name                           *   value options(*string)               const xmlChar *
    199      d  f                                  value like(xmlXPathFunction)
    200 
    201      d xmlXPathRegisterFuncNS...
    202      d                 pr            10i 0 extproc('xmlXPathRegisterFuncNS')
    203      d  ctxt                               value like(xmlXPathContextPtr)
    204      d  name                           *   value options(*string)               const xmlChar *
    205      d  ns_uri                         *   value options(*string)               const xmlChar *
    206      d  f                                  value like(xmlXPathFunction)
    207 
    208      d xmlXPathRegisterVariable...
    209      d                 pr            10i 0 extproc('xmlXPathRegisterVariable')
    210      d  ctxt                               value like(xmlXPathContextPtr)
    211      d  name                           *   value options(*string)               const xmlChar *
    212      d  value                              value like(xmlXPathObjectPtr)
    213 
    214      d xmlXPathRegisterVariableNS...
    215      d                 pr            10i 0 extproc('xmlXPathRegisterVariableNS')
    216      d  ctxt                               value like(xmlXPathContextPtr)
    217      d  name                           *   value options(*string)               const xmlChar *
    218      d  ns_uri                         *   value options(*string)               const xmlChar *
    219      d  value                              value like(xmlXPathObjectPtr)
    220 
    221      d xmlXPathFunctionLookup...
    222      d                 pr                  extproc('xmlXPathFunctionLookup')
    223      d                                     like(xmlXPathFunction)
    224      d  ctxt                               value like(xmlXPathContextPtr)
    225      d  name                           *   value options(*string)               const xmlChar *
    226 
    227      d xmlXPathFunctionLookupNS...
    228      d                 pr                  extproc('xmlXPathFunctionLookupNS')
    229      d                                     like(xmlXPathFunction)
    230      d  ctxt                               value like(xmlXPathContextPtr)
    231      d  name                           *   value options(*string)               const xmlChar *
    232      d  ns_uri                         *   value options(*string)               const xmlChar *
    233 
    234      d xmlXPathRegisteredFuncsCleanup...
    235      d                 pr                  extproc(
    236      d                                     'xmlXPathRegisteredFuncsCleanup')
    237      d  ctxt                               value like(xmlXPathContextPtr)
    238 
    239      d xmlXPathVariableLookup...
    240      d                 pr                  extproc('xmlXPathVariableLookup')
    241      d                                     like(xmlXPathObjectPtr)
    242      d  ctxt                               value like(xmlXPathContextPtr)
    243      d  name                           *   value options(*string)               const xmlChar *
    244 
    245      d xmlXPathVariableLookupNS...
    246      d                 pr                  extproc('xmlXPathVariableLookupNS')
    247      d                                     like(xmlXPathObjectPtr)
    248      d  ctxt                               value like(xmlXPathContextPtr)
    249      d  name                           *   value options(*string)               const xmlChar *
    250      d  ns_uri                         *   value options(*string)               const xmlChar *
    251 
    252      d xmlXPathRegisteredVariablesCleanup...
    253      d                 pr                  extproc(
    254      d                                     'xmlXPathRegisteredVariablesCleanup')
    255      d  ctxt                               value like(xmlXPathContextPtr)
    256 
    257       * Utilities to extend XPath.
    258 
    259      d xmlXPathNewParserContext...
    260      d                 pr                  extproc('xmlXPathNewParserContext')
    261      d                                     like(xmlXPathParserContextPtr)
    262      d  str                            *   value options(*string)               const xmlChar *
    263      d  ctxt                               value like(xmlXPathContextPtr)
    264 
    265      d xmlXPathFreeParserContext...
    266      d                 pr                  extproc('xmlXPathFreeParserContext')
    267      d  ctxt                               value like(xmlXPathParserContextPtr)
    268 
    269 
    270       * TODO: remap to xmlXPathValuePop and Push.
    271 
    272      d valuePop        pr                  extproc('valuePop')
    273      d                                     like(xmlXPathObjectPtr)
    274      d  ctxt                               value like(xmlXPathParserContextPtr)
    275 
    276      d valuePush       pr            10i 0 extproc('valuePush')
    277      d  ctxt                               value like(xmlXPathParserContextPtr)
    278      d  value                              value like(xmlXPathObjectPtr)
    279 
    280      d xmlXPathNewString...
    281      d                 pr                  extproc('xmlXPathNewString')
    282      d                                     like(xmlXPathObjectPtr)
    283      d  val                            *   value options(*string)               const xmlChar *
    284 
    285      d xmlXPathNewCString...
    286      d                 pr                  extproc('xmlXPathNewCString')
    287      d                                     like(xmlXPathObjectPtr)
    288      d  val                            *   value options(*string)               const char *
    289 
    290      d xmlXPathWrapString...
    291      d                 pr                  extproc('xmlXPathWrapString')
    292      d                                     like(xmlXPathObjectPtr)
    293      d  val                            *   value options(*string)               xmlChar *
    294 
    295      d xmlXPathWrapCString...
    296      d                 pr                  extproc('xmlXPathWrapCString')
    297      d                                     like(xmlXPathObjectPtr)
    298      d  val                            *   value options(*string)               char *
    299 
    300      d xmlXPathNewFloat...
    301      d                 pr                  extproc('xmlXPathNewFloat')
    302      d                                     like(xmlXPathObjectPtr)
    303      d  val                           8f   value
    304 
    305      d xmlXPathNewBoolean...
    306      d                 pr                  extproc('xmlXPathNewBoolean')
    307      d                                     like(xmlXPathObjectPtr)
    308      d  val                          10i 0 value
    309 
    310      d xmlXPathNewNodeSet...
    311      d                 pr                  extproc('xmlXPathNewNodeSet')
    312      d                                     like(xmlXPathObjectPtr)
    313      d  val                                value like(xmlNodePtr)
    314 
    315      d xmlXPathNewValueTree...
    316      d                 pr                  extproc('xmlXPathNewValueTree')
    317      d                                     like(xmlXPathObjectPtr)
    318      d  val                                value like(xmlNodePtr)
    319 
    320      d xmlXPathNodeSetAdd...
    321      d                 pr            10i 0 extproc('xmlXPathNodeSetAdd')
    322      d  cur                                value like(xmlNodeSetPtr)
    323      d  val                                value like(xmlNodePtr)
    324 
    325      d xmlXPathNodeSetAddUnique...
    326      d                 pr            10i 0 extproc('xmlXPathNodeSetAddUnique')
    327      d  cur                                value like(xmlNodeSetPtr)
    328      d  val                                value like(xmlNodePtr)
    329 
    330      d xmlXPathNodeSetAddNs...
    331      d                 pr            10i 0 extproc('xmlXPathNodeSetAddNs')
    332      d  cur                                value like(xmlNodeSetPtr)
    333      d  node                               value like(xmlNodePtr)
    334      d  ns                                 value like(xmlNsPtr)
    335 
    336      d xmlXPathNodeSetSort...
    337      d                 pr                  extproc('xmlXPathNodeSetSort')
    338      d  set                                value like(xmlNodeSetPtr)
    339 
    340      d xmlXPathRoot    pr                  extproc('xmlXPathRoot')
    341      d  ctxt                               value like(xmlXPathParserContextPtr)
    342 
    343      d xmlXPathEvalExpr...
    344      d                 pr                  extproc('xmlXPathEvalExpr')
    345      d  ctxt                               value like(xmlXPathParserContextPtr)
    346 
    347      d xmlXPathParseName...
    348      d                 pr              *   extproc('xmlXPathParseName')         xmlChar *
    349      d  ctxt                               value like(xmlXPathParserContextPtr)
    350 
    351      d xmlXPathParseNCName...
    352      d                 pr              *   extproc('xmlXPathParseNCName')       xmlChar *
    353      d  ctxt                               value like(xmlXPathParserContextPtr)
    354 
    355       * Existing functions.
    356 
    357      d xmlXPathStringEvalNumber...
    358      d                 pr             8f   extproc('xmlXPathStringEvalNumber')
    359      d  str                            *   value options(*string)               const xmlChar *
    360 
    361      d xmlXPathEvaluatePredicateResult...
    362      d                 pr            10i 0 extproc(
    363      d                                     'xmlXPathEvaluatePredicateResult')
    364      d  ctxt                               value like(xmlXPathParserContextPtr)
    365      d  res                                value like(xmlXPathObjectPtr)
    366 
    367      d xmlXPathRegisterAllFunctions...
    368      d                 pr                  extproc(
    369      d                                     'xmlXPathRegisterAllFunctions')
    370      d  ctxt                               value like(xmlXPathContextPtr)
    371 
    372      d xmlXPathNodeSetMerge...
    373      d                 pr                  extproc('xmlXPathNodeSetMerge')
    374      d                                     like(xmlNodeSetPtr)
    375      d  val1                               value like(xmlNodeSetPtr)
    376      d  val2                               value like(xmlNodeSetPtr)
    377 
    378      d xmlXPathNodeSetDel...
    379      d                 pr                  extproc('xmlXPathNodeSetDel')
    380      d  cur                                value like(xmlNodeSetPtr)
    381      d  val                                value like(xmlNodePtr)
    382 
    383      d xmlXPathNodeSetRemove...
    384      d                 pr                  extproc('xmlXPathNodeSetRemove')
    385      d  cur                                value like(xmlNodeSetPtr)
    386      d  val                          10i 0 value
    387 
    388      d xmlXPathNewNodeSetList...
    389      d                 pr                  extproc('xmlXPathNewNodeSetList')
    390      d                                     like(xmlXPathObjectPtr)
    391      d  val                                value like(xmlNodeSetPtr)
    392 
    393      d xmlXPathWrapNodeSet...
    394      d                 pr                  extproc('xmlXPathWrapNodeSet')
    395      d                                     like(xmlXPathObjectPtr)
    396      d  val                                value like(xmlNodeSetPtr)
    397 
    398      d xmlXPathWrapExternal...
    399      d                 pr                  extproc('xmlXPathWrapExternal')
    400      d                                     like(xmlXPathObjectPtr)
    401      d  val                            *   value                                void *
    402 
    403      d xmlXPathEqualValues...
    404      d                 pr            10i 0 extproc('xmlXPathEqualValues')
    405      d  ctxt                               value like(xmlXPathParserContextPtr)
    406 
    407      d xmlXPathNotEqualValues...
    408      d                 pr            10i 0 extproc('xmlXPathNotEqualValues')
    409      d  ctxt                               value like(xmlXPathParserContextPtr)
    410 
    411      d xmlXPathCompareValues...
    412      d                 pr            10i 0 extproc('xmlXPathCompareValues')
    413      d  ctxt                               value like(xmlXPathParserContextPtr)
    414      d  inf                          10i 0 value
    415      d  strict                       10i 0 value
    416 
    417      d xmlXPathValueFlipSign...
    418      d                 pr                  extproc('xmlXPathValueFlipSign')
    419      d  ctxt                               value like(xmlXPathParserContextPtr)
    420 
    421      d xmlXPathAddValues...
    422      d                 pr                  extproc('xmlXPathAddValues')
    423      d  ctxt                               value like(xmlXPathParserContextPtr)
    424 
    425      d xmlXPathSubValues...
    426      d                 pr                  extproc('xmlXPathSubValues')
    427      d  ctxt                               value like(xmlXPathParserContextPtr)
    428 
    429      d xmlXPathMultValues...
    430      d                 pr                  extproc('xmlXPathMultValues')
    431      d  ctxt                               value like(xmlXPathParserContextPtr)
    432 
    433      d xmlXPathDivValues...
    434      d                 pr                  extproc('xmlXPathDivValues')
    435      d  ctxt                               value like(xmlXPathParserContextPtr)
    436 
    437      d xmlXPathModValues...
    438      d                 pr                  extproc('xmlXPathModValues')
    439      d  ctxt                               value like(xmlXPathParserContextPtr)
    440 
    441      d xmlXPathIsNodeType...
    442      d                 pr            10i 0 extproc('xmlXPathIsNodeType')
    443      d  name                           *   value options(*string)               const xmlChar *
    444 
    445       * Some of the axis navigation routines.
    446 
    447      d xmlXPathNextSelf...
    448      d                 pr                  extproc('xmlXPathNextSelf')
    449      d                                     like(xmlNodePtr)
    450      d  ctxt                               value like(xmlXPathParserContextPtr)
    451      d  cur                                value like(xmlNodePtr)
    452 
    453      d xmlXPathNextChild...
    454      d                 pr                  extproc('xmlXPathNextChild')
    455      d                                     like(xmlNodePtr)
    456      d  ctxt                               value like(xmlXPathParserContextPtr)
    457      d  cur                                value like(xmlNodePtr)
    458 
    459      d xmlXPathNextDescendant...
    460      d                 pr                  extproc('xmlXPathNextDescendant')
    461      d                                     like(xmlNodePtr)
    462      d  ctxt                               value like(xmlXPathParserContextPtr)
    463      d  cur                                value like(xmlNodePtr)
    464 
    465      d xmlXPathNextDescendantOrSelf...
    466      d                 pr                  extproc(
    467      d                                     'xmlXPathNextDescendantOrSelf')
    468      d                                     like(xmlNodePtr)
    469      d  ctxt                               value like(xmlXPathParserContextPtr)
    470      d  cur                                value like(xmlNodePtr)
    471 
    472      d xmlXPathNextParent...
    473      d                 pr                  extproc('xmlXPathNextParent')
    474      d                                     like(xmlNodePtr)
    475      d  ctxt                               value like(xmlXPathParserContextPtr)
    476      d  cur                                value like(xmlNodePtr)
    477 
    478      d xmlXPathNextAncestorOrSelf...
    479      d                 pr                  extproc('xmlXPathNextAncestorOrSelf')
    480      d                                     like(xmlNodePtr)
    481      d  ctxt                               value like(xmlXPathParserContextPtr)
    482      d  cur                                value like(xmlNodePtr)
    483 
    484      d xmlXPathNextFollowingSibling...
    485      d                 pr                  extproc(
    486      d                                     'xmlXPathNextFollowingSibling')
    487      d                                     like(xmlNodePtr)
    488      d  ctxt                               value like(xmlXPathParserContextPtr)
    489      d  cur                                value like(xmlNodePtr)
    490 
    491      d xmlXPathNextFollowing...
    492      d                 pr                  extproc('xmlXPathNextFollowing')
    493      d                                     like(xmlNodePtr)
    494      d  ctxt                               value like(xmlXPathParserContextPtr)
    495      d  cur                                value like(xmlNodePtr)
    496 
    497      d xmlXPathNextNamespace...
    498      d                 pr                  extproc('xmlXPathNextNamespace')
    499      d                                     like(xmlNodePtr)
    500      d  ctxt                               value like(xmlXPathParserContextPtr)
    501      d  cur                                value like(xmlNodePtr)
    502 
    503      d xmlXPathNextAttribute...
    504      d                 pr                  extproc('xmlXPathNextAttribute')
    505      d                                     like(xmlNodePtr)
    506      d  ctxt                               value like(xmlXPathParserContextPtr)
    507      d  cur                                value like(xmlNodePtr)
    508 
    509      d xmlXPathNextPreceding...
    510      d                 pr                  extproc('xmlXPathNextPreceding')
    511      d                                     like(xmlNodePtr)
    512      d  ctxt                               value like(xmlXPathParserContextPtr)
    513      d  cur                                value like(xmlNodePtr)
    514 
    515      d xmlXPathNextAncestor...
    516      d                 pr                  extproc('xmlXPathNextAncestor')
    517      d                                     like(xmlNodePtr)
    518      d  ctxt                               value like(xmlXPathParserContextPtr)
    519      d  cur                                value like(xmlNodePtr)
    520 
    521      d xmlXPathNextPrecedingSibling...
    522      d                 pr                  extproc(
    523      d                                     'xmlXPathNextPrecedingSibling')
    524      d                                     like(xmlNodePtr)
    525      d  ctxt                               value like(xmlXPathParserContextPtr)
    526      d  cur                                value like(xmlNodePtr)
    527 
    528       * The official core of XPath functions.
    529 
    530      d xmlXPathLastFunction...
    531      d                 pr                  extproc('xmlXPathLastFunction')
    532      d  ctxt                               value like(xmlXPathParserContextPtr)
    533      d  nargs                        10i 0 value
    534 
    535      d xmlXPathPositionFunction...
    536      d                 pr                  extproc('xmlXPathPositionFunction')
    537      d  ctxt                               value like(xmlXPathParserContextPtr)
    538      d  nargs                        10i 0 value
    539 
    540      d xmlXPathCountFunction...
    541      d                 pr                  extproc('xmlXPathCountFunction')
    542      d  ctxt                               value like(xmlXPathParserContextPtr)
    543      d  nargs                        10i 0 value
    544 
    545      d xmlXPathIdFunction...
    546      d                 pr                  extproc('xmlXPathIdFunction')
    547      d  ctxt                               value like(xmlXPathParserContextPtr)
    548      d  nargs                        10i 0 value
    549 
    550      d xmlXPathLocalNameFunction...
    551      d                 pr                  extproc('xmlXPathLocalNameFunction')
    552      d  ctxt                               value like(xmlXPathParserContextPtr)
    553      d  nargs                        10i 0 value
    554 
    555      d xmlXPathNamespaceURIFunction...
    556      d                 pr                  extproc(
    557      d                                     'xmlXPathNamespaceURIFunction')
    558      d  ctxt                               value like(xmlXPathParserContextPtr)
    559      d  nargs                        10i 0 value
    560 
    561      d xmlXPathStringFunction...
    562      d                 pr                  extproc('xmlXPathStringFunction')
    563      d  ctxt                               value like(xmlXPathParserContextPtr)
    564      d  nargs                        10i 0 value
    565 
    566      d xmlXPathStringLengthFunction...
    567      d                 pr                  extproc(
    568      d                                     'xmlXPathStringLengthFunction')
    569      d  ctxt                               value like(xmlXPathParserContextPtr)
    570      d  nargs                        10i 0 value
    571 
    572      d xmlXPathConcatFunction...
    573      d                 pr                  extproc('xmlXPathConcatFunction')
    574      d  ctxt                               value like(xmlXPathParserContextPtr)
    575      d  nargs                        10i 0 value
    576 
    577      d xmlXPathContainsFunction...
    578      d                 pr                  extproc('xmlXPathContainsFunction')
    579      d  ctxt                               value like(xmlXPathParserContextPtr)
    580      d  nargs                        10i 0 value
    581 
    582      d xmlXPathStartsWithFunction...
    583      d                 pr                  extproc('xmlXPathStartsWithFunction')
    584      d  ctxt                               value like(xmlXPathParserContextPtr)
    585      d  nargs                        10i 0 value
    586 
    587      d xmlXPathSubstringFunction...
    588      d                 pr                  extproc('xmlXPathSubstringFunction')
    589      d  ctxt                               value like(xmlXPathParserContextPtr)
    590      d  nargs                        10i 0 value
    591 
    592      d xmlXPathSubstringBeforeFunction...
    593      d                 pr                  extproc(
    594      d                                     'xmlXPathSubstringBeforeFunction')
    595      d  ctxt                               value like(xmlXPathParserContextPtr)
    596      d  nargs                        10i 0 value
    597 
    598      d xmlXPathSubstringAfterFunction...
    599      d                 pr                  extproc(
    600      d                                     'xmlXPathSubstringAfterFunction')
    601      d  ctxt                               value like(xmlXPathParserContextPtr)
    602      d  nargs                        10i 0 value
    603 
    604 
    605      d xmlXPathNormalizeFunction...
    606      d                 pr                  extproc('xmlXPathNormalizeFunction')
    607      d  ctxt                               value like(xmlXPathParserContextPtr)
    608      d  nargs                        10i 0 value
    609 
    610      d xmlXPathTranslateFunction...
    611      d                 pr                  extproc('xmlXPathTranslateFunction')
    612      d  ctxt                               value like(xmlXPathParserContextPtr)
    613      d  nargs                        10i 0 value
    614 
    615      d xmlXPathNotFunction...
    616      d                 pr                  extproc('xmlXPathNotFunction')
    617      d  ctxt                               value like(xmlXPathParserContextPtr)
    618      d  nargs                        10i 0 value
    619 
    620      d xmlXPathTrueFunction...
    621      d                 pr                  extproc('xmlXPathTrueFunction')
    622      d  ctxt                               value like(xmlXPathParserContextPtr)
    623      d  nargs                        10i 0 value
    624 
    625      d xmlXPathFalseFunction...
    626      d                 pr                  extproc('xmlXPathFalseFunction')
    627      d  ctxt                               value like(xmlXPathParserContextPtr)
    628      d  nargs                        10i 0 value
    629 
    630      d xmlXPathLangFunction...
    631      d                 pr                  extproc('xmlXPathLangFunction')
    632      d  ctxt                               value like(xmlXPathParserContextPtr)
    633      d  nargs                        10i 0 value
    634 
    635      d xmlXPathNumberFunction...
    636      d                 pr                  extproc('xmlXPathNumberFunction')
    637      d  ctxt                               value like(xmlXPathParserContextPtr)
    638      d  nargs                        10i 0 value
    639 
    640      d xmlXPathSumFunction...
    641      d                 pr                  extproc('xmlXPathSumFunction')
    642      d  ctxt                               value like(xmlXPathParserContextPtr)
    643      d  nargs                        10i 0 value
    644 
    645      d xmlXPathFloorFunction...
    646      d                 pr                  extproc('xmlXPathFloorFunction')
    647      d  ctxt                               value like(xmlXPathParserContextPtr)
    648      d  nargs                        10i 0 value
    649 
    650      d xmlXPathCeilingFunction...
    651      d                 pr                  extproc('xmlXPathCeilingFunction')
    652      d  ctxt                               value like(xmlXPathParserContextPtr)
    653      d  nargs                        10i 0 value
    654 
    655      d xmlXPathRoundFunction...
    656      d                 pr                  extproc('xmlXPathRoundFunction')
    657      d  ctxt                               value like(xmlXPathParserContextPtr)
    658      d  nargs                        10i 0 value
    659 
    660      d xmlXPathBooleanFunction...
    661      d                 pr                  extproc('xmlXPathBooleanFunction')
    662      d  ctxt                               value like(xmlXPathParserContextPtr)
    663      d  nargs                        10i 0 value
    664 
    665       * Really internal functions
    666 
    667      d xmlXPathNodeSetFreeNs...
    668      d                 pr                  extproc('xmlXPathNodeSetFreeNs')
    669      d  ns                                 value like(xmlNsPtr)
    670 
    671       /endif                                                                    LIBXML_XPATH_ENABLED
    672       /endif                                                                    XPATH_INTERNALS_H__
    673