1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:key name="myKey" match="//*[attr1]" use="attr1"/>
<xsl:template match="/">
<res>
<xsl:apply-templates select="//*[attr1][generate-id(.) = generate-id(key('myKey', attr1)[1])]"/>
</res>
</xsl:template>
<xsl:template match="*[attr1]">
<xsl:variable name="attr1" select="attr1"/>
<xsl:element name="group">
<xsl:attribute name="attr1"><xsl:value-of select="$attr1"/></xsl:attribute>
<!--
<xsl:copy-of select="key('myKey',$attr1)"/>
-->
</xsl:element>
</xsl:template>
</xsl:stylesheet> |