[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: Ihe Onwuka <ihe.onwuka@xxxxxxxxx>
Date: Fri, 31 Jan 2014 01:03:44 +0000

I illustrated with a cut down version of the input. When I ran with
that I too only got allison-benedikt.

So now that I have a bit more faith in what I programmed, there are
more records.

The data is supposed to be in alphabetical order ... it looks like it
is ..... but it actually is not because when I search the rest of the
input there is another record for Mr/Ms Das in it.

So the code is correct.... I was deceived by the data not being in
sequence when I thought it was.

Thank you all.

On Fri, Jan 31, 2014 at 12:38 AM, Dimitre Novatchev
<dnovatchev@xxxxxxxxx> wrote:
> 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