In the XSLT 1.0 Recommendation, Chapter
3 ("Data Model") begins by saying:
" Processing
instructions and comments in the stylesheet are ignored: the stylesheet
is treated as if neither processing instruction nodes nor comment nodes
were included in the tree that represents the stylesheet."
and further down in 3.4 it says
"After the
tree for a source document or stylesheet document has been constructed,
but before it is otherwise processed by XSLT, some text nodes are stripped...."
This does not explicitly state the sequence
between comment/PI stripping and whitespace-text-node stripping in the
stylesheet. The test case is:
<xsl:template match="x">
<lre>text<!--
boo --> </lre>
</xsl:template>
and I think your intent, as is very
clear for 2.0, is that this template should construct
<lre>text </lre>
rather than
<lre>text</lre>
but "ignoring" the comment
node could be construed as the same operation as "stripping"
a node. I have recently become aware of a well-known XSLT processor that
treats the two stripping/ignoring operations as occurring at the same time
and produces the second result shown above.
Please issue an erratum that will make
the 1.0 spec as explicit as drafts of the 2.0 spec have been.
.................David Marston, IBM
Research