blob: 786fb5a0f4061912612599c123a1b21066155667 [file] [log] [blame]
Owen Taylor3473f882001-02-23 17:55:21 +00001/*
2 * xpointer.h : API to handle XML Pointers
3 *
4 * World Wide Web Consortium Working Draft 03-March-1998
5 * http://www.w3.org/TR/1998/WD-xptr-19980303
6 *
7 * See Copyright for the status of this software.
8 *
9 * Daniel.Veillard@w3.org
10 */
11
12#ifndef __XML_XPTR_H__
13#define __XML_XPTR_H__
14
15#include <libxml/tree.h>
16#include <libxml/xpath.h>
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22/*
23 * A Location Set
24 */
25typedef struct _xmlLocationSet xmlLocationSet;
26typedef xmlLocationSet *xmlLocationSetPtr;
27struct _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 */
31};
32
33/*
34 * Handling of location sets
35 */
36
37void xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);
38xmlLocationSetPtr xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
39 xmlLocationSetPtr val2);
40
41/*
42 * Functions
43 */
44xmlXPathContextPtr xmlXPtrNewContext (xmlDocPtr doc,
45 xmlNodePtr here,
46 xmlNodePtr origin);
47xmlXPathObjectPtr xmlXPtrEval (const xmlChar *str,
48 xmlXPathContextPtr ctx);
49void xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,
50 int nargs);
51xmlNodePtr xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);
52void xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);
53
54#ifdef __cplusplus
55}
56#endif
57#endif /* __XML_XPTR_H__ */