[
Lists Home |
Date Index |
Thread Index
]
Hi Joerg,
>> 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? :-)
I think that it's there, or nearly there. See:
http://www.w3.org/TR/xslt20/#section-Stylesheets-and-Schemas
and:
http://www.w3.org/TR/xslt20/#import-schema
(and direct comments to public-qt-comments@w3.org).
>> 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.
Sure, but there's a lot of stuff being put into XPath 2.0 precisely so
that XSLT processors *can* do this schema-dependent optimisation. I'm
trying to get at whether that stuff is worthwhile or not.
> 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
> transformation starts.
OK.
So the picture that I have is that optimisation is probably only
useful if:
- the schema of the source document is known at compile time
- the stylesheet/query is compiled once, used many times
- the source documents are completely valid
and even then, it's utility hasn't yet been proven empirically.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
|