- From: <bugzilla@jessica.w3.org>
- Date: Wed, 09 Mar 2016 15:22:15 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29458
--- Comment #5 from Michael Kay <mike@saxonica.com> ---
Sorry for the confusion.
The expected results for both tests end in
x y z { | } ~
The actual results I am getting for both tests ends in
x y z { | }~
that is, without any space between the last two printable characters.
The recursive function is:
<xsl:function name="f:create" as="item()+">
<xsl:param name="i" as="xs:integer" />
<xsl:text expand-text="yes">{if($i = 0) then 'end'
else f:create($i - 1)}</xsl:text>
<xsl:sequence select="codepoints-to-string($i + 65)" />
</xsl:function>
If we consider the first three calls, (X) the call create(61) returns
(text(create(60)), ~); the call create(60) returns (text(create(59)),
}), and the call create(59) returns (text('....'), |) where "...." is
the result of further calls. Combining these results we have
So create(59) returns a text node('....') followed by a string("|").
text(create(59)) combines these using CSC to a text node ('.... |')
So create(60) returns a text node ('.... |') followed by a string("}")
text(create(60)) combines these using CSC to a text node ('.... | }')
create(61) returns this text node followed by the string "~".
These two items form part of the result of the initial template. They are
combined using CSC. The CSC rules do not insert a space between a text node and
a string, and therefore in the final result there should be no space preceding
the final tilde.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Wednesday, 9 March 2016 15:22:19 UTC