Re: [xsl] template match : node-set paring through multiple-axis relationsh ips

Subject: Re: [xsl] template match : node-set paring through multiple-axis relationsh ips
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 4 Jun 2003 16:55:18 +0100
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0"
>


<xsl:template match="/">

<xsl:for-each select="//b">
<xsl:variable name="dst" select="id(/root/c/c1[@role='src'][@target=current()/@id]/../c1[@role='dst']/@target)"/>
<xsl:choose>
<xsl:when test="$dst and count($dst/..|../..)=1">
matched <xsl:value-of select="@id"/> 
<xsl:text/> (uncle is <xsl:value-of select="$dst/@id"/>)<xsl:text/>
</xsl:when>
<xsl:otherwise>
not matched <xsl:value-of select="@id"/> 
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>


</xsl:template>


produces

$ saxon b.xml b.xsl
<?xml version="1.0" encoding="utf-8"?>
not matched _10
matched _11 (uncle is _10)
not matched _12

which is I think what you want.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

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


Current Thread