Lists Home |
Date Index |
Jeni Tennison wrote:
> Right, good point -- because the DTD information comes from the source
> document. The stylesheet doesn't itself say "this is the DTD that the
> source document uses". If it did, then it could make the optimisations
> at compile time.
Maybe add "possibility to declare a schema for source documents" to
the XSLT2.0 requirements grab-bag? :-)
> Though I would say that in XSLT, compile time and run time are usually
> the same. Of course there are environments where XSLT stylesheets get
> cached and reused, but in the majority of cases they're not.
Well, every major XML publishing framework i know of goes a really
long way in order to reuse as much data as possible form earlier
requests, which prominently includes caching compiled style sheets.
And there is a reason why XSLTC was build.
> Also, if you have compile-time optimisation of a 2.0 stylesheet or
> query, effectively ignoring code that "couldn't possibly" be relevant,
> you do have problems when you have a partially valid document. If you
> want to be able to handle partial validity, you can't really "optimise
> away" chunks of code because the basis of your optimisation isn't
> necessarily true.
I don't understand this. Currently, no XSLT processor I know of uses
schema dependent optimisations, or even seriously thinks about this
topic. And of course if someone did, it would only work on documents
which are valid according to the schema. If a source XML document
weren't valid, it would result in a fatal error even before the