RE: [xsl] apply templates which have a child node containing specific text

Subject: RE: [xsl] apply templates which have a child node containing specific text
From: cknell@xxxxxxxxxx
Date: Wed, 01 Oct 2003 10:52:50 -0400
Won't this do what you want?
<xsl:template match="res/entrydata/text[text()='main title']">
<!-- Your stuff here -->
</xsl:template>
-- 
Charles Knell
cknell@xxxxxxxxxx - email



-----Original Message-----
From:     "james walker" <jameswalkerandy@xxxxxxxxxxx>
Sent:     Wed, 01 Oct 2003 15:31:42 +0100
To:       xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:  [xsl] apply templates which have a child node containing specific text

Given this xml:
<t>
   <res position="1">
      <entrydata columnnumber="0">
         <text>main title</text>
      </entrydata>
      <rol position="1.1">
         <entrydata columnnumber="1">
            <text>some more text here</text>
         </entrydata>
         <prod position="1.1.1">
            <entrydata columnnumber="2">
               <text>text here</text>
            </entrydata>
            <entrydata columnnumber="3">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="4">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="5">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="6">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="7">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="8">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="9">
               <text/>
            </entrydata>
         </prod>
         <prod position="1.1.2">
            <entrydata columnnumber="2">
               <text>text here</text>
            </entrydata>
            <entrydata columnnumber="3">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="4">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="5">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="6">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="7">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="8">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="9">
               <text/>
            </entrydata>
         </prod>
      </rol>
   </res>
   <res position="2">
      <entrydata columnnumber="0">
         <text>some more text here</text>
      </entrydata>
      <rol position="2.1">
         <entrydata columnnumber="1">
            <text>some more text here</text>
         </entrydata>
         <prod position="2.1.1">
            <entrydata columnnumber="2">
               <text>text here</text>
            </entrydata>
            <entrydata columnnumber="3">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="4">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="5">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="6">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="7">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="8">
               <text>more text here</text>
            </entrydata>
            <entrydata columnnumber="9">
               <text/>
            </entrydata>
         </prod>
      </rol>
   </res>
</t>


I would like to select (apply templates) those <res> elements which have 
<text> tag (1 level down from <entrydata columnnumber="0">) containing a 
specific string. I am not sure how to go about selecting 2 children down 
from the res element as a predicate (which would go in the select statement 
of apply-templates).

e.g. I would like to select a <res> element which has a <text> element 
containing "main title" in it. The example above includes this string in one 
of the res tags.

_________________________________________________________________
Tired of 56k? Get a FREE BT Broadband connection 
http://www.msn.co.uk/specials/btbroadband


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




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


Current Thread