Konwertowanie XML na tekst ucieczkowy w XSLT

Jak przekonwertować następujący kod XML na tekst ucieczkowy za pomocą XSLT?

Źródło:

<?xml version="1.0" encoding="utf-8"?>
<abc>
  <def ghi="jkl">
    mnop
  </def>
</abc>

Wydajność:

<TestElement>&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;abc&gt;&lt;def ghi="jkl"&gt;
    mnop
  &lt;/def&gt;&lt;/abc&gt;</TestElement>

Obecnie próbuję użyć następującego XSLT i nie działa on poprawnie:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" encoding="utf-8" />
  <xsl:template match="/">
    <xsl:variable name="testVar">
      <xsl:copy>
        <xsl:apply-templates select="@* | node()"/>
      </xsl:copy>
    </xsl:variable>

    <TestElement>
      <xsl:value-of select="$testVar"/>
    </TestElement>
  </xsl:template>
</xsl:stylesheet>

Wyjście instrukcji XSLT przez .NET XslCompiledTransform wygląda następująco:

<?xml version="1.0" encoding="utf-8"?><TestElement>

    mnop

</TestElement>

questionAnswers(8)

yourAnswerToTheQuestion