xsl-list
[Top] [All Lists]

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

2007-08-03 04:40:19
Thank you!  It works!

-----Original Message-----
From: Mukul Gandhi [mailto:gandhi(_dot_)mukul(_at_)gmail(_dot_)com] 
Sent: Thursday, August 02, 2007 11:47 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] using contains() to search xml doc and matching
regardless of case


Please try this:

<xsl:variable name="smallCase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="upperCase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />

<xsl:if test="contains(translate(PUBLICDESCRIPTION_STRING, $smallCase,
$upperCase), translate($filter, $smallCase, $upperCase))">

On 8/3/07, Jessica Hennessey <jessica(_at_)sunlightstudios-icd(_dot_)com> wrote:
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


-- 
Regards,
Mukul Gandhi

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

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