RE: [xsl] return something x number of times

Subject: RE: [xsl] return something x number of times
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 15 Sep 2005 23:06:24 +0100
> In XSLT 2.0 (in XMLSpy) this markup:
> <xsl:variable name="indent_4" select="for $a in 1 to 4 return 'x'"/>
> 
> Returns 'x x x x'.
> 
> Why the whitespace?
> 

Assuming XMLSpy is implementing the spec correctly, $indent_4 is a sequence
of 4 strings, not a string of 7 characters as you suggest. It comes out as a
string of 7 characters when you output it using xsl:value-of, because
xsl:value-of by default inserts spaces as separators between the strings in
a sequence. If you want the characters concatenated without spaces, use
<xsl:value-of select="$indent_4" separator=""/>, or use
string-join($indent_4, "").

Michael Kay
http://www.saxonica.com/

Current Thread