Convertir "embarqué" de XML, doc en CDATA sortie en XSLT (1.0)

Donné un document XML d'entrée comme ceci:

<?xml version="1.0" encoding="utf-8"?>
<title> This contains an 'embedded' HTML document </title>
<document>
<html>
<head><title>HTML DOC</title></head>
<body>
Hello World
</body>
</html>
</document>
</root>

Comment je peux extraire que "intérieure" document HTML; rendre comme CDATA et de l'inclure dans mon document de sortie ?

De sorte que le document de sortie sera un document HTML; qui contient une zone de texte montrant les éléments de texte (de sorte qu'il sera de l'affichage de la source-vue de l'intérieur du document).

J'ai essayé ceci:

<xsl:template match="document">
<xsl:value-of select="*"/>
</xsl:template>

Mais cela ne rend les Nœuds de Texte.

J'ai essayé ceci:

<xsl:template match="document">
<![CDATA[
<xsl:value-of select="*"/>
]]>
</xsl:template>

Mais cela échappe à la réelle XSLT et j'obtiens:

&lt;xsl:value-of select="*"/&gt;

J'ai essayé ceci:

<xsl:output method="xml" indent="yes" cdata-section-elements="document"/>
[...]
<xsl:template match="document">
<document>
<xsl:value-of select="*"/>
</document>
</xsl:template>

Cela ne veut insérer une section CDATA, mais le résultat contient toujours juste le texte (dépouillé des éléments):

<?xml version="1.0" encoding="UTF-8"?>
<html>
   <head>
      <title>My doc</title>
   </head>
   <body>
      <h1>Title: This contains an 'embedded' HTML document </h1>
      <document><![CDATA[
                                                HTML DOC

                                                                Hello World

                                ]]></document>
   </body>
</html>
Pouvez-vous montrer à votre sortie s'il vous plaît?

OriginalL'auteur monojohnny | 2012-09-12