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/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