Jason Timmins wrote:
I don't know how to do that but, if you're telling me I can call Java
methods straight from .NET without the delays associated with starting-up
the Java VM, then I'd gladly try that.
There're samples of how to set up a simple web service that can do the
trick. There are several ways to set this up, the easiest already
mentioned by Jeremias Maerki.
The only reason I have to use Saxon is that Microsoft don't have an XSLT v2
implementation. They seem focused on their LINQ technology at the moment so
the word is 'no XSLT v2 for now.'
There are two alternatives to Saxon (though I do believe that Saxon is
the most mature currently): AltovaXML free commandline xslt2 processor
and Colin's Gestalt XSLT 2.0 processor, open source, built with Eiffel.
In my experience, the latter has the shortest startup time when run as
an executable. But embedding an executable inside a web app can be hard
and non-trivial to do correctly.
That said, Saxon is the only one that comes "natively" as a .NET processor.
Your story about MS not doing XSLT 2.0 is not right. They have spread
the word about half a year back that they started development for an
XSLT 2.0 processor. It is only a matter of time. In Michael Kay's words,
it takes about 1 to 2 years to built a stable processor, depending on
the team and the money available of course (meaning: it won't be there
tomorrow).
It's plain and simple, even when you have limited
knowledge of
Java. And you don't need to exit the JVM anymore. This has two main
benefits: you gain speed (perhaps a lot!) and your
application becomes easier.
No doubt but I have to stay with .NET as the rest of the site is .NET-based.
Without wanting to sound harsh: that's really not a good reason to stick
to a certain technique, you're locking yourself in, keeping the better
options out. Using a technique that best suits its purpose or that's
best at a certain job is a much more viable option then trying to bend
the iron by hands...
And while your at it, you might as well upgrade to a newer version of
FOP, since yours is really ancient.
Ahh, well, I've been holding-off upgrading because my XSL design tool,
XSLFastm uses FOP 0.20.5 to render to PDF as a preview. I thought it only
logical to stick with 0.20.5 until XSLFast switches to using the latest
version of FOP. I can't have my development tool showing one thing and what
gets printed being something different. That's one headache I can live
without.
Also, in my current environment I'd have to translate FOP 0.9X into a .NET
assembly and I'm not looking forward to that.
If you change your mind on that last subject: I just spoke to XSLFast's
Jens Thiemann, you may have heard of him, and he assured me that it is
only days before they will start shipping a new version with full
support for FOP 0.93 and up. And if you contact him directly using
[EMAIL PROTECTED], he can give you an early copy of the product.
Oh man, if only it were that simple. I've never written code the cleans
itself up so well as this app! I 'dispose' of every object and data
structure I use. I can say with reasonable certainty, it's not crappy code
in my .NET world. :-)
Well, that's good to hear. Of course, any .NET application uses external
libraries, so if it isn't your code for sure, it can be something else.
In the past I've successfully used DevPartner by Compuware (then
Numega). I don't want to sing the praises of DevPartner here as then I
should make a sound comparison to other products as well. However, I
mention it because it gives very good per-object, per reference analysis
of what's been kept in memory (and a lot more, like how long each method
takes, how often it's called etc) and how much memory each object takes.
But it doesn't come free, worse yet, I don't believe it is very cheap...
yet it can save you tons of hours of work which makes such a product
worthwhile (or any of its competitors of course).
Hope these hints help you a bit further,
Cheers,
-- Abel Braaksma
PS: you can check the Saxon list for some mentioning of memory leaks.
There aren't many and most are fixed, but it may give you a hint. Make
sure to use the utter latest edition of Saxon as it is constantly
improved for performance and bugs.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]