Mit XSL doppelte Einträge aussortieren

Status
Nicht offen für weitere Antworten.

CelikBlek

Bekanntes Mitglied
Hallo,
habe mal eine Frage.
Ich habe eine XML Datei in dem Beispielsweise Elemente wie
Code:
...
<name>Blau</name>
<name>Schwarz</name>
<name>Rot</name>
<name>Blau</name>
...
vorkommen. Nun werden sie von XSL eingelesen und als HTML dargestellt,
Code:
<xsl:for-each select="...........">
   <xsl:if test="position()!=1">
      <xsl:value-of select="', '"/>
   </xsl:if>
   <xsl:value-of select="."/>
</xsl:for-each>
Daraus folgt folgende Ausgabe:Blau, Schwarz, Rot, Blau

Problem oder Frage:Ich möchte gerne doppelte Einträge rausfiltern. Wie mache ich es?
Ausgabe soll Blau, Schwarz, Rot sein.

Danke für eure hilfe.
 

CelikBlek

Bekanntes Mitglied
bislang habe ich ja wie folgt auf meine Inhalte zugegriffen
...select="."...

wie sieht es denn dann aus?
so?
select="reference[not(.=following::reference/.)]"
könntest du mir passend zur oberen die passenden codezeile schreiben?
 

Bleiglanz

Gesperrter Benutzer
Code:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
  <xsl:apply-templates />
</xsl:template>
                                                                                
<xsl:template match="root">
  <xsl:for-each select="name[not(.=following::name)]">
    <xsl:if test="position()!=1">
      <xsl:value-of select="', '"/>
    </xsl:if>
    <xsl:value-of select="."/>
  </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

macht das richtige mit

Code:
<?xml version="1.0"?>
<root>
<name>Blau</name>
<name>Schwarz</name>
<name>Rot</name>
<name>Blau</name>
<name>Gruen</name>
<name>Schwarz</name>
<name>Rot</name>
</root>
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben