[Libreoffice] [PATCH] replace Saxon/J XSLT extension functions with libxslt/c++ equivalent
nopower at novell.com
Mon Mar 28 08:46:32 PDT 2011
On 26/03/11 13:42, Peter Jentsch wrote:
> I now have a first working implementation of the XSLT extension
> functions which currently prevent the Office 2003 ML filters from using
> the libxslt based transformation service.
> The patch affects 3 modules:
> solenv: new PACKAGE2LIB variable defined in libs.mk
> components/package: made Inflater/Deflater classes (needed by the
> extension functions) available as DLL imports.
> filters/filter: added extenstion function impl., changed XSLT
> stylesheets to work with that and changed configuration of Word 2003 ML
> filters to no longer use the JAXT transformation service.
> I'm afraid the OleHandler class still needs a lot of love, esp.
> w/regards to exception handling, but as of now it even works somewhat
> better than the java based impl. which is currently completely broken
> (in both OOo and LibO, at least under Ubuntu 10.10).
wow this looks pretty impressive, but... I fear I am a little lost
reviewing it . Any pointers to testing ? ( for the unitiated e.g. me )
Another thing that worries me is the windows build, I see there is a new
PACKAGE2LIB defined but only for ( afaics ) the 'nixes, Have you tried
to build it on windows, II think we might be able to get some of the
windows experts to help ( iirc you will need a 'ipackage2.lib' file
which afaik isn't always available and requires some magic something in
a makefile somewhere )
Asking here Tor and Fridrich if they are ok with the possibility of
breaking the windows build ( and asking can they help when that happens
) should the consensus be it's a good idea to commit this now.
If I understand things correctly then mostly this is already integrated
( and this goes a further step to remove more java-ication ) and being a
new code/feature we certainly can tolerate the code needing 'more love'
On that front as a suggestion there are some helper stream classes you
might find useful that can wrap those the hard to use uno stream
classes, there is also there is a memory stream class helper ( that
might allow to avoid ( or at least hide ) creating temp files ). Those
SvStream type classes at least help with some of the pain of
reading/writing basic types and strings etc. to/from stream
( helper for converting uno X*Stream types into SvStreams )
( MemoryStream )
p.s. newfile package/inc/packagedllapi.hxx needs the standard licence foo
More information about the LibreOffice