[xsl] using contains() to search xml doc and matching regardless of case

Subject: [xsl] using contains() to search xml doc and matching regardless of case
From: "Jessica Hennessey" <jessica@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 2 Aug 2007 23:14:40 -0400
I am trying to filter my xml document to only output records based on a
search string.  I have the basic search functionality working using the
xsl:if and the contains() function.  Unfortunately for me, this is searching
for an exact match including case.  I need it to be case insensitive.

My initial thought was to make everything in my search field lowercase and
force my incoming parameter to be lowercase.  However, I couldn't seem to do
that from within the contains function.  The publicdescription field is not
displayed on this page, so I can do anything I want to it.

Here is my xsl

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:param name="order"/>
<xsl:param name="orderdirection"/>
<xsl:param name="filter"/>

<xsl:template match="/">


      <xsl:for-each select="root/job">
	  <xsl:sort select="*[name()=$order]" order="{$orderdirection}"/>
	  <xsl:if test="contains(PUBLICDESCRIPTION_STRING, $filter)">
      <tr>
        <td><a>
   <xsl:attribute name="href">jobdetail.asp?jobid=<xsl:value-of
select="JOBPOSTINGID_INT"/></xsl:attribute>
   <xsl:value-of select="TITLE_STRING" /></a></td>
		<td><xsl:value-of select="CITY_STRING"/>, <xsl:value-of
select="STATE_STRING"/></td>
        <td><xsl:value-of select="EMPLOYMENTTYPE_STRING"/></td>
      </tr>
	  </xsl:if>
      </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Thanks to everyone who got me this far!!!I think this is the last obstacle.




Jessica Hennessey
Sunlight Studios - Internet Consulting & Development
www.sunlightstudios-icd.com

Current Thread