Re: [xsl] Addressing siblings

Subject: Re: [xsl] Addressing siblings
From: "Joris Gillis" <roac@xxxxxxxxxx>
Date: Wed, 09 Feb 2005 10:51:33 +0100
Tempore 10:28:05, die 02/09/2005 AD, hinc in xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit <David.McKay@xxxxxxxxxxxxxxxxxxxxxxxxxxx>:

<?xml version="1.0" encoding="UTF-8"?>
   <Man name="Bob" wife="Alice" birth="1960-08-15"/>
   <Woman name="Alice" birth="1955-10-26"/>

To cut a long story short, I have an xsl template which scopes Woman, and I want to set a variable to be that Woman's husband (ie the Man for whom the Woman is the wife). I've come up with the following method:

Is there a more compact way (especially since I would want to access the birth attribute too)? I thought something along the lines of the following might work, but I couldn't figure out how.

'xsl:key' was made for this:

Try this:

<xsl:stylesheet xmlns:xsl=""; version="1.0">

<xsl:key name="husband" match="Man" use="@wife"/>

<xsl:template match="Woman">
	 <xsl:value-of select="key('husband',@name)/@birth"/>


(will return the husband's birthday)

regards, -- Joris Gillis ( Fiat W3C in tenebris

Current Thread