Ich bin ein xsl Anfänger und ich habe versucht, dies für ein paar Tage zu arbeiten, aber ich habe einige Probleme. Ich habe ein paar Nachforschungen angestellt und ein paar verschiedene Lösungen ausprobiert, aber ich finde es nicht richtig. Mit xsl 1.0 und einer angegebenen Eingabe muss ich Duplikate entfernen und auch nach bestimmten Schlüsselwörtern filtern können.Wie Duplikate entfernen und nach bestimmten Inhalten in XSL filtern?
Hier ist der Eingang:
<vce>
<document>
<content name="title">X</content>
<content name="description">
<content name="h3">A</content>
<content name="h3">B</content>
<content name="h3">C</content>
<content name="h3">A</content>
<content name="h3">B</content>
<content name="h3">C</content>
<content name="h3">D</content>
<content name="h3">E</content>
<content name="h3">F</content>
<content name="h3">G</content>
</content>
</document>
</vce>
In der Beschreibung kann ich akzeptieren nur A, B und C, sondern müssen auch sicher, dass es keine Duplikate machen. Daher sollte meine gewünschte Ausgabe sein:
<vce>
<document>
<content name="title">X</content>
<content name="description">
<content name="h3">A</content>
<content name="h3">B</content>
<content name="h3">C</content>
</content>
</document>
</vce>
Dies ist, was ich gerade arbeite mit:
<xsl:template match="/">
<vce>
<document>
<content name="title">
<xsl:for-each select="//document/content[@name='title']">
<xsl:value-of select="." />
</xsl:for-each>
</content>
<content name="description">
<xsl:for-each select="//document/content[@name='h3']">
<xsl:if test="not(preceding::document[content[@name='h3']/text() = current()/content[@name='h3']/text()])">
<content name="h3">
<xsl:value-of select="." />
</content>
</xsl:if>
</xsl:for-each>
</content>
</document>
</vce>
</xsl:template>
Dank im Voraus für Ihre Bemühungen Jungs!
* I ein xsl Anfänger bin und ich habe versucht, das jetzt für ein paar Tage arbeiten zu erhalten * ... und wo ist diese XSLT-Studie? – Parfait
Welche Version von XSLT? –
Ich arbeite mit Version 1.0 –