ReactOS 0.4.15-dev-7924-g5949c20
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
28extern "C" {
29#endif
30
31#ifdef LIBXML_XPTR_LOCS_ENABLED
32/*
33 * A Location Set
34 */
35typedef struct _xmlLocationSet xmlLocationSet;
36typedef xmlLocationSet *xmlLocationSetPtr;
37struct _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
48XMLPUBFUN xmlLocationSetPtr XMLCALL
49 xmlXPtrLocationSetCreate (xmlXPathObjectPtr val);
52 xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);
54XMLPUBFUN xmlLocationSetPtr XMLCALL
55 xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
56 xmlLocationSetPtr val2);
58XMLPUBFUN xmlXPathObjectPtr XMLCALL
59 xmlXPtrNewRange (xmlNodePtr start,
60 int startindex,
62 int endindex);
64XMLPUBFUN xmlXPathObjectPtr XMLCALL
65 xmlXPtrNewRangePoints (xmlXPathObjectPtr start,
66 xmlXPathObjectPtr end);
68XMLPUBFUN xmlXPathObjectPtr XMLCALL
69 xmlXPtrNewRangeNodePoint (xmlNodePtr start,
70 xmlXPathObjectPtr end);
72XMLPUBFUN xmlXPathObjectPtr XMLCALL
73 xmlXPtrNewRangePointNode (xmlXPathObjectPtr start,
76XMLPUBFUN xmlXPathObjectPtr XMLCALL
77 xmlXPtrNewRangeNodes (xmlNodePtr start,
80XMLPUBFUN xmlXPathObjectPtr XMLCALL
81 xmlXPtrNewLocationSetNodes (xmlNodePtr start,
84XMLPUBFUN xmlXPathObjectPtr XMLCALL
85 xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
87XMLPUBFUN xmlXPathObjectPtr XMLCALL
88 xmlXPtrNewRangeNodeObject (xmlNodePtr start,
89 xmlXPathObjectPtr end);
91XMLPUBFUN xmlXPathObjectPtr XMLCALL
92 xmlXPtrNewCollapsedRange (xmlNodePtr start);
95 xmlXPtrLocationSetAdd (xmlLocationSetPtr cur,
96 xmlXPathObjectPtr val);
98XMLPUBFUN xmlXPathObjectPtr XMLCALL
99 xmlXPtrWrapLocationSet (xmlLocationSetPtr val);
102 xmlXPtrLocationSetDel (xmlLocationSetPtr cur,
103 xmlXPathObjectPtr val);
106 xmlXPtrLocationSetRemove (xmlLocationSetPtr cur,
107 int val);
108#endif /* LIBXML_XPTR_LOCS_ENABLED */
109
110/*
111 * Functions.
112 */
113XMLPUBFUN xmlXPathContextPtr XMLCALL
114 xmlXPtrNewContext (xmlDocPtr doc,
115 xmlNodePtr here,
117XMLPUBFUN xmlXPathObjectPtr XMLCALL
118 xmlXPtrEval (const xmlChar *str,
119 xmlXPathContextPtr ctx);
120#ifdef LIBXML_XPTR_LOCS_ENABLED
123 xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,
124 int nargs);
127 xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);
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__ */
Definition: _set.h:50
#define XMLCALL
FxCollectionEntry * cur
GLuint start
Definition: gl.h:1545
GLuint GLuint end
Definition: gl.h:1545
GLuint GLfloat * val
Definition: glext.h:7180
voidpf uLong int origin
Definition: ioapi.h:144
const WCHAR * str
Definition: tree.h:551
Definition: tree.h:489
#define XMLPUBFUN
Definition: xmlexports.h:61
unsigned char xmlChar
Definition: xmlstring.h:28
#define XML_DEPRECATED
Definition: xmlversion.h:494