- From: <bugzilla@wiggum.w3.org>
- Date: Mon, 31 Jul 2006 13:09:43 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=3446
------- Comment #8 from davidc@nag.co.uk 2006-07-31 13:09 -------
In addition to quoting all white space in attribute values, the stylesheet
needs to quote (just) #13 in strings, otherwise it interacts badly with the
XQuery line ending normalisation. essentially the rule needs to be that because
the stylesheet is using xsl:output method="text" it needs to do "by hand" all
the XML quoting that would be automatic if xsl:output method="xml" were used,
as the XQuery white space rules are designed to mimic the XML ones.
<x> </x>/string-length(.)
should evaluate to 2 It should (I claim) be encoded in XQueryX as shown below,
but the stylesheet generates
<x>{"
"}</x>/string-length(.)
on that with literal #13 and #10 characters which are merged into a single #10
when parsed, so this expression evaluates to 1.
If the stylesheet followed the rules of the serialisation spec's xml output,
then #13 would be serialised as (or something equivalent) and it would
then not be normalised to #10 on parsing.
David
<xqx:module xmlns:xqx="http://www.w3.org/2005/XQueryX">
<xqx:mainModule>
<xqx:queryBody>
<xqx:pathExpr>
<xqx:stepExpr>
<xqx:filterExpr>
<xqx:elementConstructor>
<xqx:tagName>x</xqx:tagName>
<xqx:elementContent>
<xqx:stringConstantExpr>
<xqx:value>
</xqx:value>
</xqx:stringConstantExpr>
</xqx:elementContent>
</xqx:elementConstructor>
</xqx:filterExpr>
</xqx:stepExpr>
<xqx:stepExpr>
<xqx:filterExpr>
<xqx:functionCallExpr>
<xqx:functionName>string-length</xqx:functionName>
<xqx:arguments>
<xqx:pathExpr>
<xqx:stepExpr>
<xqx:filterExpr>
<xqx:contextItemExpr/>
</xqx:filterExpr>
</xqx:stepExpr>
</xqx:pathExpr>
</xqx:arguments>
</xqx:functionCallExpr>
</xqx:filterExpr>
</xqx:stepExpr>
</xqx:pathExpr>
</xqx:queryBody>
</xqx:mainModule>
</xqx:module>
Received on Monday, 31 July 2006 13:09:46 UTC