• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/gettext-0.17/gettext-tools/gnulib-lib/libxml/
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__ */
115