[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] normalize-space() except ...
Subject: Re: [xsl] normalize-space() except ... From: "Terry Badger terry_badger@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 10 Feb 2015 00:52:04 -0000 |
To All, When I don't want normalize-space() in a mixed content text flow I use this function to preserve any leading and trailing space which the normalize-space() would eliminate <!-- ============================================================================= --> <!-- this function is a single parm which is the text value to be cleanup NOT normalized --> <!-- leading and trailing spaces are preserved but runs of white space characters become a single space --> <!-- This means that tab, 0A and 0D should vanish. --> <xsl:functionname="tb:string-cleanup"> <xsl:paramname="string"/> <xsl:variablename="string-to-output"> <xsl:analyze-stringselect="$string"regex="\s+"> <xsl:matching-substring> <xsl:text> </xsl:text> </xsl:matching-substring> <xsl:non-matching-substring> <xsl:value-ofselect="."/> </xsl:non-matching-substring> </xsl:analyze-string> </xsl:variable> <xsl:iftest="$DEBUG-string-cleanup = 'yes' and $string != $string-to-output"> <xsl:message> <xsl:text>STRING CHANGED FROM [</xsl:text> <xsl:copy-ofselect="$string"/> <xsl:text>]
TO [</xsl:text> <xsl:copy-ofselect="$string-to-output"/> <xsl:text>]</xsl:text> </xsl:message> </xsl:if> <xsl:copy-ofselect="$string-to-output"/> </xsl:function> Terry On Monday, February 9, 2015 7:31 PM, "Christopher R. Maden crism@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: On 02/09/2015 06:23 PM, Liam R E Quin liam@xxxxxx wrote: > I'd probably do this in two steps - > (1) match text() and turn one or more whitespace characters into a > space, probably using replace() > (2) strip leading space from the first text() in p, and trailing > space from the last; My algorithm (for which I canbt find code right now, but may rewrite later) is to concatenate the following: 1) If the text node starts with a space, a single space. 2) The results of normalize-space(). 3) If the text node ends with a space, a single space. ~Chris -- Chris Maden, text nerd <URL: http://crism.maden.org/ > Surround hate and force it to surrender. GnuPG fingerprint: DB08 CF6C 2583 7F55 3BE9 A210 4A51 DBAC 5C5C 3D5E
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] normalize-space() except , Christopher R. Maden | Thread | Re: [xsl] normalize-space() except , Syd Bauman s.bauman@ |
Re: [xsl] normalize-space() except , Christopher R. Maden | Date | [xsl] Scope Problems Resulting from, Alex Muir alex@xxxxx |
Month |