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@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/tree" 23 /include "libxmlrpg/xpath" 24 25 * A Location Set 26 27 d xmlLocationSetPtr... 28 d s * based(######typedef######) 29 30 d xmlLocationSet ds based(xmlLocationSetPtr) 31 d align qualified 32 d locNr 10i 0 # locations in set 33 d locMax 10i 0 Max locations in set 34 d locTab * xmlXPathObjectPtr * 35 36 * Handling of location sets. 37 38 d xmlXPtrLocationSetCreate... 39 d pr extproc('xmlXPtrLocationSetCreate') 40 d like(xmlLocationSetPtr) 41 d val value like(xmlXPathObjectPtr) 42 43 d xmlXPtrFreeLocationSet... 44 d pr extproc('xmlXPtrFreeLocationSet') 45 d obj value like(xmlLocationSetPtr) 46 47 d xmlXPtrLocationSetMerge... 48 d pr extproc('xmlXPtrLocationSetMerge') 49 d like(xmlLocationSetPtr) 50 d val1 value like(xmlLocationSetPtr) 51 d val2 value like(xmlLocationSetPtr) 52 53 d xmlXPtrNewRange... 54 d pr extproc('xmlXPtrNewRange') 55 d like(xmlXPathObjectPtr) 56 d start value like(xmlNodePtr) 57 d startindex 10i 0 value 58 d end value like(xmlNodePtr) 59 d endindex 10i 0 value 60 61 d xmlXPtrNewRangePoints... 62 d pr extproc('xmlXPtrNewRangePoints') 63 d like(xmlXPathObjectPtr) 64 d start value like(xmlXPathObjectPtr) 65 d end value like(xmlXPathObjectPtr) 66 67 d xmlXPtrNewRangeNodePoint... 68 d pr extproc('xmlXPtrNewRangeNodePoint') 69 d like(xmlXPathObjectPtr) 70 d start value like(xmlNodePtr) 71 d end value like(xmlXPathObjectPtr) 72 73 d xmlXPtrNewRangePointNode... 74 d pr extproc('xmlXPtrNewRangePointNode') 75 d like(xmlXPathObjectPtr) 76 d start value like(xmlXPathObjectPtr) 77 d end value like(xmlNodePtr) 78 79 d xmlXPtrNewRangeNodes... 80 d pr extproc('xmlXPtrNewRangeNodes') 81 d like(xmlXPathObjectPtr) 82 d start value like(xmlNodePtr) 83 d end value like(xmlNodePtr) 84 85 d xmlXPtrNewLocationSetNodes... 86 d pr extproc('xmlXPtrNewLocationSetNodes') 87 d like(xmlXPathObjectPtr) 88 d start value like(xmlNodePtr) 89 d end value like(xmlNodePtr) 90 91 d xmlXPtrNewLocationSetNodeSet... 92 d pr extproc( 93 d 'xmlXPtrNewLocationSetNodeSet') 94 d like(xmlXPathObjectPtr) 95 d set value like(xmlNodeSetPtr) 96 97 d xmlXPtrNewRangeNodeObject... 98 d pr extproc('xmlXPtrNewRangeNodeObject') 99 d like(xmlXPathObjectPtr) 100 d start value like(xmlNodePtr) 101 d end value like(xmlXPathObjectPtr) 102 103 d xmlXPtrNewCollapsedRange... 104 d pr extproc('xmlXPtrNewCollapsedRange') 105 d like(xmlXPathObjectPtr) 106 d start value like(xmlNodePtr) 107 108 d xmlXPtrLocationSetAdd... 109 d pr extproc('xmlXPtrLocationSetAdd') 110 d cur value like(xmlLocationSetPtr) 111 d val value like(xmlXPathObjectPtr) 112 113 d xmlXPtrWrapLocationSet... 114 d pr extproc('xmlXPtrWrapLocationSet') 115 d like(xmlXPathObjectPtr) 116 d val value like(xmlLocationSetPtr) 117 118 d xmlXPtrLocationSetDel... 119 d pr extproc('xmlXPtrLocationSetDel') 120 d cur value like(xmlLocationSetPtr) 121 d val value like(xmlXPathObjectPtr) 122 123 d xmlXPtrLocationSetRemove... 124 d pr extproc('xmlXPtrLocationSetRemove') 125 d cur value like(xmlLocationSetPtr) 126 d val 10i 0 value 127 128 * Functions. 129 130 d xmlXPtrNewContext... 131 d pr extproc('xmlXPtrNewContext') 132 d like(xmlXPathContextPtr) 133 d doc value like(xmlDocPtr) 134 d here value like(xmlNodePtr) 135 d origin value like(xmlNodePtr) 136 137 d xmlXPtrEval pr extproc('xmlXPtrEval') 138 d like(xmlXPathObjectPtr) 139 d str * value options(*string) const xmlChar * 140 d ctx value like(xmlXPathContextPtr) 141 142 d xmlXPtrRangeToFunction... 143 d pr extproc('xmlXPtrRangeToFunction') 144 d ctxt value like(xmlXPathParserContextPtr) 145 d nargs 10i 0 value 146 147 d xmlXPtrBuildNodeList... 148 d pr extproc('xmlXPtrBuildNodeList') 149 d like(xmlNodePtr) 150 d obj value like(xmlXPathObjectPtr) 151 152 d xmlXPtrEvalRangePredicate... 153 d pr extproc('xmlXPtrEvalRangePredicate') 154 d ctxt value like(xmlXPathParserContextPtr) 155 156 /endif LIBXML_XPTR_ENABLED 157 /endif XML_XPTR_H__ 158