Re: [xsl] Question on space normalization in serialization

Subject: Re: [xsl] Question on space normalization in serialization
From: "David Carlisle d.p.carlisle@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 1 Sep 2015 21:37:11 -0000
On 1 September 2015 at 22:16, David Sewell dsewell@xxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> I am probably forgetting something basic in the XSLT specs about how string
> variables are created and evaluated, but I was experimenting with including
> CSS rules within an XSLT stylesheet and then writing them at run time along
> with the output of my transformation via xsl:result-document. I discovered
> that if I put the CSS into a string variable using the @select attribute,
> linefeeds are not preserved in the output; but if I put the CSS text into a
> sequence constructor, the linefeeds are preserved in the output. What's the
> underlying reason, assuming this isn't implementation-dependent? (I'm
> testing with Saxon; XSLT 2 and 3 produce identical results.)
>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>   xmlns:xs="http://www.w3.org/2001/XMLSchema";
>   exclude-result-prefixes="xs"
>   version="2.0">
>   <xsl:variable name="CSS1" as="xs:string" select="'
>     p { color:pink; }
>     a { font-family: fantasy}
>     '"/>
>   <xsl:variable name="CSS2" as="xs:string">
>     p { color:pink; }
>     a { font-family: fantasy}
>   </xsl:variable>
>   <xsl:template name="main">
>     <xsl:result-document href="test1.css" method="text">
>       <xsl:value-of select="$CSS1"/>
>     </xsl:result-document>
>     <xsl:result-document href="test2.css" method="text">
>       <xsl:value-of select="$CSS2"/>
>     </xsl:result-document>
>   </xsl:template>
> </xsl:stylesheet>
>
> --
> David Sewell, Editorial and Technical Manager
> ROTUNDA, The University of Virginia Press
> PO Box 400318, Charlottesville, VA 22904-4314 USA
> Email: dsewell@xxxxxxxxxxxx   Tel: +1 434 924 9973
> Web: http://rotunda.upress.virginia.edu/

Current Thread