XSLT 1.0 has some pretty heavy limitations on what you can
use a RTF for.
About the only things that you can do with a RTF is to
stringify it, or to use it inside another RTF. In practice,
it means that implementations need not even keep RTFs as full
trees, and can start serializing the RTF as soon as its
contents are known. This is what I did with my toy XSLT 1.0
implementation last year.
Yes, that was the design in early Saxon releases as well, until the TinyTree
was introduced in Saxon 6.0, if I remember right.
I'm curious to know if this opportunity for early
optimization was a deliberate decision of the XSLT 1.0
architects
As far as I've been able to determine the story, restrictions were added
because there were doubts about implementability and someone used the theory
that it's easier to get rid of a restriction in a subsequent release than to
introduce one - and they were planning to do XSLT 1.1 within 12 months so it
wasn't a big deal. If they had known people would still be using XSLT 1.0
(indeed, announcing new implementations) 8 years later, I suspect things
would have been different.
Michael Kay
http://www.saxonica.com/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--