Re: [xsl] codepoints-to-string for new line

Subject: Re: [xsl] codepoints-to-string for new line
From: Stefan Krause <stf@xxxxxxxx>
Date: Sun, 8 Sep 2013 10:54:35 +0200
A lot of my stylesheets start with entity declarations for cr (&#x0A; and in
some cases &#x0D;&#x0A;) and crt (<xsl:text>&cr;</xsl:text>), so I can write


See for an example [1].

This also works with XSLT 1.0.

Note that &cr; will not work within attributes because of attribute-value
normalization, a step every XML parser has to  pass during parsing of the
stylesheet [2]. A workaround is a $newline variable as described by Liam.




Am 08.09.2013 um 02:12 schrieb Liam R E Quin <liam@xxxxxx>:

> On Sun, 2013-09-08 at 01:04 +0200, Heiko Niemann wrote:
>> b) Are there just no (top-rated) samples around because
>> codepoints-to-string() belongs to an extended set of functions that people
>> (like me) rarely/never use?
> It's part of XSLT 2 [1], which doesn't have as widespread use as XSLT 1.
> Using <xsl:value-of select="codepoints-to-string('10')" /> will indeed
> give you a newline in cases where using an XML editor on your stylesheet
> would turn &#10; into a literal newline which might then be reformatted
> as a space by buggy ill-behaved software you shouldn't use :-) :-)
> The right way for an editor to show indenting of XML documents is
> visually, not by changing the text of the document.
> Probably I'd have a global variable,
> <xsl:variable name="newline" select="codepoints-to-string('10')" />
> and document in a comment why you are using it.
> Then you can use concat("abc", $newline, "cde") to get something much
> more readable.
> Liam
> [1]
> --
> Liam Quin - XML Activity Lead, W3C,
> Pictures from old books:
> Ankh: freenode/#xml

Current Thread