blob: 786fb5a0f4061912612599c123a1b21066155667 [file] [log] [blame]
Daniel Veillarde8eac3d2000-10-11 08:55:02 +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/*
Daniel Veillard2d38f042000-10-11 10:54:10 +000034 * Handling of location sets
35 */
36
37void xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);
38xmlLocationSetPtr xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
39 xmlLocationSetPtr val2);
40
41/*
Daniel Veillarde8eac3d2000-10-11 08:55:02 +000042 * 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);
Daniel Veillardc2def842000-11-07 14:21:01 +000051xmlNodePtr xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);
Daniel Veillardf62ceff2000-11-24 23:36:01 +000052void xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);
Daniel Veillarde8eac3d2000-10-11 08:55:02 +000053
54#ifdef __cplusplus
55}
56#endif
57#endif /* __XML_XPTR_H__ */