Home | History | Annotate | Download | only in libxmlrpg
      1       * Summary: API to handle XML Pointers
      2       * Description: API to handle XML Pointers
      3       * Base implementation was made accordingly to
      4       * W3C Candidate Recommendation 7 June 2000
      5       * http://www.w3.org/TR/2000/CR-xptr-20000607
      6       *
      7       * Added support for the element() scheme described in:
      8       * W3C Proposed Recommendation 13 November 2002
      9       * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
     10       *
     11       * Copy: See Copyright for the status of this software.
     12       *
     13       * Author: Patrick Monnerat <pm (a] datasphere.ch>, DATASPHERE S.A.
     14 
     15       /if not defined(XML_XPTR_H__)
     16       /define XML_XPTR_H__
     17 
     18       /include "libxmlrpg/xmlversion"
     19 
     20       /if defined(LIBXML_XPTR_ENABLED)
     21 
     22       /include "libxmlrpg/xmlTypesC"
     23       /include "libxmlrpg/tree"
     24       /include "libxmlrpg/xpath"
     25 
     26       * A Location Set
     27 
     28      d xmlLocationSetPtr...
     29      d                 s               *   based(######typedef######)
     30 
     31      d xmlLocationSet  ds                  based(xmlLocationSetPtr)
     32      d                                     align qualified
     33      d  locNr                              like(xmlCint)                        # locations in set
     34      d  locMax                             like(xmlCint)                        Max locations in set
     35      d  locTab                         *                                        xmlXPathObjectPtr *
     36 
     37       * Handling of location sets.
     38 
     39      d xmlXPtrLocationSetCreate...
     40      d                 pr                  extproc('xmlXPtrLocationSetCreate')
     41      d                                     like(xmlLocationSetPtr)
     42      d val                                 value like(xmlXPathObjectPtr)
     43 
     44      d xmlXPtrFreeLocationSet...
     45      d                 pr                  extproc('xmlXPtrFreeLocationSet')
     46      d obj                                 value like(xmlLocationSetPtr)
     47 
     48      d xmlXPtrLocationSetMerge...
     49      d                 pr                  extproc('xmlXPtrLocationSetMerge')
     50      d                                     like(xmlLocationSetPtr)
     51      d val1                                value like(xmlLocationSetPtr)
     52      d val2                                value like(xmlLocationSetPtr)
     53 
     54      d xmlXPtrNewRange...
     55      d                 pr                  extproc('xmlXPtrNewRange')
     56      d                                     like(xmlXPathObjectPtr)
     57      d start                               value like(xmlNodePtr)
     58      d startindex                          value like(xmlCint)
     59      d end                                 value like(xmlNodePtr)
     60      d endindex                            value like(xmlCint)
     61 
     62      d xmlXPtrNewRangePoints...
     63      d                 pr                  extproc('xmlXPtrNewRangePoints')
     64      d                                     like(xmlXPathObjectPtr)
     65      d start                               value like(xmlXPathObjectPtr)
     66      d end                                 value like(xmlXPathObjectPtr)
     67 
     68      d xmlXPtrNewRangeNodePoint...
     69      d                 pr                  extproc('xmlXPtrNewRangeNodePoint')
     70      d                                     like(xmlXPathObjectPtr)
     71      d start                               value like(xmlNodePtr)
     72      d end                                 value like(xmlXPathObjectPtr)
     73 
     74      d xmlXPtrNewRangePointNode...
     75      d                 pr                  extproc('xmlXPtrNewRangePointNode')
     76      d                                     like(xmlXPathObjectPtr)
     77      d start                               value like(xmlXPathObjectPtr)
     78      d end                                 value like(xmlNodePtr)
     79 
     80      d xmlXPtrNewRangeNodes...
     81      d                 pr                  extproc('xmlXPtrNewRangeNodes')
     82      d                                     like(xmlXPathObjectPtr)
     83      d start                               value like(xmlNodePtr)
     84      d end                                 value like(xmlNodePtr)
     85 
     86      d xmlXPtrNewLocationSetNodes...
     87      d                 pr                  extproc('xmlXPtrNewLocationSetNodes')
     88      d                                     like(xmlXPathObjectPtr)
     89      d start                               value like(xmlNodePtr)
     90      d end                                 value like(xmlNodePtr)
     91 
     92      d xmlXPtrNewLocationSetNodeSet...
     93      d                 pr                  extproc(
     94      d                                     'xmlXPtrNewLocationSetNodeSet')
     95      d                                     like(xmlXPathObjectPtr)
     96      d set                                 value like(xmlNodeSetPtr)
     97 
     98      d xmlXPtrNewRangeNodeObject...
     99      d                 pr                  extproc('xmlXPtrNewRangeNodeObject')
    100      d                                     like(xmlXPathObjectPtr)
    101      d start                               value like(xmlNodePtr)
    102      d end                                 value like(xmlXPathObjectPtr)
    103 
    104      d xmlXPtrNewCollapsedRange...
    105      d                 pr                  extproc('xmlXPtrNewCollapsedRange')
    106      d                                     like(xmlXPathObjectPtr)
    107      d start                               value like(xmlNodePtr)
    108 
    109      d xmlXPtrLocationSetAdd...
    110      d                 pr                  extproc('xmlXPtrLocationSetAdd')
    111      d cur                                 value like(xmlLocationSetPtr)
    112      d val                                 value like(xmlXPathObjectPtr)
    113 
    114      d xmlXPtrWrapLocationSet...
    115      d                 pr                  extproc('xmlXPtrWrapLocationSet')
    116      d                                     like(xmlXPathObjectPtr)
    117      d val                                 value like(xmlLocationSetPtr)
    118 
    119      d xmlXPtrLocationSetDel...
    120      d                 pr                  extproc('xmlXPtrLocationSetDel')
    121      d cur                                 value like(xmlLocationSetPtr)
    122      d val                                 value like(xmlXPathObjectPtr)
    123 
    124      d xmlXPtrLocationSetRemove...
    125      d                 pr                  extproc('xmlXPtrLocationSetRemove')
    126      d cur                                 value like(xmlLocationSetPtr)
    127      d val                                 value like(xmlCint)
    128 
    129       * Functions.
    130 
    131      d xmlXPtrNewContext...
    132      d                 pr                  extproc('xmlXPtrNewContext')
    133      d                                     like(xmlXPathContextPtr)
    134      d doc                                 value like(xmlDocPtr)
    135      d here                                value like(xmlNodePtr)
    136      d origin                              value like(xmlNodePtr)
    137 
    138      d xmlXPtrEval     pr                  extproc('xmlXPtrEval')
    139      d                                     like(xmlXPathObjectPtr)
    140      d str                             *   value options(*string)               const xmlChar *
    141      d ctx                                 value like(xmlXPathContextPtr)
    142 
    143      d xmlXPtrRangeToFunction...
    144      d                 pr                  extproc('xmlXPtrRangeToFunction')
    145      d ctxt                                value like(xmlXPathParserContextPtr)
    146      d nargs                               value like(xmlCint)
    147 
    148      d xmlXPtrBuildNodeList...
    149      d                 pr                  extproc('xmlXPtrBuildNodeList')
    150      d                                     like(xmlNodePtr)
    151      d obj                                 value like(xmlXPathObjectPtr)
    152 
    153      d xmlXPtrEvalRangePredicate...
    154      d                 pr                  extproc('xmlXPtrEvalRangePredicate')
    155      d ctxt                                value like(xmlXPathParserContextPtr)
    156 
    157       /endif                                                                    LIBXML_XPTR_ENABLED
    158       /endif                                                                    XML_XPTR_H__
    159