Hi Todd,
I changed your xml a bit because the element key gets a little
confusing when using the key function. But at a glance running:
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="mykey" match="ukey" use="."/>
<xsl:template match="/">
<root>
<xsl:apply-templates/>
</root>
</xsl:template>
<xsl:template match="ukey">
<xsl:if test="count(key('mykey', .)) > 1">
<xsl:value-of select="."/> has duplicates<xsl:text>
</xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
against:
<?xml version="1.0"?>
<dict>
<ukey>Key1</ukey>
<value/>
<ukey>Key2</ukey>
<value/>
<ukey>Key3</ukey>
<value/>
<ukey>Key1</ukey>
<value/>
</dict>
gives:
<?xml version='1.0' ?>
<root>
Key1 has duplicates
Key1 has duplicates
</root>
Hope that's close to what you're looking for
Spencer
On 7/19/06, Todd Ditchendorf <itod(_at_)apple(_dot_)com> wrote:
I need some help constructing an XPath to detect nodes containing
duplicate string-values. I am currently restricted to XPath 1.0
syntax , so no access to distinct-values() or exslt unfortunately.
I have a document like this:
<dict>
<key>Key1</key>
<value/>
<key>Key2</key>
<value/>
<key>Key3</key>
<value/>
<key>Key1</key>
<value/>
</dict>
How do I create an XPath 1.0 expression to detect the <key> elements
with duplicate string-values?
Thanks!
Todd Ditchendorf
Software Engineer
itod(_at_)apple(_dot_)com
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--