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.