[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] duplicate elimination


Subject: [xsl] duplicate elimination
From: "Ihe Onwuka ihe.onwuka@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 1 Nov 2014 17:15:57 -0000

Given something like

   <director name="A. Solla, Ricardo">
      <line>
         <title>La foto</title>
         <year>2001</year>
      </line>
      <line>
         <title>La C:ltima parada (Lo peor de todo)</title>
         <year>1999</year>
      </line>
      <line>
         <title>Polvo Eres</title>
         <year>2012</year>
      </line>
      <line>
         <title>"7 dC-as al desnudo"</title>
         <year>2005</year>
         <title>{Dos vidas (#1.3)}</title>
      </line>
      <line>
         <title>"7 dC-as al desnudo"</title>
         <year>2005</year>
         <title>{Fuera hace frC-o (#1.5)}</title>
      </line>
      <line>
         <title>"7 vidas"</title>
         <year>1999</year>
         <title>{(#2.37)}</title>
      </line>
      <line>
         <title>"7 vidas"</title>
         <year>1999</year>
         <title>{(#3.13)}</title>
      </line>
      <line>
         <title>"7 vidas"</title>
         <year>1999</year>
         <title>{(#4.6)}</title>
      </line>
      <line>
         <title>"7 vidas"</title>
         <year>1999</year>
         <title>{Abogada del demoC1o (#13.9)}</title>
      </line>
      <line>
         <title>"7 vidas"</title>
         <year>1999</year>
         <title>{Academia de baile (#14.11)}</title>
      </line>
  </director>

I set about eliminating duplicate lines (where I have defined a duplicate
line as one where the first title element matches that of some other line.

  <xsl:template match="line[title[1] eq
preceding-sibling::line[1]/title[1]]"/>
  <xsl:template match="line">
    <xsl:apply-templates select="title[1]"/>
  </xsl:template>

But this is not eliminating the duplicates.

Now I know there are other ways of doing this but I'm interested in finding
the flaw in the code above.

Thx.


Current Thread