source: NonGTP/FCollada/libxml/xpointer.h @ 964

Revision 964, 3.3 KB checked in by igarcia, 18 years ago (diff)
Line 
1/*
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
7 *
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/ 
11 *
12 * Copy: See Copyright for the status of this software.
13 *
14 * Author: Daniel Veillard
15 */
16
17#ifndef __XML_XPTR_H__
18#define __XML_XPTR_H__
19
20#include <libxml/xmlversion.h>
21
22#ifdef LIBXML_XPTR_ENABLED
23
24#include <libxml/tree.h>
25#include <libxml/xpath.h>
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31/*
32 * A Location Set
33 */
34typedef struct _xmlLocationSet xmlLocationSet;
35typedef xmlLocationSet *xmlLocationSetPtr;
36struct _xmlLocationSet {
37    int locNr;                /* number of locations in the set */
38    int locMax;               /* size of the array as allocated */
39    xmlXPathObjectPtr *locTab;/* array of locations */
40};
41
42/*
43 * Handling of location sets.
44 */
45
46XMLPUBFUN xmlLocationSetPtr XMLCALL                     
47                    xmlXPtrLocationSetCreate    (xmlXPathObjectPtr val);
48XMLPUBFUN void XMLCALL                 
49                    xmlXPtrFreeLocationSet      (xmlLocationSetPtr obj);
50XMLPUBFUN xmlLocationSetPtr XMLCALL     
51                    xmlXPtrLocationSetMerge     (xmlLocationSetPtr val1,
52                                                 xmlLocationSetPtr val2);
53XMLPUBFUN xmlXPathObjectPtr XMLCALL     
54                    xmlXPtrNewRange             (xmlNodePtr start,
55                                                 int startindex,
56                                                 xmlNodePtr end,
57                                                 int endindex);
58XMLPUBFUN xmlXPathObjectPtr XMLCALL     
59                    xmlXPtrNewRangePoints       (xmlXPathObjectPtr start,
60                                                 xmlXPathObjectPtr end);
61XMLPUBFUN xmlXPathObjectPtr XMLCALL     
62                    xmlXPtrNewRangeNodePoint    (xmlNodePtr start,
63                                                 xmlXPathObjectPtr end);
64XMLPUBFUN xmlXPathObjectPtr XMLCALL     
65                    xmlXPtrNewRangePointNode    (xmlXPathObjectPtr start,
66                                                 xmlNodePtr end);
67XMLPUBFUN xmlXPathObjectPtr XMLCALL                     
68                    xmlXPtrNewRangeNodes        (xmlNodePtr start,
69                                                 xmlNodePtr end);
70XMLPUBFUN xmlXPathObjectPtr XMLCALL     
71                    xmlXPtrNewLocationSetNodes  (xmlNodePtr start,
72                                                 xmlNodePtr end);
73XMLPUBFUN xmlXPathObjectPtr XMLCALL     
74                    xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
75XMLPUBFUN xmlXPathObjectPtr XMLCALL     
76                    xmlXPtrNewRangeNodeObject   (xmlNodePtr start,
77                                                 xmlXPathObjectPtr end);
78XMLPUBFUN xmlXPathObjectPtr XMLCALL     
79                    xmlXPtrNewCollapsedRange    (xmlNodePtr start);
80XMLPUBFUN void XMLCALL                 
81                    xmlXPtrLocationSetAdd       (xmlLocationSetPtr cur,
82                                                 xmlXPathObjectPtr val);
83XMLPUBFUN xmlXPathObjectPtr XMLCALL     
84                    xmlXPtrWrapLocationSet      (xmlLocationSetPtr val);
85XMLPUBFUN void XMLCALL                 
86                    xmlXPtrLocationSetDel       (xmlLocationSetPtr cur,
87                                                 xmlXPathObjectPtr val);
88XMLPUBFUN void XMLCALL                 
89                    xmlXPtrLocationSetRemove    (xmlLocationSetPtr cur,
90                                                 int val);
91
92/*
93 * Functions.
94 */
95XMLPUBFUN xmlXPathContextPtr XMLCALL   
96                    xmlXPtrNewContext           (xmlDocPtr doc,
97                                                 xmlNodePtr here,
98                                                 xmlNodePtr origin);
99XMLPUBFUN xmlXPathObjectPtr XMLCALL     
100                    xmlXPtrEval                 (const xmlChar *str,
101                                                 xmlXPathContextPtr ctx);
102XMLPUBFUN void XMLCALL                                     
103                    xmlXPtrRangeToFunction      (xmlXPathParserContextPtr ctxt,
104                                                 int nargs);
105XMLPUBFUN xmlNodePtr XMLCALL           
106                    xmlXPtrBuildNodeList        (xmlXPathObjectPtr obj);
107XMLPUBFUN void XMLCALL         
108                    xmlXPtrEvalRangePredicate   (xmlXPathParserContextPtr ctxt);
109#ifdef __cplusplus
110}
111#endif
112
113#endif /* LIBXML_XPTR_ENABLED */
114#endif /* __XML_XPTR_H__ */
Note: See TracBrowser for help on using the repository browser.