00001
00010 #ifndef P6XSLT_H__
00011 #define P6XSLT_H__ 1
00012
00013 #include "p6err.h"
00014 #include "p6datastream.h"
00015 #include "p6xslttypes.h"
00016 #include "p6xpathvariables.h"
00017
00018 namespace P6R {
00019
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023
00031 interface p6IXSLT : public p6ICom
00032 {
00050 P6COMMETHOD initialize( P6XSLTFLAGS flags, p6IDataStream* pErrorResult ) = 0;
00051
00065 P6COMMETHOD setDefaultCollation( const P6CHAR* pCollate ) = 0;
00066
00080 P6COMMETHOD compileTemplates( const P6CHAR* pTemplates,
00081 p6IDataStream* pErrorResult
00082 ) = 0;
00083
00119 P6COMMETHOD startTransform( p6IDataStream* pTransformResult,
00120 const P6CHAR* pBuffer,
00121 P6UINT32 bufSize,
00122 P6BOOL isLast
00123 ) = 0;
00124
00141 P6COMMETHOD continueTransform( const P6CHAR* pBuffer,
00142 P6UINT32 bufSize,
00143 P6BOOL isLast
00144 ) = 0;
00145
00172 P6COMMETHOD transformWithDOM( p6IDataStream* pTransformResult,
00173 p6IDOMXML* pDOMTree
00174 ) = 0;
00175
00205 P6COMMETHOD setMessageOutput( p6IDataStream* pOutput ) = 0;
00206
00228 P6COMMETHOD setExternalFunctions( p6IXpathVariables* pConnector ) = 0;
00229
00250 P6COMMETHOD setRegexLimits( P6UINT32 maxBackStack, P6UINT32 maxBackTracks ) = 0;
00251
00266 P6COMMETHOD setFeature( const P6WCHAR* pString, P6BOOL result ) = 0;
00267 };
00268
00269
00270 #define IF_p6IXSLT {0x1e6903d8,0x6331,0x4168,{0x9b,0x8,0xc7,0xd7,0x35,0x8b,0x68,0x9f}}
00271
00272
00273 #define COMP_p6XSLT {0x5e7c4359,0x2d8d,0x4411,{0xb4,0xa9,0xaa,0xfc,0xcb,0xf3,0xa,0x6b}}
00274
00275 #ifdef __cplusplus
00276 }
00277 #endif
00278
00279 }
00280
00281
00282 #endif
00283
00284
00285
00286
00287
00288