Re: Jon Smirl XSLT 1.1 Reqts Comments

Steve Munch wrote:
 
How about:
<xsl:output schema=string />
<xsl:input schema=string />

The output schema should be there for the same reason doctype is
there. The input schema hint would be used by an XSLT compiler to more
efficiently compile the sheet. Input schema support is optional so if
it's specified and the processor doesn't understand it, it's just
ignored. There should probably be an input doctype hint too.

I really think that an optional <xsl:input> is an extremely important hint
to add to XSLT. As it currently stands in 1.0 we tell in the stylesheet more
about the XML result (even though output is not necessarily XML) than we say
about the input which has to be XML. 
 
This is most important when we are trying to process LARGE XML documents.
Current XSL processors tend to accumulate the entire document in memory
because they are never sure when all information needed for the
transformation has arrived. For example given a DTD fragment:
 
    <!element a (b? c+ d e*) >
 
we can realize that <xsl:apply-templates select="b"> should stop looking for
"b" elements when it finds a "c" element. Today, the processor will load the
entire document in memory before realizing the template should expand to
nothing.
If you have a 100Mb document, this kind of optimization is critical.
 
I have already send this kinds of comments to xalan and to the XSLTC project
at Sun. I think other XSLT packages will appreciate having such information.
But all of them talk about a lack of standard syntax to specify this hint.
 
I would urge you all, to provide the syntax so that this important
optimizations can be start to be added to as soon as possible. As Steve
already mentioned, since this are hints, current XSLT processors do not need
to change anything except for supporting recognizing the syntax.
 
Jose Alberto
 
 

 

Received on Tuesday, 5 September 2000 19:25:12 UTC