Subject: Re: For-each adds whitespace per iteration: why?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 10 Jan 2014 17:32:58 +0000
|
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
exclude-result-prefixes="xs xd"
version="2.0">
<xsl:output method="text"/>
<xsl:template name="test-for-each">
<xsl:variable name="strings" select="('one', 'two', 'three', 'four')"/>
value-of $strings=<xsl:value-of select="$strings" separator=""/>
for $str in $strings return concat('/', $str,
'/')=<xsl:value-of><xsl:sequence
select="for $str in $strings return concat('/', $str, '/')"/></xsl:value-of>
string-join($strings, '')=<xsl:sequence select="string-join($strings,
'')"/>
for-each over strings: "<xsl:value-of><xsl:for-each select="$strings">
<xsl:sequence select="concat('/',.,'/')"/>
</xsl:for-each></xsl:value-of>"
</xsl:template>
</xsl:stylesheet>
produces
saxon9 -it:test-for-each st.xsl
value-of $strings=onetwothreefour
for $str in $strings return concat('/', $str, '/')=/one//two//three//four/
string-join($strings, '')=onetwothreefour
for-each over strings: "/one//two//three//four/"
+AF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBf
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
+AF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBf
| Current Thread |
|
David Carlisle - 10 Jan 2014 17:33:08 -0000 <=
|
|