Subject: Fw: [xsl] substring after/substring before From: Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx> Date: Sat, 28 Mar 2009 13:51:46 +0100 |
> ... > 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 Geschdftsf|hrung: Erich Baier Sitz der Gesellschaft: Bvblingen Registergericht: Amtsgericht Stuttgart, HRB 243294 ----- Forwarded by Hermann Stamm-Wilbrandt/Germany/IBM on 03/28/2009 01:46 PM ----- Mukul Gandhi <gandhi.mukul@gma il.com> To xsl-list@xxxxxxxxxxxxxxxxxxxxxx 03/28/2009 12:38 cc PM Subject Re: [xsl] substring after/substring Please respond to before xsl-list@xxxxxxxx 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@xxxxxxxxxxxxxx> 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] substring after/substring, Michael Kay | Thread | [xsl] Chuck does XSLT, Robert Koberg |
Re: [xsl] substring after/substring, Mukul Gandhi | Date | RE: [xsl] substring after/substring, Michael Kay |
Month |