p6xpathexpression.h

Go to the documentation of this file.
00001 
00010 #ifndef P6XPATHEXPRESSION_H__
00011 #define P6XPATHEXPRESSION_H__ 1
00012 
00013 #include "p6err.h"
00014 #include "p6domxml.h"
00015 #include "p6xpathvariables.h"
00016 #include "p6xmlcompile.h"
00017 #include "p6datastream.h"
00018 
00019 namespace P6R { 
00020 
00021 #ifdef  __cplusplus
00022 extern "C" {
00023 #endif
00024 
00034 typedef P6UINT32 P6XPATHFLAGS;
00035 const P6XPATHFLAGS P6XPATH_NOFLAGS = 0x00000000;     
00036 const P6XPATHFLAGS P6XPATH_TRACEON = 0x00000001;     
00037 
00038 
00047 interface p6IXpathExpression : public p6ICom
00048 {
00063    P6COMMETHOD initialize( P6XPATHFLAGS flags, p6IDataStream* pTraceResult ) = 0;
00064 
00079    P6COMMETHOD setDefaultCollation( const P6CHAR* pCollate ) = 0;
00080 
00099    P6COMMETHOD compileTemplateMatch( P6WCHAR*       pPattern,  
00100                                P6UINT32       length,
00101                                       p6IXMLCompile* pContext
00102                              ) = 0;
00103 
00122    P6COMMETHOD compileExpression( const P6WCHAR* pExpression,  
00123                             P6UINT32       length,
00124                                    p6IXMLCompile* pContext
00125                           ) = 0;
00126 
00140     P6COMMETHOD setVariableHandler( p6IXpathVariables* pObject ) = 0;
00141 
00161     P6COMMETHOD setRegexLimits( P6UINT32 maxBackStack, P6UINT32 maxBackTracks ) = 0; 
00162 
00181    P6COMMETHOD eval( p6IDOMXML*      pXMLTree, 
00182                  p6IXMLNode*     pXMLNode, 
00183                  p6IDOMNodeset*  pNodeSet, 
00184                  P6XPATH_RESULT* pResult 
00185                ) = 0;
00186 
00213    P6COMMETHOD evalBoolean( p6IDOMXML*      pXMLTree, 
00214                         p6IXMLNode*     pXMLNode, 
00215                         p6IDOMNodeset*  pNodeSet, 
00216                         P6BOOL*         pbResult 
00217                        ) = 0;
00218 };
00219 
00220 // {509A1ECA-1C99-46b3-8FD4-A50F21F7267D}
00221 #define IF_p6IXpathExpression  {0x509a1eca,0x1c99,0x46b3,{0x8f,0xd4,0xa5,0xf,0x21,0xf7,0x26,0x7d}}
00222 
00223 // {88EE96C5-EF80-42a8-A52C-87876D02FC5B}
00224 #define COMP_p6XpathExpression {0x88ee96c5,0xef80,0x42a8,{0xa5,0x2c,0x87,0x87,0x6d,0x2,0xfc,0x5b}}
00225 
00226 #ifdef  __cplusplus
00227 }
00228 #endif
00229 
00230 } // namespace
00231 
00232 
00233 #endif
00234 
00235 
00236 
00237 
00238 
00239 
00240 
00241 
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Copyright © 2004 - 2010 P6R Inc. - All Rights Reserved.