[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XPath 1.5? (was RE: typing and markup)
> > There is one example in XSLTMark where schema knowledge could make a > > dramatic difference. It effectively does > > > > <xsl:template match="row[id='0432']"> > > <html> > > .. stuff .. > > </html> > > </xsl:template> > > > > <xsl:template match="text()"/> > > > > If you know that a row cannot contain another row then you can skip > > processing 99.99% of the data. > > Do you mean if you know that the document cannot contain another row > with the same id, or did you mean if you know that a row cannot > contain another row? I'm missing something about what optimisations > it's useful to make in XSLT, if you meant the latter? > Either would do. The above are the only template rules in the stylesheet. The first template rule is the only thing in the stylesheet that can produce any output. Therefore you know that if you are processing a node that cannot have row[id='0432'] as a descendant, you can skip it and its entire subtree. As I say, this is an example where schema knowledge could help greatly. The rule would be "if none of the descendants of this node can match a template rule that produces output, then don't process this subtree." The question is, would this rule be triggered sufficiently often to justify including it in the optimizer? (Alternatively, I might include it anyway because I'm only really interested in optimizing the cases that occur in benchmarks). Michael Kay Software AG home: Michael.H.Kay@n... work: Michael.Kay@s...
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|