xsl-list
[Top] [All Lists]

Re: [xsl] More XPath 1.0 Expression help

2006-07-19 14:45:37
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>