xsl-list
[Top] [All Lists]

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

2010-03-09 11:14:45
On 9 March 2010 17:05, Ben Stover <bxstover(_at_)yahoo(_dot_)co(_dot_)uk> 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/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--