I would use string-join for this:
<xsl:sequence select="string-join($headers,$field-separator)"/>
The for-each loop is not needed.
Someone can correct me but I believe in your code the rules for sequence
construction come into play meaning that the string result of a sequence
always includes a space between items, so you're creating a sequence of
("A", "\t", "B"), which becomes "A \t B".
Cheers,
Eliot
----
Eliot Kimber, Owner
Contrext, LLC
http://contrext.com
On 4/8/16, 11:13 AM, "Costello, Roger L. costello@xxxxxxxxx"
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>Hi Folks,
>
>In the below XSLT program I loop over each value in a sequence and
>separate the sequence values by a tab (hex 9) character. When I open the
>output file in a hex editor I see 3 characters separating the sequence
>values: space (hex 20), tab (hex 9), and space (hex 20). Why am I getting
>those space characters? How do I avoid getting them? /Roger
>
><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="2.0">
>
> <xsl:output method="text" />
>
> <xsl:variable name="headers" select="('A', 'B')"/>
> <xsl:variable name="field-separator"
>select="codepoints-to-string(9)"/>
>
> <xsl:template match="/">
> <xsl:for-each select="$headers">
> <xsl:sequence select="." />
> <xsl:sequence select="$field-separator"/>
> </xsl:for-each>
> </xsl:template>
>
></xsl:stylesheet>
| <- Previous | Index | Next -> |
| Re: I output a tab character,, Michael Kay mike@xxx
|
Thread |
Re: I output a tab character,, Costello, Roger L. c
|
| Re: I output a tab character,, Michael Kay mike@xxx
|
Date |
Re: I output a tab character,, Costello, Roger L. c
|
|
Month |
|
|