xsl-list
[Top] [All Lists]

Re: [xsl] I output a tab character, then the output file contains space, tab, space ... why?

2016-04-08 10:21:13
On 08.04.2016 17:13, Costello, Roger L. costello(_at_)mitre(_dot_)org wrote:

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>


As for the reason, see
https://www.w3.org/TR/xslt20/#constructing-complex-content and item 3 saying

Any consecutive sequence of strings within the result sequence is
converted to a single text node, whose string value contains the content
of each of the strings in turn, with a single space (#x20) used as a
separator between successive strings.

---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

<Prev in Thread] Current Thread [Next in Thread>