Did you try this?
<xsl:for-each select="ancestor::foo">

Thanks,
Srini
www.srinivasaperumal.com


On Mon, Jul 28, 2008 at 9:54 AM, Sajan Franco <[EMAIL PROTECTED]>wrote:

> Try this url it is good to begin with
> http://www.w3schools.com/xsl/xsl_templates.asp;
>
> *The disadvantage is it scans to the entire document always if we use
> match = "/"*
> The <xsl:template> Element
>
> The <xsl:template> element is used to build templates.
>
> The *match* attribute is used to associate a template with an XML element.
> The match attribute can also be used to define a template for the entire XML
> document. The value of the match attribute is an XPath expression (i.e.
> match="/" defines the whole document).
>
> Ok, let's look at a simplified version of the XSL file from the previous
> chapter:
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>
> <xsl:template match="/">
>  <html>
>  <body>
>    <h2>My CD Collection</h2>
>    <table border="1">
>      <tr bgcolor="#9acd32">
>
>        <th>Title</th>
>        <th>Artist</th>
>      </tr>
>      <tr>
>        <td>.</td>
>        <td>.</td>
>      </tr>
>    </table>
>
>  </body>
>  </html>
> </xsl:template>
>
> </xsl:stylesheet>
>
>   Since an XSL style sheet is an XML document itself, it always begins
> with the XML declaration: *<?xml version="1.0" encoding="ISO-8859-1"?>*.
>
> The next element, *<xsl:stylesheet>*,* *defines that this document is an
> XSLT style sheet document (along with the version number and XSLT namespace
> attributes).
>
> The *<xsl:template>* element defines a template. The * match="/"*attribute 
> associates the template with the root of the XML source document.
>
> The content inside the <xsl:template> element defines some HTML to write to
> the output.
>
> The last two lines define the end of the template and the end of the style
> sheet.
>
> The result of the transformation above will look like this:
> My CD Collection  Title Artist  . .
>
> <http://www.w3schools.com/xsl/cdcatalog.xml>
> <http://www.w3schools.com/xsl/cdcatalog_with_ex1.xml>
> Sajan Franco
>
> 2008/7/28 Matthew Holloway <[EMAIL PROTECTED]>
>
> Hi Grant,
>>
>> On Mon, Jul 28, 2008 at 3:48 PM, Focas, Grant
>> <[EMAIL PROTECTED]> wrote:
>> > Is there a way in XSLT to loop through the ancestors until I find
>> > the first instance of a node called "foo"?
>> >
>> > For context what I'm trying to do is see if a "bookmark" is in the same
>> > "section" as the link/@href (and to find this out when I'm processing
>> > the link).
>>
>> First I've just got a few questions... you've got nested section tags
>> so what if the bookmark was in the parent section? Is that the same as
>> if it's in a following section? (if not then can you give a few more
>> XML file examples).
>>
>> If the first ancestor section is all that matters then an approach
>> would be to compare the generate-id()s of an ancestor section of the
>> link to the ancestor section of the bookmark. So you'd do something
>> like (from memory, untested code)
>>
>> <xsl:key name="bookmarkById" match="bookmark" use="@id"/>
>>
>> <xsl:template match="link">
>>  <xsl:choose>
>>   <xsl:when test="generate-id(ancestor::section[1]) =
>> generate-id(key('bookmarkById', substring(@href,
>> 1)[1]/ancestor::section[1])">it's the same section</xsl:when>
>>   <xsl:otherwise>it's not the same section</xsl:otherwise>
>>  </xsl:choose>
>> </xsl:template>
>>
>>
>>
>> .Matthew Holloway
>> http://holloway.co.nz/
>>
>>
>> *******************************************************************
>> List Guidelines: http://webstandardsgroup.org/mail/guidelines.cfm
>> Unsubscribe: http://webstandardsgroup.org/join/unsubscribe.cfm
>> Help: [EMAIL PROTECTED]
>> *******************************************************************
>>
>>
>
> *******************************************************************
> List Guidelines: http://webstandardsgroup.org/mail/guidelines.cfm
> Unsubscribe: http://webstandardsgroup.org/join/unsubscribe.cfm
> Help: [EMAIL PROTECTED]
> *******************************************************************
>



-- 
Thanks & Regards,

Srinivas


*******************************************************************
List Guidelines: http://webstandardsgroup.org/mail/guidelines.cfm
Unsubscribe: http://webstandardsgroup.org/join/unsubscribe.cfm
Help: [EMAIL PROTECTED]
*******************************************************************

Reply via email to