Lists Home |
Date Index |
>> 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:
(and direct comments to firstname.lastname@example.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
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.
So the picture that I have is that optimisation is probably only
- 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.