XML: Exibindo apenas o valor texto no XSL


Exemplo:

<funcionario>
<nome>Joao</nome>
<departamento>
Informatica
<cargo>Analista</cargo>
</departamento>
</funcionario>

O elemento departamento possui tanto um texto como um sub-nó. Se utilizarmos value-of da seguinte forma :

<xsl:template match="departamento">
<xsl:value-of select="." />
</xsl:template>

Estaremos exibindo "Informática Analista" . Sim, o "." aplicado no Value-Of não pega apenas o conteudo do nó, mas também tudo que estiver abaixo dele. Então para nos referir apenas ao texto do nó sem incluir os nós filho precisaremos utilizar a função text(). Veja :

<xsl:template match="departamento">
<xsl:value-of select="text()" />
</xsl:template>