sando a variável xsl para capturar a saída do modelo de chamada retornando em branco para m
Vi muitas postagens que fazem algo assim e que me fazem sentir que isso é possível e estou apenas fazendo algo errado. Simplifiquei o máximo possível para tentar descobrir por que isso está acontecendo:
eres meu xml (nada muito emocionante):
<?xml version="1.0" encoding="UTF-8"?>
<REPORT>
</REPORT>
Aqui está o meu xsl:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="REPORT">
<xsl:variable name="tryThisTemplate">
<xsl:call-template name="TRY_THIS"/>
</xsl:variable>
<TEST1>
<xsl:call-template name="TRY_THIS"/>
</TEST1>
<TEST2>
<xsl:value-of disable-output-escaping="yes" select="$tryThisTemplate" />
</TEST2>
<TEST3>
<xsl:value-of select="$tryThisTemplate" />
</TEST3>
</xsl:template>
<xsl:template name="TRY_THIS">
<MY_NODE desc="my description" />
</xsl:template>
</xsl:stylesheet>
Aqui está o meu resultado:
<?xml version="1.0" encoding="utf-8"?>
<TEST1>
<MY_NODE desc="my description"/>
</TEST1>
<TEST2></TEST2>
<TEST3></TEST3>
Aqui está minha pergunta: como é que o TEST2 e o TEST3 não funcionam. A variável $ tryThisTemplate parece estar em branco. Estou entendendo algo errado aqui. Devo fazer isso de uma maneira diferente?