Hallo Björn,
<xsl:value-of select="count(//set[@id='1']/@a[generate-id(.)=generate-id(key('aKey',.)[1])])" />
Der key greift aber nicht auf <set id="1"> sondern auf alle Knoten unter <root> und dann kommt's zu Komplikationen...Ich weiß nicht, ob das XSL-like ist oder ob es an meinem XSLT-Prozessor(FOP) liegt.
Die behandelten Attribute gehören nicht zu set, sondern zu record, also:
<xsl:value-of select="count(//set[@id='1']/record/@a[generate-id(.)=generate-id(key('aKey',.)[1])])" />
Ergebnis: 2
Grüße
Thomas