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