Subject: RE: [xsl] Optimization Question From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 1 Feb 2005 21:24:13 -0000 |
You can't xsl:include a source document, but you can bring it in to the stylesheet as an external entity: <xsl:variable name="lookup"> &lookup-doc; </xsl:variable> For some processors this might be equivalent to passing in a pre-built tree. This isn't the case for Saxon, however: Saxon doesn't spot at compile time that the variable contains no executable instructions, and will rebuild the tree on each stylesheet execution. It's better to build the tree in your calling Java application, and pass it to the stylesheet as a parameter. I've wondered from time to time whether a function such as document('lookup.xml') should be pre-evaluated at compile time. At present Saxon doesn't - because it would cause chaos in cases where the contents of the URL change between compile time and run-time. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Michael Nguyen [mailto:mnguyen@xxxxxxxxxx] > Sent: 01 February 2005 20:44 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Optimization Question > > All, > thanks for all the help. My lookup document (~5MB) is > static. If I > were to do an xsl:include as opposed to me using a document > call, would > using the compilier help? Is there someting I'm forgetting? > > --Michael > > > Robert Koberg wrote: > > > Michael Kay wrote: > > > >>> Have you tried XSLTC. This basically allows you to > apply a compiled > >>> form of your stylesheet in your transformations. Both xalan and > >>> saxon ship with XSLT compilers. > >> > > ... > > > >> > >> I'm asked occasionally whether I plan to do a Saxon compiler - more > >> strictly, a bytecode generator. At present, I don't: I > think it would > >> slow > >> down the rate of progress on the product considerably, if only > >> because code > >> generators are notoriously hard to debug. I prefer to spend the > >> effort on > >> improving the query execution strategies, which can > produce much bigger > >> potential savings. In any case, I think that for most > people memory > >> is more > >> of a constraint than processing speed. > > > > > > I think this is a good idea. I usually run my app with > Saxon and Xalan > > interpretive(?). I occasioanlly run it also with XSLTC and Resin's > > compiling processor (which requires much less memory and is the > > fastest). I really wish I could use a compiling processor > (especially > > resin), but I always fallback to Saxon (its small and fast enough) > > because it just works and there is always some little problem I run > > into with compiling processors. > > > > best, > > -Rob > > > -- > ------------------------------------------------- > Michael Nguyen > Senior Software Engineer, SKOLAR > Wolters Kluwer Health - Clinical Tools > 1860 Embarcadero Rd, Suite 215 > Palo Alto, CA 94303 > Phone: 650-354-3025 > mnguyen@xxxxxxxxxx
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Optimization Question, Michael Nguyen | Thread | Re: [xsl] Optimization Question, Robert Koberg |
Re: [xsl] Optimization Question, Michael Nguyen | Date | [xsl] Copy all preceding-sibling ex, Wilde Rebecca L SSgt |
Month |