Subject: Stylesheet to output XML Tags (node names)
From: "António Mota" <amsmota@xxxxxxxxx>
Date: Thu, 20 Apr 2006 12:12:32 +0100
|
I've made this little stylesheet to output XML Tags (node names). Is
it OK, from the point of view of functionality/performance?
I did noticed (or so it seems to me) that changing the select clauses to
*[generat-id(.)=generate-id(key('tags', name())]
will slow down the processing...
<?xml version='1.0' encoding='ISO-8859-1'?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:key name="tags" match="*" use="name()" />
<xsl:template match="/">
<nodetags>
<xsl:apply-templates select="*[count(. | key('tags', name())[1]) = 1]"/>
</nodetags>
</xsl:template>
<xsl:template match="*">
<tag>
<xsl:value-of select="name()" />
</tag>
<xsl:apply-templates select="*[count(. | key('tags', name())[1]) = 1]"/>
</xsl:template>
</xsl:transform>
|