Re: [xsl] Unique Attribute value

Subject: Re: [xsl] Unique Attribute value
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Thu, 01 Jul 2010 09:01:43 +0100
On 01/07/2010 08:13, pankaj.c@xxxxxxxxxxxxxxxxxx wrote:
Hello all,

Is there a way to check whether an element's attribute has unique value in
xml structure and is not repeating.

For instance, in below sample xml "p1" is repeating twice and any good
parser will throw an error for it, though I would like it to check it with
XSLT itself. Weird, I know. I am just trying to figure out the best
possible way to get this done.

My actual requirement is little bit more complex but thought of starting
asking with this.


<?xml version="1.0"?> <root> <x id="p1">xxx</x> <x id="p2">yyy</x> <b> <x id="p3">zzz</x> <x id="p1">AAA</x> </b> </root>


<xsl:variable name="duplicates" as="xs:string*">
<xsl:for-each-group select="//@id" group-by=".">
<xsl:sequence select="current-group()[2]"/>
</xsl:for-each-group>
</xsl:variable>

Michael Kay
Saxonica Limited

Current Thread