Subject: Re: Keys with duplicates should be simple
From: "Imsieke, Gerrit, le-tex" <gerrit.imsieke@xxxxxxxxx>
Date: Fri, 31 Jan 2014 01:46:06 +0100
|
When I run this (with my own implementation of identity.xsl, with
Saxon-EE 9.5.1.3 invoked from the oXygen 15.2 debugger), I get:
<duplicate>
<a href="/person/allison-benedikt/"/>
<a href="/person/allison-benedikt/"/>
</duplicate>
So there are no other records than the duplicates.
In order to just have a single line per duplicate group, I donbt see a
straightforward solution that uses the key.
And if you're using for-each-group anyway, you can do without the keys:
<xsl:for-each-group select="a" group-by="@href">
<xsl:if test="count(current-group()) gt 1">
<xsl:apply-templates select="."/>
</xsl:if>
</xsl:for-each-group>
Gerrit
On 31.01.2014 01:19, Ihe Onwuka wrote:
Wanting all <a> elements that have more than one hyperlink to the same person.
<xsl:import href="identity.xsl"/>
<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>
Problem. I get all the duplicates (I think) but I also get things that
are not duplicates for example from this subset the first person I
should get is allison-benedikt but I get her and (before her)
abhimanyu-das. This phenomenon repeats later in the dataset.
<person >
<a href="/person/aa-dowd/"/>
<a href="/person/ao-scott/"/>
<a href="/person/aaron-hillis/"/>
<a href="/person/abhimanyu-das/"/>
<a href="/person/adam-markovitz/"/>
<a href="/person/adam-smith/"/>
<a href="/person/addison-macdonald/"/>
<a href="/person/aisha-harris/"/>
<a href="/person/akiva-gottlieb/"/>
<a href="/person/alan-morrison/"/>
<a href="/person/alan-scherstuhl/"/>
<a href="/person/alison-willmore/"/>
<a href="/person/allison-benedikt/"/>
<a href="/person/allison-benedikt/"/>
</person>
--
Gerrit Imsieke
GeschC$ftsfC<hrer / Managing Director
le-tex publishing services GmbH
Weissenfelser Str. 84, 04229 Leipzig, Germany
Phone +49 341 355356 110, Fax +49 341 355356 510
gerrit.imsieke@xxxxxxxxx, http://www.le-tex.de
Registergericht / Commercial Register: Amtsgericht Leipzig
Registernummer / Registration Number: HRB 24930
GeschC$ftsfC<hrer: Gerrit Imsieke, Svea Jelonek,
Thomas Schmidt, Dr. Reinhard VC6ckler
|