Der folgende Ansatz ist zumindest strukturierter:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>
<xsl:key name="blumen_gruppe" match="blumen" use="info2"/>
<xsl:template match="root">
<root>
<xsl:apply-templates
select="blumen[generate-id()=generate-id(key('blumen_gruppe',info2)[1])]"/>
</root>
</xsl:template>
<xsl:template match="blumen">
<xsl:call-template name="copy_nodes">
<xsl:with-param name="blume" select="info2"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="copy_nodes">
<xsl:param name="blume"/>
<xsl:element name="{$blume}">
<xsl:copy-of select="//blumen[.//info2=$blume]"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Comment