[Bug 4031] Final Result Trees

http://www.w3.org/Bugs/Public/show_bug.cgi?id=4031





------- Comment #2 from mike@saxonica.com  2006-12-03 14:02 -------
No, I think the text is correct. In fact it's very carefully written, even
though this is just an introductory summary (the WG spent a lot of time on this
during last call!). As explained more fully in section 2.4, you get an implicit
final result tree in two situations:

(a) if there's no xsl:result-document instruction executed, regardless whether
the result of the initial template is empty

(b) if there is an xsl:result-document instruction executed and the result of
the initial template is non-empty.

The only time you don't get one, by implication, is when result-document is
executed AND the result of the initial template is empty. This is to cover the
use case

<xsl:template match="/">
  <xsl:result-document validate="strict">
    <xsl:apply-templates/>
  </xsl:result-document>
</xsl:template>

(Note: I think recent Saxon releases get this right, but that's a question for
a different forum. There's an unstated assumption in the spec, unstated because
it's out of scope, that if there is no implicit result tree, then the contents
of any output file specified as the destination for the implicit result tree
will not be overwritten; and in this sense producing an empty result tree is
different from not producing one.)

Received on Sunday, 3 December 2006 14:02:19 UTC