2 * Summary: API to handle XML Pointers
3 * Description: API to handle XML Pointers
4 * Base implementation was made accordingly to
5 * W3C Candidate Recommendation 7 June 2000
6 * http://www.w3.org/TR/2000/CR-xptr-20000607
8 * Added support for the element() scheme described in:
9 * W3C Proposed Recommendation 13 November 2002
10 * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
12 * Copy: See Copyright for the status of this software.
14 * Author: Daniel Veillard
15 * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
26 #include <stdapis/libxml2/libxml2_xmlversion.h>
27 #include <stdapis/libxml2/libxml2_tree.h>
28 #include <stdapis/libxml2/libxml2_xpath.h>
37 typedef struct _xmlLocationSet xmlLocationSet;
38 typedef xmlLocationSet *xmlLocationSetPtr;
39 struct _xmlLocationSet {
40 int locNr; /* number of locations in the set */
41 int locMax; /* size of the array as allocated */
42 xmlXPathObjectPtr *locTab;/* array of locations */
46 * Handling of location sets.
49 XMLPUBFUN xmlLocationSetPtr XMLCALL
50 xmlXPtrLocationSetCreate (xmlXPathObjectPtr val);
51 XMLPUBFUN void XMLCALL
52 xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);
53 XMLPUBFUN xmlLocationSetPtr XMLCALL
54 xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
55 xmlLocationSetPtr val2);
56 XMLPUBFUN xmlXPathObjectPtr XMLCALL
57 xmlXPtrNewRange (xmlNodePtr start,
61 XMLPUBFUN xmlXPathObjectPtr XMLCALL
62 xmlXPtrNewRangePoints (xmlXPathObjectPtr start,
63 xmlXPathObjectPtr end);
64 XMLPUBFUN xmlXPathObjectPtr XMLCALL
65 xmlXPtrNewRangeNodePoint (xmlNodePtr start,
66 xmlXPathObjectPtr end);
67 XMLPUBFUN xmlXPathObjectPtr XMLCALL
68 xmlXPtrNewRangePointNode (xmlXPathObjectPtr start,
70 XMLPUBFUN xmlXPathObjectPtr XMLCALL
71 xmlXPtrNewRangeNodes (xmlNodePtr start,
73 XMLPUBFUN xmlXPathObjectPtr XMLCALL
74 xmlXPtrNewLocationSetNodes (xmlNodePtr start,
76 XMLPUBFUN xmlXPathObjectPtr XMLCALL
77 xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
78 XMLPUBFUN xmlXPathObjectPtr XMLCALL
79 xmlXPtrNewRangeNodeObject (xmlNodePtr start,
80 xmlXPathObjectPtr end);
81 XMLPUBFUN xmlXPathObjectPtr XMLCALL
82 xmlXPtrNewCollapsedRange (xmlNodePtr start);
83 XMLPUBFUN void XMLCALL
84 xmlXPtrLocationSetAdd (xmlLocationSetPtr cur,
85 xmlXPathObjectPtr val);
86 XMLPUBFUN xmlXPathObjectPtr XMLCALL
87 xmlXPtrWrapLocationSet (xmlLocationSetPtr val);
88 XMLPUBFUN void XMLCALL
89 xmlXPtrLocationSetDel (xmlLocationSetPtr cur,
90 xmlXPathObjectPtr val);
91 XMLPUBFUN void XMLCALL
92 xmlXPtrLocationSetRemove (xmlLocationSetPtr cur,
98 XMLPUBFUN xmlXPathContextPtr XMLCALL
99 xmlXPtrNewContext (xmlDocPtr doc,
102 XMLPUBFUN xmlXPathObjectPtr XMLCALL
103 xmlXPtrEval (const xmlChar *str,
104 xmlXPathContextPtr ctx);
105 XMLPUBFUN void XMLCALL
106 xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,
108 XMLPUBFUN xmlNodePtr XMLCALL
109 xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);
110 XMLPUBFUN void XMLCALL
111 xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);
115 #endif /* XML_XPTR_H */