Re: [xsl] Recursive function problem

Subject: Re: [xsl] Recursive function problem
From: Nic Gibson <nicg@xxxxxxxxxx>
Date: Wed, 30 Jun 2010 10:06:54 +0000
On Wed, Jun 30, 2010 at 11:00:00AM +0100, David Carlisle wrote:
> <xsl:template match="nameGrp">
> <xsl:variable name="nameattrs" select="@foreNames,@mainName"/>
> <name>
>  <xsl:analyze-string select="."
>   regex="({string-join($nameattrs,')|(')})">
> <xsl:matching-substring>
>  <xsl:element name="{
> if(regex-group(1)=.) then 'fname'
> else 'sname'
> }"><xsl:value-of select="."/></xsl:element>
> </xsl:matching-substring>
> <xsl:non-matching-substring>
> <xsl:value-of select="."/>
> </xsl:non-matching-substring>
>  </xsl:analyze-string>
> </name>
> </xsl:template>
> </xsl:stylesheet>

Yes, that works fine as long as I want to write a template for each 
of the seven elements that I want do this with and handle the fact that
some of them have 8 attributes that need to be modified. Additionally,
I don't know in advance if (in a very contrived example) the name
is going to be something like "Alexander Smith, Alexander Jnr".


> ________________________________________________________________________
> The Numerical Algorithms Group Ltd is a company registered in England
> and Wales with company number 1249803. The registered office is:
> Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
> This e-mail has been scanned for all viruses by Star. The service is
> powered by MessageLabs. ________________________________________________________________________

Current Thread