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