2 * xpointer.h : API to handle XML Pointers
4 * World Wide Web Consortium Working Draft 03-March-1998
5 * http://www.w3.org/TR/1998/WD-xptr-19980303
7 * See Copyright for the status of this software.
12 #ifndef __XML_XPTR_H__
13 #define __XML_XPTR_H__
15 #include <libxml/tree.h>
16 #include <libxml/xpath.h>
25 typedef struct _xmlLocationSet xmlLocationSet;
26 typedef xmlLocationSet *xmlLocationSetPtr;
27 struct _xmlLocationSet {
28 int locNr; /* number of locations in the set */
29 int locMax; /* size of the array as allocated */
30 xmlXPathObjectPtr *locTab;/* array of locations */
34 * Handling of location sets.
37 xmlLocationSetPtr xmlXPtrLocationSetCreate(xmlXPathObjectPtr val);
38 void xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);
39 xmlLocationSetPtr xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
40 xmlLocationSetPtr val2);
41 xmlXPathObjectPtr xmlXPtrNewRange (xmlNodePtr start,
45 xmlXPathObjectPtr xmlXPtrNewRangePoints (xmlXPathObjectPtr start,
46 xmlXPathObjectPtr end);
47 xmlXPathObjectPtr xmlXPtrNewRangeNodePoint(xmlNodePtr start,
48 xmlXPathObjectPtr end);
49 xmlXPathObjectPtr xmlXPtrNewRangePointNode(xmlXPathObjectPtr start,
51 xmlXPathObjectPtr xmlXPtrNewRangeNodes (xmlNodePtr start,
53 xmlXPathObjectPtr xmlXPtrNewLocationSetNodes(xmlNodePtr start,
55 xmlXPathObjectPtr xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
56 xmlXPathObjectPtr xmlXPtrNewRangeNodeObject(xmlNodePtr start,
57 xmlXPathObjectPtr end);
58 xmlXPathObjectPtr xmlXPtrNewCollapsedRange(xmlNodePtr start);
59 void xmlXPtrLocationSetAdd (xmlLocationSetPtr cur,
60 xmlXPathObjectPtr val);
61 xmlXPathObjectPtr xmlXPtrWrapLocationSet (xmlLocationSetPtr val);
62 void xmlXPtrLocationSetDel (xmlLocationSetPtr cur,
63 xmlXPathObjectPtr val);
64 void xmlXPtrLocationSetRemove(xmlLocationSetPtr cur,
70 xmlXPathContextPtr xmlXPtrNewContext (xmlDocPtr doc,
73 xmlXPathObjectPtr xmlXPtrEval (const xmlChar *str,
74 xmlXPathContextPtr ctx);
75 void xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,
77 xmlNodePtr xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);
78 void xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);
83 #endif /* __XML_XPTR_H__ */