[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Keys with duplicates should be simple


Subject: Re: [xsl] Keys with duplicates should be simple
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Thu, 30 Jan 2014 16:38:49 -0800

On Thu, Jan 30, 2014 at 4:19 PM, Ihe Onwuka <ihe.onwuka@xxxxxxxxx> wrote:
> <xsl:key name="person" match="a" use="@href"/>
>
>   <xsl:template match="person">
>     <duplicate>
>       <xsl:apply-templates select="a[key('person',@href)[2]]"/>
>     </duplicate>
>   </xsl:template>



 Your XSLT processor must be broken.

With XslCompiledTransform (.NET), MSXML 3, MSXML 4, AltovaXML

and this transformation (because you didn't provide the templates that
are selected by the <xsl:apply-templates>):

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:template match="node()|@*">
   <xsl:copy>
     <xsl:apply-templates select="node()|@*"/>
   </xsl:copy>
 </xsl:template>

<xsl:key name="person" match="a" use="@href"/>
   <xsl:template match="person">
     <duplicate>
       <xsl:copy-of select="a[key('person',@href)[2]]"/>
     </duplicate>
   </xsl:template>
</xsl:stylesheet>

I get the same result:

<duplicate>
 <a href="/person/allison-benedikt/"/>
 <a href="/person/allison-benedikt/"/>
</duplicate>


-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
To achieve the impossible dream, try going to sleep.
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
Typing monkeys will write all Shakespeare's works in 200yrs.Will they
write all patents, too? :)
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.


Current Thread
Keywords