Subject: RE: nodes or multiple runs?
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 11 Feb 2004 10:58:55 -0000
|
Running multiple transformations in a pipeline is just fine, it helps to
keep the transformation stages modular. Try to chain them in a SAX
pipeline, however, rather than serializing and parsing between each
transformation step.
Michael Kay
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of
> Paul Tremblay
> Sent: 11 February 2004 07:51
> To: xsl-list
> Subject: nodes or multiple runs?
>
>
>
> I will be publishing a set of xslt stylesheets and want to
> make them easy to use for everyone. My question is whether I
> should chain several stylesheets together, or try to process
> the original document with just one run, using temporary trees.
>
> Right now, my transformation involves chaining together
> stylesheets. One xslt stylesheet creates a document, and that
> document is processed with an xslt stylesheet, and so on.
>
> This method requries that I create several temporary files. I
> can write a python script makes the chaining together easy,
> but then I have to contend with different processors. Saxon
> will require a different processing command than Xalan. I
> will have to write a routine for each processor, and that of
> course gets pretty involved.
>
> However, I was reading Michael Kay's book, and I realized
> that I can actually create temporary trees instead of making
> multiple runs.
>
> For example, I can group together all colors in the document
> and store the result as a temporary tree in a variable. I can
> then number the nodes in this temporary tree consecutively.
>
> But not all processors can handle this method of using a
> temporary tree. For example, xsltproc cannot.
>
> In addition, re-writing my stylesheets so that I can process
> everything at once will take a lot of work. In fact, with my
> level of skill it may not even be possible. The tricky part
> is that I have to number nested lists according to attributes
> in the original XML document. A list that is nested inside
> another list may require that it inherit the number for its
> parent, or it may require that it not. The numbering style
> for the child list may be deciaml, but the numbering style
> for the parent may be Roman. The top level of each list must
> have a unique ID, and this ID must be part of an attribute
> for the paragrphs. But children of lists must not have ids.
> It is for this reason that I numbered all lists first, and
> then on a subsequent run concatenated numbers from parent
> lists when I needed to.
>
> Is it okay to make a user process the document several times,
> or should I try to make my xslt stylesheet a one run process?
>
> Thanks
>
> Paul
>
> --
>
> ************************
> *Paul Tremblay *
> *phthenry@xxxxxxxxxxxxx*
> ************************
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|