[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Dynamic pipelining in XSLT 2.0 w/ Saxon extensions

Subject: Re: Dynamic pipelining in XSLT 2.0 w/ Saxon extensions
From: Florent Georges <darkman_spam@xxxxxxxx>
Date: Tue, 19 Jun 2007 09:56:13 +0200 (CEST)
Re:  Dynamic pipelining in XSLT 2.0 w/ Saxon extensions
"M. David Peterson" wrote:


> in theory one could easily use an extension function to
> implement each chain of the pipeline, using a Hashtable to
> store compiled transformation file if it's the first time
> it's been accessed.

  But IMHO this approach has the drawback to use extension
functions (other that those built-in within Saxon).  Even if
using saxon:transform() locks you to Saxon [1], it eases the
installation for your users.  You can just say "that
requires Saxon X.Y, just download it and invoke Saxon the
usual way", instead of explaining where to install the
different pieces and how to modify the classpath in Java or

  If scalability regarding the number of input documents is
of concern, you can take several approaches.  You can
compile all the stylesheets once before processing the
inputs if you know that almost all stylesheets will be

  Or if you can process recursively each input (each step
apply the next one, the last one apply the next input), you
can compile the stylesheets the first time they are used
then pass them to the folowing steps/inputs.

  You can also use a user function that memoizes its result
(if you are ready to use an extension attribute that makes
an xsl:function to memoize its outputs ;-p).  IMHO that
would be the most generic way to cache compiled stylesheets.
Note Gestalt provides the same functionality through the
gestalt:function extension instruction.

  [1] Actually, that would locks you to an XSLT 2.0
processor that has the same functionalities, thanks to
@use-when.  In addition, I think that would be possible to
design your stylesheets to be used without the pipeline in
XSLT itself (with additional work writing a shell script or
a piece of Java code), and then provide this additional
facility to your user through saxon:transform().  Or you can
also wait for XProc ;-)



Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail 

Current Thread


Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
First Name
Last Name
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.