<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:strip-space elements="*"/>

<xsl:template match="text()">
(LEAF <xsl:value-of select="normalize-space(.)"/>)</xsl:template>

<xsl:template match="*">(<xsl:value-of select="local-name()"/>
<xsl:if test="@*">(@ <xsl:for-each select="@*">
(<xsl:value-of select="local-name(.)"/><xsl:text></xsl:text><xsl:value-of select="."/>)
</xsl:for-each>)</xsl:if>
<xsl:apply-templates/>)
</xsl:template>

</xsl:stylesheet>
