Re: [xsl] Interrogating attributes values to get text (part deaux)

Subject: Re: [xsl] Interrogating attributes values to get text (part deaux)
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 20 Mar 2009 13:07:34 GMT
> 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. 
________________________________________________________________________

Current Thread