This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: find Unique Nodes based on 2 Attributes
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] find Unique Nodes based on 2 Attributes
- From: "Damian Mcbride" <damian dot mcbride at anam dot com>
- Date: Mon, 22 Oct 2001 14:48:29 +0100
- Reply-To: xsl-list at lists dot mulberrytech dot com
I assume you mean a command like this....
<xsl:apply-templates select="Subscriber[not
(@alertmethod=following::Subscriber/@alertmethod and
@language=following::Subscriber/@language) ]"/>
This works as expected for the original source, but when I add two more
elements I find problems.
<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"/>
<Subscriber phonenumber="009" language="de" alertmethod="NokiaSmart"/>
<Subscriber phonenumber="010" language="en" alertmethod="SMS"/>
</Alert>
Expected 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"/>
Acutal 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"/>
This node is now missing from the result
<Subscriber phonenumber="008" language="de" alertmethod="SMS"/>
Thanks in advance
Damian
-----Original Message-----
From: owner-xsl-list@lists.mulberrytech.com
[mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of cutlass
Sent: 22 October 2001 14:00
To: xsl-list@lists.mulberrytech.com
Subject: Re: [xsl] find Unique Nodes based on 2 Attributes
why not use an 'and' to connect 2 tests together ?
cheers, jim fuller
----- Original Message -----
From: "Damian Mcbride" <damian.mcbride@anam.com>
To: <XSL-List@lists.mulberrytech.com>
Sent: Monday, October 22, 2001 1:56 PM
Subject: [xsl] find Unique Nodes based on 2 Attributes
> 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
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list