|
Subject: RE: [xsl] xslt 1.1 - one liner From: "Hasnain Panjwani" <niansah@xxxxxxxxx> Date: Thu, 5 Jul 2007 21:51:57 +0200 |
Given below, what I want to do is to chop off the spaces on the left, but
keep the line breaks. The one liner does exactly that - never claimed it was
a replacement of trim()!
One problem though - it leaves one space character in the beginning...
So this...
<someText>
This is some text to check
1) if it does what I want to do
2) Paris is in germany
3) Soccer is a fancy name for ping-pong
I want to remove the 21 white space character from each
line
I want to keep the line breaks, so the format is
maintained.
</someText>
With this xslt:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="*" />
<xsl:output method="text"/>
<xsl:variable name="vText" select="string(/)"/>
<xsl:template match="/">
<xsl:value-of
select="translate(normalize-space(translate($vText,' ','~')),'~',' '
)" />
</xsl:template>
</xsl:stylesheet>
Will give:
This is some text to check
1) if it does what I want to do
2) Paris is in germany
3) Soccer is a fancy name for ping-pong
I want to remove the 21 white space character from each line
I want to keep the line breaks, so the format is maintained.
---------------------------------
-----Original Message-----
From: Dimitre Novatchev [mailto:dnovatchev@xxxxxxxxx]
Sent: Thursday, July 05, 2007 5:51 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] xslt 1.1 - one liner
> <xsl:value-of select="translate(normalize-space(translate($text,'
> ','~')),'~',' ')" />
The above code does not implement trim() !
For example, when this transformation:
<xsl:stylesheet version="1.1"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:variable name="vText" select="string(/)"/>
<xsl:template match="/">
"<xsl:value-of
select="translate(normalize-space(translate($vText,'
','~')),'~',' ')" />"
</xsl:template>
</xsl:stylesheet>
is applied against this xml document:
<someText>
This is some text
</someText>
the result is:
" This is some text "
The function f:trim()
(See:
http://fxsl.cvs.sourceforge.net/fxsl/fxsl-xslt2/Tests/testFunc-Trim.xsl?view
=markup)
returns:
'This is some text'
--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.0/886 - Release Date: 4/7/2007
1:40 PM
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.0/886 - Release Date: 4/7/2007
1:40 PM
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] xslt 1.1 - one liner, Dimitre Novatchev | Thread | RE: [xsl] xslt 1.1 - one liner, Michael Kay |
| RE: RE: [xsl] Help quoting sequence, cknell | Date | Re: [xsl] Removing an XML Attribute, Tony Graham |
| Month |