<xsl:apply-templates select="@*">
<xsl:sort select="name()" data-type="text"/>
</xsl:apply-templates>
If you want to be pedantic, the <xsl:sort> here doesn't
matter, so you can
save a few CPU cycles by just doing:
<xsl:apply-templates select="@*"/>
If the template rule is
<xsl:template match="@*">
<xsl:element name="{name()}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
then the sort does make a difference: it guarantees that the output
elements will be in alphabetical order by name.
Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list