http://onionworks.net/2004/renderengine/utility
distinct (items : nodeset) : nodeset
Diese Methode vergleicht die Inhalte der Knoten des übergebenen Nodesets und gibt doppelte nur einmal zurück.
Achtung!
Dies funktioniert nur, wenn die übergebenen Knoten Text enthalten!
<xsl:variable name="nodes" c.as="Node">
<item>Test</item>
<item>Test2</item>
<item>Test3</item>
<item>Test4</item>
<item>Test2</item>
<item>Test3</item>
<item>Test4</item>
</xsl:variable><xsl:for-each select="util:distinct($nodes/item)">
<xsl:value-of select="." />
<br />
</xsl:for-each>Doppelte Knoten entfernen
Obiges Beipiel liefert nun also folgendes Ergebnis:
Test
Test2
Test3
Test4
Obwohl die Knoten "Test2", "Test3" und "Test4" jeweils doppelt im Nodeset vorkommen, werden sie nur einmal wieder zurückgegeben. Auf diese Weise lassen sich ganz einfach doppelte Knoten entfernen.