I am trying to get an attribute value for an elements ancestor, self and descendants. And then I want to display the unique values.
This is what I am trying.
<xsl:key name="remove" match="value" use="sortedvalues" />
<xsl:for-each select="ancestor-or-self::node()/@value[generate-id() = generate-id(key('remove',sortedvalues)[1])] | descendant-or-self::node()/@value[generate-id() = generate-id(key('remove',sortedvalues)[1])]">
<xsl:for-each select="key('remove',sortedvalues)">
<xsl:sort select="sortedvalues"></xsl:sort>
</xsl:for-each>
</xsl:for-each>
And here is the actual XML
<Root>
<something value = “asd” </something>
<something value = “dsa” </something>
<Product>
<something value = "asd"></something>
<something value = "dsa"></something>
<something value = "asd"></something>
<anothernode>
<something value = "qwe"></something>
</anothernode>
<anothernode2>
<something value = "ewq"></something>
</anothernode2>
<something value = "ewq"></something>
<Product>
<Product>
<something value = "asd"></something>
<something value = "dsa"></something>
<something value = "asd"></something>
<anothernode>
<something value = "qwe"></something>
</anothernode>
<anothernode2>
<something value = "ewq"></something>
</anothernode2>
<something value = "ewq"></something>
<Product>
</Root>
I basically wanna show
<Product>
<values>asd <values>
<values>dsa<values>
<values>qwe<values>
<values>ewq<values>
<Product>
<Product>
<values>asd <values>
<values>dsa<values>
<values>qwe<values>
<values>ewq<values>
<Product>
So I cant use // to show for each individual products so I have been using ancestor and descendant on Product