Re: [xsl] Testing for a specific word in a string

Subject: Re: [xsl] Testing for a specific word in a string
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Wed, 5 Mar 2008 12:22:48 +0000
On 05/03/2008, Aaron Johnson <artpunx@xxxxxxxxx> wrote:
> Hi...
>
>  I have a set of tests which assign various parameters. Sometimes the
>  string values are similar and require the same variable to be used.
>
>  <xsl:when test="($tabName = 'Pilot')">pilotTab</xsl:when>
>  <xsl:when test="($tabName = 'Pilot 2')">pilotTab</xsl:when>
>  <xsl:when test="($tabName = 'Pilot 3')">pilotTab</xsl:when>
>
>  Instead of replicating the test over and over, I would like to extend
>  the test to check for the word 'pilot' and so do away with repetition.
>  I have tried various ways including 'contains' and 'begins-with' but I
>  can't get it to work. I also looked at using subString but this seems
>  to always require two values....which might work for 'Pilot,*' but not
>  for 'Pilot'.

contains($tabName, 'Pilot')

....should work fine - you don't mention why that doesn't work for you?

You might prefer:

'Pilot' = tokenize($tabName, ' ')

if you want match 'Pilot' as a word (and are using 2.0)

-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

Current Thread