Если вы хотите вернуть только значения, вы можете использовать XPath //text()|@*
.
Если вы хотите, чтобы имена атрибутов / элементов вместе со значениями, вы могли бы использовать эту таблицу стилей:
<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="*">
<xsl:apply-templates select="node()|@*"/>
</xsl:template>
<xsl:template match="text()">
<xsl:value-of select="concat('<',name(parent::*),'> ',.,'
')"/>
</xsl:template>
<xsl:template match="@*">
<xsl:value-of select="concat(name(),'="',.,'"
')"/>
</xsl:template>
</xsl:stylesheet>
При вашем вводе он выдаст:
bar="a"
bee="localhost"
Id="1"
Rt="00:00:03"
Name="hello"
<step> Pass