Re: [xsl] For-each adds whitespace per iteration: why?

Subject: Re: [xsl] 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