Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6xpathexpression.h
Go to the documentation of this file.
1 
10 #ifndef P6XPATHEXPRESSION_H__
11 #define P6XPATHEXPRESSION_H__ 1
12 
13 #include "p6err.h"
14 #include "p6domxml.h"
15 #include "p6xpathvariables.h"
16 #include "p6xmlcompile.h"
17 #include "p6datastream.h"
18 
19 
20 #ifdef __cplusplus
21 namespace P6R {
22 extern "C" {
23 #endif
24 
35 static const P6XPATHFLAGS P6XPATH_NOFLAGS = 0x00000000;
36 static const P6XPATHFLAGS P6XPATH_TRACEON = 0x00000001;
37 
38 
47 #undef INTERFACE
48 #define INTERFACE p6IXpathExpression
50 {
65  P6DECLCOMMETHOD(initialize)(P6THIS_ P6XPATHFLAGS flags, p6IDataStream* pTraceResult ) P6PURE;
66 
81  P6DECLCOMMETHOD(setDefaultCollation)(P6THIS_ const P6CHAR* pCollate ) P6PURE;
82 
101  P6DECLCOMMETHOD(compileTemplateMatch)(P6THIS_ P6WCHAR* pPattern,
102  P6UINT32 length,
103  p6IXMLCompile* pContext
104  ) P6PURE;
105 
124  P6DECLCOMMETHOD(compileExpression)(P6THIS_ const P6WCHAR* pExpression,
125  P6UINT32 length,
126  p6IXMLCompile* pContext
127  ) P6PURE;
128 
142  P6DECLCOMMETHOD(setVariableHandler)(P6THIS_ p6IXpathVariables* pObject ) P6PURE;
143 
163  P6DECLCOMMETHOD(setRegexLimits)(P6THIS_ P6UINT32 maxBackStack, P6UINT32 maxBackTracks ) P6PURE;
164 
183  P6DECLCOMMETHOD(eval)(P6THIS_ p6IDOMXML* pXMLTree,
184  p6IXMLNode* pXMLNode,
185  p6IDOMNodeset* pNodeSet,
186  P6XPATH_RESULT* pResult
187  ) P6PURE;
188 
215  P6DECLCOMMETHOD(evalBoolean)(P6THIS_ p6IDOMXML* pXMLTree,
216  p6IXMLNode* pXMLNode,
217  p6IDOMNodeset* pNodeSet,
218  P6BOOL* pbResult
219  ) P6PURE;
220 };
221 
222 // {509A1ECA-1C99-46b3-8FD4-A50F21F7267D}
223 #define IF_p6IXpathExpression {0x509a1eca,0x1c99,0x46b3,{0x8f,0xd4,0xa5,0xf,0x21,0xf7,0x26,0x7d}}
224 
225 // {88EE96C5-EF80-42a8-A52C-87876D02FC5B}
226 #define COMP_p6XpathExpression {0x88ee96c5,0xef80,0x42a8,{0xa5,0x2c,0x87,0x87,0x6d,0x2,0xfc,0x5b}}
227 
228 #ifdef __cplusplus
229 }
230 } // namespace
231 #endif
232 
233 
234 #endif
235 
236 
237 
238 
239 
240 
241 
242 
uint32_t P6UINT32
Definition: p6types.h:77
P6R's interface of the DOM parser.
Definition: p6domxml.h:102
#define P6PURE
Definition: p6defs.h:192
Standard error codes.
This interface provides the compilation time context of an XML document.
The return value form an XPath 2.0 expression evaluation.
Definition: p6domxml.h:50
unsigned char P6BOOL
Boolean type.
Definition: p6types.h:133
p6IDataStream interface definitions
P6R's interface of the DOM parser.
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:111
This interface is implmented by components that support receiving streamed data.
Definition: p6datastream.h:44
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
P6UINT32 P6XPATHFLAGS
P6XPATHFLAGS.
This interface supports the extensibility of the XPath languague.
This interface is implemented by the application making use of the p6xpathexpression component...
This interface is an enumerator over a set of nodes resulting from the evaluation of an XPath express...
Definition: p6domnodeset.h:30
This component represents an element in an XML or JSON document.
Definition: p6xmlnode.h:96
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
This interface provides the compilation time context of an XML document.
Definition: p6xmlcompile.h:31
#define P6THIS_
Definition: p6defs.h:193
This component is used to parse a complex XPath 2.0 expression or pattern into an expression tree for...
char P6CHAR
Narrow character type.
Definition: p6types.h:105
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188