Non so se ho capito bene ciò che chiedi, tuttavia....
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="//xs:element[@ref]">
<p>
<xsl:value-of select="position()"/> elemento ---
ref=<xsl:value-of select="@ref"/>
type=<xsl:call-template name="getTipo">
<xsl:with-param name="nomeCampo" select="@ref"/>
</xsl:call-template>
</p>
<hr/>
</xsl:for-each>
</body>
</html>
</xsl:template>
<xsl:template name="getTipo">
<xsl:param name="nomeCampo"/>
<xsl:value-of select="//xs:element[@name=$nomeCampo]/@type"/>
</xsl:template>
</xsl:stylesheet>
Salva il file come "xeno10R.xsl" nella stessa cartella dove si trova il file xml che hai presentato nella tua domanda, doppio click su quest'ultimo e...
è quello di cui avevi bisogno?
ciao!