Thomas J.S.: XSLT - Sortieren und doppelte Einträge unterdrücken

Beitrag lesen

Hallo,

Du müßtest eher darauf testen, ob es ein vorhergehendes Geschwister gibt mit demselben Inhalt, also sowas
<xsl:variable name="this" value="."/>
<xsl:if test="not(preceding-sibling::eintrag[. = $this])">
  <xsl:value-of select="."/>
</xsl:if>

(ungetestet)
jetzt nicht mehr ;-)
hast recht, so funktionierts prinzipiell. Dummerweise hab ich in meinem XSLT für solche Listen noch was eingebaut, dass es mir jedes zweite Ausgabeelement farblich abhebt (mit <xsl:if test="(position()mod2) != 0". Wenn ich jetzt weniger Knoten ausgebe, stimmt die farbige Hervorhebung nicht mehr. Mal kucken, ob ich das irgendwie in den Griff kriege. Evtl. muss ichs doch noch irgendwie anders lösen.

Schematisch:
<xsl:variable name="this" value="."/>
<xsl:for-each select="not(preceding-sibling::eintrag[. = $this])">
 <xsl:sort />
 <xsl:if test="(position()mod2) != 0" />
 <xsl:value-of select="."/>

Grüße
Thomas