* Summary: API to handle XML Pointers * Description: API to handle XML Pointers * Base implementation was made accordingly to * W3C Candidate Recommendation 7 June 2000 * http://www.w3.org/TR/2000/CR-xptr-20000607 * * Added support for the element() scheme described in: * W3C Proposed Recommendation 13 November 2002 * http://www.w3.org/TR/2002/PR-xptr-element-20021113/ * * Copy: See Copyright for the status of this software. * * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. /if not defined(XML_XPTR_H__) /define XML_XPTR_H__ /include "libxmlrpg/xmlversion" /if defined(LIBXML_XPTR_ENABLED) /include "libxmlrpg/xmlTypesC" /include "libxmlrpg/tree" /include "libxmlrpg/xpath" * A Location Set
d xmlLocationSetPtr… d s * based(######typedef######)
d xmlLocationSet ds based(xmlLocationSetPtr) d align qualified d locNr like(xmlCint) # locations in set d locMax like(xmlCint) Max locations in set d locTab * xmlXPathObjectPtr *
* Handling of location sets.
d xmlXPtrLocationSetCreate… d pr extproc('xmlXPtrLocationSetCreate') d like(xmlLocationSetPtr) d val value like(xmlXPathObjectPtr)
d xmlXPtrFreeLocationSet… d pr extproc('xmlXPtrFreeLocationSet') d obj value like(xmlLocationSetPtr)
d xmlXPtrLocationSetMerge… d pr extproc('xmlXPtrLocationSetMerge') d like(xmlLocationSetPtr) d val1 value like(xmlLocationSetPtr) d val2 value like(xmlLocationSetPtr)
d xmlXPtrNewRange… d pr extproc('xmlXPtrNewRange') d like(xmlXPathObjectPtr) d start value like(xmlNodePtr) d startindex value like(xmlCint) d end value like(xmlNodePtr) d endindex value like(xmlCint)
d xmlXPtrNewRangePoints… d pr extproc('xmlXPtrNewRangePoints') d like(xmlXPathObjectPtr) d start value like(xmlXPathObjectPtr) d end value like(xmlXPathObjectPtr)
d xmlXPtrNewRangeNodePoint… d pr extproc('xmlXPtrNewRangeNodePoint') d like(xmlXPathObjectPtr) d start value like(xmlNodePtr) d end value like(xmlXPathObjectPtr)
d xmlXPtrNewRangePointNode… d pr extproc('xmlXPtrNewRangePointNode') d like(xmlXPathObjectPtr) d start value like(xmlXPathObjectPtr) d end value like(xmlNodePtr)
d xmlXPtrNewRangeNodes… d pr extproc('xmlXPtrNewRangeNodes') d like(xmlXPathObjectPtr) d start value like(xmlNodePtr) d end value like(xmlNodePtr)
d xmlXPtrNewLocationSetNodes… d pr extproc('xmlXPtrNewLocationSetNodes') d like(xmlXPathObjectPtr) d start value like(xmlNodePtr) d end value like(xmlNodePtr)
d xmlXPtrNewLocationSetNodeSet… d pr extproc( d 'xmlXPtrNewLocationSetNodeSet') d like(xmlXPathObjectPtr) d set value like(xmlNodeSetPtr)
d xmlXPtrNewRangeNodeObject… d pr extproc('xmlXPtrNewRangeNodeObject') d like(xmlXPathObjectPtr) d start value like(xmlNodePtr) d end value like(xmlXPathObjectPtr)
d xmlXPtrNewCollapsedRange… d pr extproc('xmlXPtrNewCollapsedRange') d like(xmlXPathObjectPtr) d start value like(xmlNodePtr)
d xmlXPtrLocationSetAdd… d pr extproc('xmlXPtrLocationSetAdd') d cur value like(xmlLocationSetPtr) d val value like(xmlXPathObjectPtr)
d xmlXPtrWrapLocationSet… d pr extproc('xmlXPtrWrapLocationSet') d like(xmlXPathObjectPtr) d val value like(xmlLocationSetPtr)
d xmlXPtrLocationSetDel… d pr extproc('xmlXPtrLocationSetDel') d cur value like(xmlLocationSetPtr) d val value like(xmlXPathObjectPtr)
d xmlXPtrLocationSetRemove… d pr extproc('xmlXPtrLocationSetRemove') d cur value like(xmlLocationSetPtr) d val value like(xmlCint)
* Functions.
d xmlXPtrNewContext… d pr extproc('xmlXPtrNewContext') d like(xmlXPathContextPtr) d doc value like(xmlDocPtr) d here value like(xmlNodePtr) d origin value like(xmlNodePtr)
d xmlXPtrEval pr extproc('xmlXPtrEval') d like(xmlXPathObjectPtr) d str * value options(*string) const xmlChar * d ctx value like(xmlXPathContextPtr)
d xmlXPtrRangeToFunction… d pr extproc('xmlXPtrRangeToFunction') d ctxt value like(xmlXPathParserContextPtr) d nargs value like(xmlCint)
d xmlXPtrBuildNodeList… d pr extproc('xmlXPtrBuildNodeList') d like(xmlNodePtr) d obj value like(xmlXPathObjectPtr)
d xmlXPtrEvalRangePredicate… d pr extproc('xmlXPtrEvalRangePredicate') d ctxt value like(xmlXPathParserContextPtr)
/endif LIBXML_XPTR_ENABLED /endif XML_XPTR_H__