[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

trouble with contains()

Subject: trouble with contains()
From: Charles Yates <cyates@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 04 Sep 2001 11:30:32 -0700
charles yates
XML:
<root>
 <element>
   <subelement>booga</subelement>
   <subelement>foobar</subelement>
 </element>
 <element>
   <subelement>more text</subelement>
   <subelement>even more text</subelement>
 </element>
</root>

desired output:
A document with all the <elements> that have a
particular substring in a <subelement>.

What works:
<xsl:template match="/root">
 <xsl:copy>
   <xsl:for-each select="element[contains(subelement,'boo')]">
     <xsl:copy-of select="."/>
   </xsl:for-each>
 </xsl:copy>
</xsl:template>

Also works:
<xsl:for-each select="element[subelement = 'foobar']">

What doesn't:
<xsl:for-each select="element[contains(subelement,'foo')]">

Problem:
    My XPath with contains() is only checking the first
<subelement> it encounters.  I am getting around this
at the moment by doing a <xsl:for-each select="subelement">
and building a string variable with all of them and then
checking that with contains().  This is a pain though because
in my actual application the stylesheet is dynamically generated
and needs to be able to check a fairly complex document for
multiple different strings in different elements.  It would
be great if I could do this with a single XPath expression.

Thanks for any suggestions, Charles


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



Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.