Code:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:for-each select="//*[text()]">
<xsl:for-each select="ancestor::*">
<xsl:value-of select="concat(name(),'.')"/>
</xsl:for-each>
<xsl:value-of select="concat(name(),'=',text())"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
I first tried with <xsl:sort select="position()" order="descending"/> in the ancestor loop because it is a reverse axis but .Net does not like it...
Bookmarks