...
With XSLT 1.0, the solution will be a bit lengthier. for e.g., you can
used a named template to tokenize the string recursively, and get the
result.
It does not need to be lengthier if your XSLT 1.0 processor supports
regexp:replace() EXSLT function -- DataPower processor does.
And it should be more efficient than recursive stylesheet calls.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:regexp="http://exslt.org/regular-expressions"
<xsl:output method="xml" />
<xsl:template match="/">
<xsl:variable name="fname" select="regexp:replace
(.,' [^ ]*$','g','')" />
<xsl:variable name="lname" select="substring-after(.,concat($fname,'
'))" />
<xsl:value-of select="$fname" />#<xsl:value-of select="$lname" />
</xsl:template>
</xsl:stylesheet>
Mit besten Grüßen / Best wishes,
Hermann Stamm-Wilbrandt
Developer, XML Compiler
WebSphere DataPower SOA Appliances
----------------------------------------------------------------------
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschäftsführung: Erich Baier
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
----- Forwarded by Hermann Stamm-Wilbrandt/Germany/IBM on 03/28/2009 01:46
PM -----
Mukul Gandhi
<gandhi(_dot_)mukul(_at_)gma
il.com> To
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
03/28/2009 12:38 cc
PM
Subject
Re: [xsl] substring after/substring
Please respond to before
xsl-list(_at_)lists(_dot_)mu
lberrytech.com
With XSLT 2.0 this can done as following:
<xsl:variable name="str" select="'A. B. C. Surname'" />
<xsl:variable name="tokenList" select="tokenize($str, '\s+')" />
<xsl:variable name="fname" select="string-join($tokenList[position()
< last()], ' ')" />
<xsl:variable name="lname" select="$tokenList[last()]" />
<fnm><xsl:value-of select="$fname" /></fnm>
<snm><xsl:value-of select="$lname" /></snm>
With XSLT 1.0, the solution will be a bit lengthier. for e.g., you can
used a named template to tokenize the string recursively, and get the
result.
On Sat, Mar 28, 2009 at 2:06 PM, Joga Singh Rawat
<jrawat(_at_)aptaracorp(_dot_)com>
wrote:
Hi List,
Can I spilit a string into two parts by last space as substring-before(.,
'
'[last()]) is not getting accurate result.
Input :
A. B. C. Surname
Output:
<fnm>A.</fnm>
<snm>B. C. Surname</snm>
Required output
Output:
<fnm>A. B. C.</fnm>
<snm>Surname</snm>
Anybody have any clue???
Thanks
...JSR
--
Regards,
Mukul Gandhi
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--