<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="*">
<xsl:param name="x"/>
<xsl:text> </xsl:text>
<xsl:choose>
<xsl:when test="$x">
<xsl:variable name="nx" select="concat($x,' ',name())"/>
<xsl:value-of select="$nx"/>
<xsl:apply-templates select="*">
<xsl:with-param name="x" select="$nx"/>
</xsl:apply-templates>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="name()"/>
<xsl:apply-templates select="*"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="*[(_at_)id]">
<xsl:text> </xsl:text>
<xsl:value-of select="@id"/>
<xsl:apply-templates select="*">
<xsl:with-param name="x" select="@id"/>
</xsl:apply-templates>
</xsl:template>
</xsl:stylesheet>
$ saxon id1.xml id1.xsl
<?xml version="1.0" encoding="utf-8"?>
root
zero
a
a two
c
d
d five
d five six
d five six seven
David
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--