Convertir un sous-arbre XML en texte

Stephane Bortzmeyer <[email protected]> Tue, 26 Jun 2007 10:29:28 +0200
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
Je cherche à convertir un document XML en XML d'un autre
schéma. J'utilise XSLT.

Il y a dans le document source des éléments que je voudrais convertir
en texte ("sérialiser"). Exemple, je voudrais que :

<foo>
  <bar><toto/><tata/></bar>
</foo>

soit converti en :

<unautretruc>
  <unmachin>
<![CDATA[
<toto/><tata/>
]]>
  </unmachin>
</unautretruc>

(donc que le contenu de <bar> soit traduit en texte, avec CDATA ou
bien avec les < transformés en &lt;)

<xsl:copy> ne convient pas car il copie les noeuds, pas le texte

L'attribut cdata-section-elements ne convient pas car il ne gère que
le texte

Quelqu'un a une idée ? Je cherche une solution standard (Saxon a
apparemment une fonction saxon:serialize qui fait ça.)