Wie kann ich mit einer XSLT-Transformation dynamisch einen CDATA-Block erzeugen?

  • Beitrag
    Torsten Uhr
    Betrachter
      Einige Adapter (z.B. der HTTP-Ausgangsadapter) erwarten die zu übertragenden Daten als Text. Soll dieser Text ein XML-Dokument enthalten, muss dieses XML-Fragment durch eine XSLT-Transformation in einen CDATA-Block gesetzt werden.

      <?xml version='1.0'?> 
      <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
      <xsl:template match="/">
          ...   
          <xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
          <Payload>
             <ID><xsl:value-of select="//id" /></ID>
             ...
          </Payload>
          <xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
       </xsl:template>
       </xsl:stylesheet>

      Das Ergebnis ist dann:

      ...
      <![CDATA[<Payload>
         <ID>12345</ID>
         ...
      </Payload>]]>

      Ihr TRANSCONNECT-Team

      0
      0
    • Du musst angemeldet sein, um auf dieses Thema antworten zu können.