The template you wrote always returns the value for the child of the
first <nameloc>.
No, it returns the string value of (all) the nmlist child(ren) of the
nameloc which has the id specified in the linkend attribute of the
current HYPERTEXT.
I need to interrogate each <nameloc> id value to find the one that
matches @linkend for the current <HYPERTEXT>.
That's what the code I posted did, using a key lookup.
On the xml you posted the template I showed produces this:
<?xml version="1.0" encoding="UTF-8"?><step><link item="item1"/></step>
which appears to be what you asked for (except that it is well formed)
your requested result had an unclosed link element.
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:apply-templates select="document/STEP"/>
</xsl:template>
<xsl:template match="STEP">
<step><xsl:apply-templates/></step>
</xsl:template>
<xsl:key name="id" match="nameloc" use="@id"/>
<xsl:template match="HYPERTEXT">
<link item="{key('id',@linkend)/nmlist}"/>
</xsl:template>
</xsl:stylesheet>
David
________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________
--~------------------------------------------------------------------
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>
--~--