Come usare <![CDATA[]]> in XSLT?

Devo usare XSLT variabile aspetto:

<xsl:variable name="ShortDescription" select="str[@name = 'ShortDescription']"/>
<!--Short Description field-->
       <xsl:if test="$ShortDescription !=''">

        <shortdescription><![CDATA[ <xsl:value-of select="$ShortDescription" disable-output-escaping="no"/> ]]></shortdescription>

       </xsl:if>

Ma il suo display come un testo non è un valore di $ShortDescription variabile di uscita e di aspetto:

<shortdescription>
&lt;xsl:value-of select="$ShortDescription" disable-output-escaping="no"/&gt;
</shortdescription>

risultati attesi simile:

<shortdescription>
<![CDATA[Maximum Power: 520 W<br/>+12V Rails: Dual<br/>]]>
</shortdescription>

Come utilizzare <![CDATA[]]> in XSLT?

InformationsquelleAutor Jatin Gadhiya | 2014-08-20



One Reply
  1. 9

    XML XSLT è così, naturalmente, è possibile utilizzare una sezione CDATA nel codice XSLT, come avete fatto voi. Tuttavia, piuttosto sembra si desidera che l’output del codice XSLT per contenere una sezione CDATA per il shortdescription contenuto, in questo caso è necessario

    <xsl:output method="xml" cdata-section-elements="shortdescription"/>

    E XSLT sarebbe semplicemente soggiorno

    <shortdescription><xsl:value-of select="$ShortDescription"/></shortdescription>
    • grazie Martin funziona benissimo e anche la sua corrispondenza sul mio output previsto..
    • Tuttavia, si noti che questo funziona solo se l’output della trasformazione viene serializzato dal processore XSLT (e non per essere inviati a un albero DOM, o ad un’altra trasformazione); e (b) il requisito è fuorviante; qualcuno che chiede per l’uscita del testo racchiuso tra le sezioni CDATA ha una scarsa conoscenza di XML.

Lascia un commento