xsl-list
[Top] [All Lists]

Re: Addressing siblings

2005-02-09 02:51:33
Tempore 10:28:05, die 02/09/2005 AD, hinc in xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com scripsit <David(_dot_)McKay(_at_)racalinstrumentsgroup(_dot_)co(_dot_)uk>:

<?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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



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