xsl-list
[Top] [All Lists]

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

2014-01-10 11:33:09
<?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 +ACQ-strings=<xsl:value-of select="+ACQ-strings" separator=""/>
 for +ACQ-str in +ACQ-strings return concat('/', +ACQ-str,
'/')=<xsl:value-of><xsl:sequence
select="for +ACQ-str in +ACQ-strings return concat('/', +ACQ-str, '/')"/></xsl:value-of>
 string-join(+ACQ-strings, '')=<xsl:sequence select="string-join(+ACQ-strings,
'')"/>
 for-each over strings: "<xsl:value-of><xsl:for-each select="+ACQ-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 +ACQ-strings=onetwothreefour
 for +ACQ-str in +ACQ-strings return concat('/', +ACQ-str, '/')=/one//two//three//four/
 string-join(+ACQ-strings, '')=onetwothreefour
 for-each over strings: "/one//two//three//four/"

________________________________________________________________________
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. 
________________________________________________________________________

--+AH4-------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+AH4---