ReactOS  0.4.15-dev-5488-ge316d61
xpointer.h
Go to the documentation of this file.
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
28 extern "C" {
29 #endif
30 
31 #ifdef LIBXML_XPTR_LOCS_ENABLED
32 /*
33  * A Location Set
34  */
35 typedef struct _xmlLocationSet xmlLocationSet;
36 typedef xmlLocationSet *xmlLocationSetPtr;
37 struct _xmlLocationSet {
38  int locNr; /* number of locations in the set */
39  int locMax; /* size of the array as allocated */
40  xmlXPathObjectPtr *locTab;/* array of locations */
41 };
42 
43 /*
44  * Handling of location sets.
45  */
46 
48 XMLPUBFUN xmlLocationSetPtr XMLCALL
49  xmlXPtrLocationSetCreate (xmlXPathObjectPtr val);
51 XMLPUBFUN void XMLCALL
52  xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);
54 XMLPUBFUN xmlLocationSetPtr XMLCALL
55  xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
56  xmlLocationSetPtr val2);
58 XMLPUBFUN xmlXPathObjectPtr XMLCALL
59  xmlXPtrNewRange (xmlNodePtr start,
60  int startindex,
62  int endindex);
64 XMLPUBFUN xmlXPathObjectPtr XMLCALL
65  xmlXPtrNewRangePoints (xmlXPathObjectPtr start,
66  xmlXPathObjectPtr end);
68 XMLPUBFUN xmlXPathObjectPtr XMLCALL
69  xmlXPtrNewRangeNodePoint (xmlNodePtr start,
70  xmlXPathObjectPtr end);
72 XMLPUBFUN xmlXPathObjectPtr XMLCALL
73  xmlXPtrNewRangePointNode (xmlXPathObjectPtr start,
74  xmlNodePtr end);
76 XMLPUBFUN xmlXPathObjectPtr XMLCALL
77  xmlXPtrNewRangeNodes (xmlNodePtr start,
78  xmlNodePtr end);
80 XMLPUBFUN xmlXPathObjectPtr XMLCALL
81  xmlXPtrNewLocationSetNodes (xmlNodePtr start,
82  xmlNodePtr end);
84 XMLPUBFUN xmlXPathObjectPtr XMLCALL
85  xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
87 XMLPUBFUN xmlXPathObjectPtr XMLCALL
88  xmlXPtrNewRangeNodeObject (xmlNodePtr start,
89  xmlXPathObjectPtr end);
91 XMLPUBFUN xmlXPathObjectPtr XMLCALL
92  xmlXPtrNewCollapsedRange (xmlNodePtr start);
94 XMLPUBFUN void XMLCALL
95  xmlXPtrLocationSetAdd (xmlLocationSetPtr cur,
96  xmlXPathObjectPtr val);
98 XMLPUBFUN xmlXPathObjectPtr XMLCALL
99  xmlXPtrWrapLocationSet (xmlLocationSetPtr val);
101 XMLPUBFUN void XMLCALL
102  xmlXPtrLocationSetDel (xmlLocationSetPtr cur,
103  xmlXPathObjectPtr val);
105 XMLPUBFUN void XMLCALL
106  xmlXPtrLocationSetRemove (xmlLocationSetPtr cur,
107  int val);
108 #endif /* LIBXML_XPTR_LOCS_ENABLED */
109 
110 /*
111  * Functions.
112  */
113 XMLPUBFUN xmlXPathContextPtr XMLCALL
114  xmlXPtrNewContext (xmlDocPtr doc,
115  xmlNodePtr here,
117 XMLPUBFUN xmlXPathObjectPtr XMLCALL
118  xmlXPtrEval (const xmlChar *str,
119  xmlXPathContextPtr ctx);
120 #ifdef LIBXML_XPTR_LOCS_ENABLED
122 XMLPUBFUN void XMLCALL
123  xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,
124  int nargs);
127  xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);
129 XMLPUBFUN void XMLCALL
130  xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);
131 #endif /* LIBXML_XPTR_LOCS_ENABLED */
132 #ifdef __cplusplus
133 }
134 #endif
135 
136 #endif /* LIBXML_XPTR_ENABLED */
137 #endif /* __XML_XPTR_H__ */
#define XML_DEPRECATED
Definition: xmlversion.h:494
voidpf uLong int origin
Definition: ioapi.h:144
#define XMLPUBFUN
Definition: xmlexports.h:61
const WCHAR * str
GLuint GLfloat * val
Definition: glext.h:7180
GLuint GLuint end
Definition: gl.h:1545
Definition: tree.h:489
unsigned char xmlChar
Definition: xmlstring.h:28
FxCollectionEntry * cur
GLuint start
Definition: gl.h:1545
Definition: tree.h:551
#define XMLCALL
Definition: _set.h:46