xsl-list
[Top] [All Lists]

Re: [xsl] Keys with duplicates should be simple

2014-01-30 19:03:59
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(_at_)gmail(_dot_)com> wrote:
On Thu, Jan 30, 2014 at 4:19 PM, Ihe Onwuka 
<ihe(_dot_)onwuka(_at_)gmail(_dot_)com> 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.

--~------------------------------------------------------------------
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>
--~--