Thomas J.S.: xslt doppelte einträge entfernen

Beitrag lesen

Hallo,

hey, bitte helft mir.

Wir lesen auch weiter unten: https://forum.selfhtml.org/?t=143958&m=934701

wie bekomme ich mit hilfe einer xslt die doppelten Einträge von <erlauterungen> weg. es soll nur noch einmal erlaeuterungen im
ergebnis-xml vorhanden sein.

hab das so probiert aber es funktioniert nicht. wo könnte da der fehler liegen?

<xsl:template match="erlaeuterung">
<xsl:for-each select="erlaeuterung">

Das kann nur dann funktionieren wenn du so etwas hast:
<erlaeuterung>
  <erlaeuterung>bla bla </erlaeuterung>
</erlaeuterung>

Ad da funktioniert dein Template nicht mehr, weil's nie zutrifft.

Also:
<xsl:template match="row">
  <xsl:variable name="erl" select="erlaeuterung" />
<!-- andere XSL-Anweisungen -->
  <xsl:if test="not(preceding-sibling::row[erlaeuterung = $erl])">
   <xsl:element name="erlaeuterung">
    <xsl:value-of select="$erl"/>
   </xsl:element>
  </xsl:if>
<!-- andere XSL-Anweisungen -->
</xsl:template>

Grüße
Thomas