SS5.1.173h: Error handling whitespace,comments,processing instructions,CDATA

Please open the project from the ZIP file. Open the file error8.xsl. Select the scenario "internal" and press F5. In the preview pane select "Text Preview".

1.Item
There is extra whitespace because the indent attribute of the stylesheet is "yes". But most of the extra whitespace is is not allowed. If I use the instructions from [XSL Transformations (XSLT)Version 1.0: 16.1 XML Output Method]

The xml output method should use an algorithm to output additional whitespace that ensures that the result if whitespace were to be stripped from the output using the process described in [3.4 Whitespace Stripping] with the set of whitespace-preserving elements consisting of just xsl:text would be the same when additional whitespace is output as when additional whitespace is not output.

I don't get the same results.

2.Item
The second root element in the output pane contains not only the string value of the original root element (from error8.xml) but also the value of the comment node and the value of the processing instruction node. But "The string-value of an element node is the concatenation of the string-values of all text node descendants of the element node in document order." [XML Path Language (XPath)Version 1.0, 5.2 Element Nodes] and "Characters inside comments, processing instructions and attribute values do not produce text nodes." [XML Path Language (XPath)Version 1.0: 5.7 Text Nodes]. The third root element contains the correct string value, the only difference is the use of 'xsl:value-of select="string(.)"' instead of 'xsl:value-of select="."'. Both invocation should result in the same output because "The xsl:value-of element is instantiated to create a text node in the result tree. The required select attribute is an expression; this expression is evaluated and the resulting object is converted to a string as if by a call to the string function." [XSL Transformations (XSLT)Version 1.0: 7.6 Computing Generated Text]

3.Item
Change the scenario to "ms.net" and press F5. Select in the preview pane "Preview Text". The whitespace handling of the msxml.net processor is better (but I thing its also not correct). Unfortunately the &lt; and &gt; characters from the CDATA section are not correct escaped.

regards Hans-Peter