16#include <libxml/parser.h>
17#include <libxml/tree.h>
18#include <libxml/xmlIO.h>
19#include <libxslt/transform.h>
20#include <libxml/xpathInternals.h>
29#include <com/sun/star/lang/XServiceInfo.hpp>
30#include <com/sun/star/io/XInputStream.hpp>
31#include <com/sun/star/io/XOutputStream.hpp>
32#include <com/sun/star/io/XStreamListener.hpp>
33#include <com/sun/star/beans/NamedValue.hpp>
34#include <com/sun/star/xml/xslt/XXSLTTransformer.hpp>
36using namespace ::
cppu;
44#define EXT_MODULE_OLE_URI "http://libreoffice.org/2011/xslt/ole"
49 class LibXSLTTransformer;
60 int read(
char * buffer,
int len);
61 int write(
const char * buffer,
int len);
77 virtual void execute()
override;
95 class LibXSLTTransformer :
public WeakImplHelper<css::xml::xslt::XXSLTTransformer, css::lang::XServiceInfo>
111 typedef ::std::deque<css::uno::Reference<XStreamListener> >
ListenerList;
142 virtual void SAL_CALL
143 setInputStream(
const css::uno::Reference<XInputStream>& inputStream)
override;
144 virtual css::uno::Reference<XInputStream> SAL_CALL
147 virtual void SAL_CALL
148 setOutputStream(
const css::uno::Reference<XOutputStream>& outputStream)
override;
149 virtual css::uno::Reference<XOutputStream> SAL_CALL
152 virtual void SAL_CALL
153 addListener(
const css::uno::Reference<XStreamListener>& listener)
override;
154 virtual void SAL_CALL
155 removeListener(
const css::uno::Reference<XStreamListener>& listener)
override;
156 virtual void SAL_CALL
158 virtual void SAL_CALL
160 virtual void SAL_CALL
161 initialize(
const Sequence<Any>& params)
override;
167 error(
const OUString& msg);
174 const ::std::map<const char*, OString>&
177 const css::uno::Reference<css::uno::XComponentContext>&
int read(char *buffer, int len)
static void registerExtensionModule()
virtual void execute() override
virtual ~Reader() override
xsltTransformContextPtr m_tcontext
Sequence< sal_Int8 > m_readBuf
int write(const char *buffer, int len)
Sequence< sal_Int8 > m_writeBuf
Reader(LibXSLTTransformer *transformer)
rtl::Reference< LibXSLTTransformer > m_transformer
static const sal_Int32 OUTPUT_BUFFER_SIZE
static const sal_Int32 INPUT_BUFFER_SIZE