Re: Re[2]: [xsl] Transformation using Saxon.Net-1.0-RC1

Subject: Re: Re[2]: [xsl] Transformation using Saxon.Net-1.0-RC1
From: "M. David Peterson" <m.david.x2x2x@xxxxxxxxx>
Date: Thu, 31 Mar 2005 18:04:02 -0700
Thanks for this evaluation Dimitre!

> I have played a little with Saxon.NET and tested it with all FXSL
> modules. Other XSLT 2.0 processor developers have already used FXSL to
> test their products and have praised this as a quite exhaustive and
> revealing experience. Saxon.NET passes very well all these tests.

In fact it was through Dimitre's help that I was finally able to gain
a much needed torture testing beyond the internal tests I had been
working with and as such exposed a gaping hold that was keeping any
sort of tool integration at bay until it was fixed.  Once the source
was located, evaluated, re-coded, and re-compiled the project was
finally able to take on a much needed tools integration test which,
again through Dimitres help, brought things to the point where I felt
confident things were ready to be brought into RC status. (this
confidence of course based on the fact that *HE* felt confident about
this :D)

> 
> The results are that Saxon.Net behaves essentially as Saxon8.3 with
> very minor exceptions. For me using Saxon.NET (the command-line
> utility transform.exe integrated with XSelerator) is fully acceptable.
> 
> Typically a transformation with Saxon.NET may take 5-10% longer than
> with Saxon8.3

I do have a series of test results that I had wanted to package into a
prettier package but at this stage I plan to simply pass these to Dr.
Kay for evaluation and then determine what tests he might further
recommend as part of this process.

> 
> However, there are isolated cases (predominantly when arithmetic
> calculations are performed) when a Saxon.NET transformation  may be as
> much as twice faster as the corresponding Saxon 8.3  one.

This should really be attributed to Jeroen Frijters, members of the
Gnu Classpath project, and even more specifically to the .NET platform
architects as there are no specific things I did to the code base that
would warrant the performance increase to this level.  Of course you
have to give the ultimate credit to Dr. Kay for the development of the
algorithms used in the base Saxon source for which Saxon.NET is
derived, alogrithns that will *OBVIOUSLY* be finding their way into
the Saxon# project :D

> 
> This means that for a large class of XSLT 2.0 programmers (like me)
> Saxon.NET is fully usable right now. One advantage of using Saxon.NET
> is that there's no need to download and install any Java VM -- just
> copy the Saxon.NET assemblies into a folder and off you go.

I do plan to create a simple GAC install utility as the IKVM support
libraries and the Saxon.NET assemblies have all been signed and are
all the types of assemblies I believe qualify for GAC installation. 
Of course, like Dimitre mentions, this is not mandatory.  Copying the
unzipped package into the /bin directory of an ASP.NET application or
included in the same folder as any .NET-based project will do exactly
as expected (keeping in mind the need to provide proper reference to
the related assemblies during the build process of any given projects
compilation into .NET assemblies)
> 
> What I'd be glad to have in the near future is the ability to pass to
> the transformation extension objects, written in native .NET languages
> like C#. AFAIK M.D.Peterson is working on this and I am confident he
> will have good results soon.

The rumor is true and in fact I have solved about 95% of the issues
and am confident that the remaining 5% will be solvable once I have a
good 5 hour chunk of time to dedicate to the final piece of this
puzzle.  Thanks again to Dimitre for testing through this code base
with his latest and greatest FXSL project which has gone a LONG way in
assuring that this first release will be one of acceptable quality and
will act as a fantastic resource in moving forward with Saxon# in
determining which pieces of the Saxon source may need to be worked
over a bit to become more .NET specific, which are fine the way they
are and simply need to be recoded in C#, and which pieces will need a
complete .NET FCL overall to ensure proper and smooth integration into
the wonderful world that many of us know to be the .NET/CLI platform. 
 As I'm sure you all can imagine and will agree its tough to go wrong
when you have someone like Dimitre Novatchev "watching you're back" so
to speak :)  Thanks again Dimitre!!!  For the record if it wasnt for
Dimitres breakthroughs via the inclusion of Saxon.NET in his FXSL test
routines this project would still be stuck on some key issues so,
again, thank you Dimitre!  This couldnt have been done without you!

Best regards,

<M:D/>

> 
> Cheers,
> Dimitre Novatchev

Current Thread