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"?>
<People>
   <Man name="Bob" wife="Alice" birth="1960-08-15"/>
   <Woman name="Alice" birth="1955-10-26"/>
</People>


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.
Hi,

'xsl:key' was made for this:

Try this:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">

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

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

</xsl:stylesheet>

(will return the husband's birthday)


regards, -- Joris Gillis (http://www.ticalc.org/cgi-bin/acct-view.cgi?userid=38041) Fiat W3C in tenebris

Current Thread