[
Lists Home |
Date Index |
Thread Index
]
Hi Joerg,
>> XSLT processors could do the kind of optimisation you're talking
>> about *right now*, based on DTDs. Do they? If they don't, then why
>> not?
>
> Apart from the problem that DTD related optimisations are hard to do
> locally, I guess one reason is that the DTD analysis and the
> appropriate optimisations have to be done a run time rather than at
> compile time.
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.
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. (This
is a big contrast with the expected use of XQuery, I think -- one of
the reasons why if optimisation is *ever* worthwhile, it's likely to
be a lot more worthwhile in XQuery than it is in XSLT.)
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.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
|