|
next
|
Subject: Re: SS5.1.173h: Error handling whitespace,comments,processing instructions,CDATA Author: (Deleted User) Date: 26 Apr 2004 08:18 AM
|
Hi Hans-Peter,
At 19.57 25/04/2004 -0400, stylus-studio-tech Listmanager wrote:
>From: Hans-Peter Küchler
>
>Hi, 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.
The only difference I see between the output of Stylus/MSXML and the output
of Xalan/Saxon is that the latter don't generate the comment; and I think
Stylus and MSXML are right, as the comment should be copied by the copy-of,
being part of the source XML. Stylus also places the comment and the
processing instruction indented on a new line, while MSXML.NET only indents
the processing instruction; why do you say it's not allowed?
>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 obj!
> ect 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]
You are right, this is a bug in the Stylus processor; the next update will
not generate comments and processing instructions when executing "value-of
select='.'"
>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 < and
>> characters from the CDATA section are not correct escaped.
This seems to be caused by the code we inject to get the result of the
transformation from the .NET processor; we need to investigate this further.
Thanks for the report,
Alberto
|
|
|