Re: [xsl] The output of evaluating an XSLT transform is the same regardless of the order in which output elements are evaluated. Right?

Subject: Re: [xsl] The output of evaluating an XSLT transform is the same regardless of the order in which output elements are evaluated. Right?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 13 Apr 2010 13:13:04 +0100
On 13/04/2010 13:01, Syd Bauman wrote:
Interesting stuff. One way to think of this may be in terms of OPs
initial example. Here's a take on it, which I present both as
explanation and for correction.

  <xsl:variable name="hw">
    <xsl:text>Hello</xsl:text>
    <xsl:text>World</xsl:text>
  </xsl:variable>
  <xsl:value-of select="$hw"/>

An XSLT processor should spit out the string "HelloWorld", but
whether it generates that string by

* take text node `Hello`
   take text node `World`, stick it *after* `Hello`

OR

* take text node `World`
   take text node `Hello`, stick it *before* `World`

is entirely up to the processor.


It needn't (and probably won't) generate any text nodes at all.
If the template is writing to the principal output, and that output is being serialised, then the processor probably just serialises it directly without ever generating a tree of nodes in memory.


But the main point is, asking what the processor is doing is just teh wrong question if the intention is to understand XSLT, it's only teh right question to ask if you are trying to optimise for time or space, in which case it is a processor specific question and not related to general XSLT semantics.

David


________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. ________________________________________________________________________


Current Thread