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 const P6XPATHFLAGS P6XPATH_NOFLAGS = 0x00000000;
36 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 
unsigned int P6UINT32
Definition: p6types.h:46
P6R's interface of the DOM parser.
Definition: p6domxml.h:101
#define P6PURE
Definition: p6defs.h:176
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:112
const P6XPATHFLAGS P6XPATH_NOFLAGS
p6IDataStream interface definitions
P6R's interface of the DOM parser.
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:90
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.
const P6XPATHFLAGS P6XPATH_TRACEON
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:173
This interface provides the compilation time context of an XML document.
Definition: p6xmlcompile.h:31
#define P6THIS_
Definition: p6defs.h:177
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:84
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:172