Subject: Re: [xsl] Unanticipated Results from text()|
From: "Manfred Staudinger" <manfred.staudinger@xxxxxxxxx>
Date: Sun, 25 Feb 2007 12:18:43 +0100
> I rely heavily on leading blanks of to original text. yes but they are not affected by white space stripping, as they are in the same text node as non-white space. mxsml's stripping, like xslt's only affects text nodes that are all-white.
This certainly contributed to my confusion. But I have to admit, not to have tested the example given above: indent="yes" or indent="no" does _not_ make any difference.
msxml doesn't actually remove the text nodes, it leaves a secret marker recording that a text node was there (but not its value), and when serialising the node, it (usually) inserts a space at that point. This means that of you xsl:copy-of a branch of the input tree, very often space appears to be preserved in the result as these hidden markers get copied, but if you apply-templates and acually costruct a new tree rather than copying the original, all record of the origial space is lost.
an MS developer writes about this in this old thread
Your additional remarks saved my day. I have other dubious cases which I now hope to understand. Thanks,