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?

questionAnswers(4)

yourAnswerToTheQuestion