Re: [xsl] duplicate elimination

Subject: Re: [xsl] duplicate elimination
From: "Ihe Onwuka ihe.onwuka@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 1 Nov 2014 18:19:18 -0000
Yes and it works when i use Saxon 9.5 whatever against the XML snippet that
I posted.

Unfortunately for me that is not how the XML manifests, rather it is the
product of some intermediate step and pipelined through a variable.

i.e the XML you saw is actually the content of a variable (call it $line)
which is the subject of an apply-templates as in <xsl:apply-templates
select="$line"/> where $line contains the posted XML.

Now that shouldn't make a difference but duplicates aren't being eliminated
in this scenario.

So the plot thickens.

On Sat, Nov 1, 2014 at 5:56 PM, Martin Honnen martin.honnen@xxxxxx <
xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

> Ihe Onwuka ihe.onwuka@xxxxxxxxx wrote:
>
>>
>>
>> On Sat, Nov 1, 2014 at 5:26 PM, Martin Honnen martin.honnen@xxxxxx
>> <mailto:martin.honnen@xxxxxx> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx
>> <mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>> wrote:
>>
>
>      Use the "=" operator and all preceding sibling line elements:
>>
>>        <xsl:template match="line[title[1] =
>>     preceding-sibling::line/title[__1]]"/>
>>        <xsl:template match="line">
>>          <xsl:apply-templates select="title[1]"/>
>>        </xsl:template>
>>     --~--
>>
>>
>> One of the variations I had tried before. It does not work.
>>
>
> When I use Saxon 6.5.5 against your posted input sample and the stylesheet
>
> <xsl:stylesheet
>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>   version="1.0">
>
>   <xsl:template match="line[title[1] = preceding-sibling::line/title[
> 1]]"/>
>
>   <xsl:template match="line">
>     <xsl:apply-templates select="title[1]"/>
>   </xsl:template>
>
> </xsl:stylesheet>
>
> I get the output
>
> <?xml version="1.0" encoding="utf-8"?>
>       La foto
>       La C:ltima parada (Lo peor de todo)
>       Polvo Eres
>       "7 dC-as al desnudo"
>
>       "7 vidas"
>
>
> which looks fine to me as for eliminating the duplicates.

Current Thread