xsl-list
[Top] [All Lists]

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

2003-10-01 08:06:25
select="res[entrydata/text='main title']"

Michael Kay

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
james walker
Sent: 01 October 2003 15:32
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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



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