[xsl] find Unique Nodes based on 2 Attributes

Subject: [xsl] find Unique Nodes based on 2 Attributes
From: "Damian Mcbride" <damian.mcbride@xxxxxxxx>
Date: Mon, 22 Oct 2001 13:56:39 +0100
I can select a unique node when it is based on one attribute value, but when
I try to do this with two attribute values I run in to trouble.

Example XML

<Alert>
	<Subscriber phonenumber="001" language="fr" alertmethod="SMS"/>
	<Subscriber phonenumber="002" language="en" alertmethod="SMS"/>
	<Subscriber phonenumber="003" language="en" alertmethod="SMS"/>
	<Subscriber phonenumber="004" language="de" alertmethod="email"/>
	<Subscriber phonenumber="005" language="It" alertmethod="NokiaSmart"/>
	<Subscriber phonenumber="006" language="It" alertmethod="NokiaSmart"/>
	<Subscriber phonenumber="007" language="de" alertmethod="NokiaSmart"/>
	<Subscriber phonenumber="008" language="de" alertmethod="SMS"/>
</Alert>


XSL command
<xsl:apply-templates select="Subscriber[not
(@language=following::Subscriber/@language)]"/>

The effect of this command is to select the following nodes
	<Subscriber phonenumber="001" language="fr" alertmethod="SMS"/>
	<Subscriber phonenumber="003" language="en" alertmethod="SMS"/>
	<Subscriber phonenumber="006" language="It" alertmethod="NokiaSmart"/>
	<Subscriber phonenumber="008" language="de" alertmethod="SMS"/>



I'd like to be able to select unique nodes based on both the language and
alertmethod attributes.

Does anyone have any idea how you might change this command to allow it
select a unique node based on both language and alertmethod attributes.


I would expect this result
	<Subscriber phonenumber="001" language="fr" alertmethod="SMS"/>
	<Subscriber phonenumber="003" language="en" alertmethod="SMS"/>
	<Subscriber phonenumber="004" language="de" alertmethod="email"/>
	<Subscriber phonenumber="006" language="It" alertmethod="NokiaSmart"/>
	<Subscriber phonenumber="007" language="de" alertmethod="NokiaSmart"/>
	<Subscriber phonenumber="008" language="de" alertmethod="SMS"/>





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


Current Thread