RE: [xsl] anyone know why the default xsl in IE sometimes manages to

Subject: RE: [xsl] anyone know why the default xsl in IE sometimes manages to
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 9 Nov 2007 09:50:01 -0000
"Progressive rendering" was much discussed in the early days as one of the
design aims of XSLT - the idea that the browser could start displaying the
start of a document before it had actually received all the document down
the wire, let alone having parsed all of it. There's evidence in the MSXML
API that asynchronous actions are supported, but I admit I wasn't aware that
they had actually implemented progressive rendering to this extent.

I think there are also some similar capabilities in Xalan, though I'm not
sure how much it really makes sense when you are working server-side. 

Presumably what's going on here is that the transformation starts reading
the DOM tree before the parser has finished constructing it, and if the
transformation needs to access a part of the tree that's still under
construction, it waits. Similarly, it means that the serializer starts
rendering the "result tree" (in quotes because it doesn't really exist)
before the transformer has finished writing it. Clearly a consequence of
this strategy is that XML parsing errors may be reported after the first
output from the stylesheet is displayed. 

I think asynchronous operation of parsing and transformation needs to be
distinguished from streaming. A characteristic of streaming (in this
context) is that you never build the entire source tree in memory. That's a
different thing from having the tree writing and tree reading operate in

Michael Kay

Current Thread