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

  • Post
    Torsten Uhr
    Administrator
    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.