xsl-list
[Top] [All Lists]

RE: Matching on of many string literal values using XPath

2002-09-13 06:53:16
On Fri, 2002-09-13 at 03:38, 
TSchutzerWeissmann(_at_)uk(_dot_)imshealth(_dot_)com wrote:

you could make a variable that concatenates all the different 
values you'd like to test for and use contains() to do the 
test.
ie 
      <xsl:variable name="raceList">
              <xsl:text>white|black|asian|hispanic</text>
      </xsl:variable>

      and 

      <xsl:template match="client/race[contains($raceList,.)]
               |
      agencies/race_served[contains($raceList,.)]">

I could but that will not behave exactly like I would like for every
possible input.  I can get the exact results I desire with a pair of
for-each loops and a variable containing a node set, but I was hoping
for something "clean".  It looks like nearly the exact same question was
asked here:

http://www.biglist.com/cgi-bin/wilma/wilma_hiliter/xsl-list/200006/msg00561.html

And Micheal Kay answered with a reference to his book:

http://www.biglist.com/cgi-bin/wilma/wilma_hiliter/xsl-list/200006/msg00569.html

My copy of the book is the second edition as where I believe by the date
of the message he was referring to the first.  Anyone know where I can
find said example in the new edition or know of a more elegant solution
then using contains() on a concatenated list or the brute force for-each
method?


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>