Re: [xsl] stripping leading and trailing blanks of a value?

Subject: Re: [xsl] stripping leading and trailing blanks of a value?
From: Andrew Welch <andrew.j.welch@xxxxxxxxx>
Date: Tue, 9 Mar 2010 17:13:07 +0000
On 9 March 2010 17:05, Ben Stover <bxstover@xxxxxxxxxxx> wrote:
> Assume I have a XML doc where occasionally values appear with leading and trailing blanks similar to
>
> <aaa>
> <bbb>
> '3 blanks'somevalue'4 blanks'
> </bbb>
> </aaa>
>
> Because blanks are probably removed by the mailing list system I put 'n blanks' in the code above.
> In reality real blanks are meant.
>
> So how can I strip all such leading and trailing blanks (nad line breaks) with XSLT?
>
> The stripping should applied only to "atomic" values. That means that blanks between e.g.
> <aaa> and <bbb> should be kept. So the result should look like
>
> <aaa>
> <bbb>somevalue</bbb>
> </aaa>

normalize-space() will do that, but it will also compact multiple
spaces down to a single space within the text.... your example doesn't
cover that, so if its an issue post back.

> Moreover how can I strip all "atomic" blanks in a whole XML doc and not only from a particular tag value?

Add a template that matches "text()" and do normalize-space() in that,
ensuring that you also use xsl:apply-templates everywhere instead of
xsl:value-of (which is good practice anyway, for situations just like
this)


-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

Current Thread