Re: AW: [xsl] select 1st occurence of element tag name

Subject: Re: AW: [xsl] select 1st occurence of element tag name
From: "J.Pietschmann" <j3322ptm@xxxxxxxx>
Date: Sun, 15 Feb 2004 17:53:33 +0100
Nikolas Nehmer wrote:
Thanks a lot but this version doesn't work as well. The output it
produces is:
<table xmlns="http://www.w3.org/1999/xhtml";>
	<tr>
		<th>Person</th>
	</tr>
</table>

So it seams to pick the top level elements not the second level
elements. But when I try to use /*/* in the match attribute it doesn't
help. Any suggestions?

You have to use the same context in both the key and the key retrieval: <xsl:key name="elements-by-name" match="/*/*" use="name(.)" /> <xsl:template match="/*"> <xsl:variable name="unique-elements" select="*[generate-id()= generate-id(key('elements-by-name',name(.)))]"/> ... <html> <table> <tr> <xsl:apply-templates select="$unique-elements" mode="header" /> </tr> ... </table> </html> </xsl:template>

Wouldn't you think it's a good idea to read the URLs I posted? There
is much background information as well as more extensive examples for
how to use these techniques. Understanding why it's supposed to work
will save you a lot of trial-end-error type work.

J.Pietschmann

XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list


Current Thread