我在 XSLT 变量中使用如下所示:
<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>
但它显示为文本不是 $ShortDescription
的值变量和输出看起来像:
<shortdescription>
<xsl:value-of select="$ShortDescription" disable-output-escaping="no"/>
</shortdescription>
预期输出如下:
<shortdescription>
<![CDATA[Maximum Power: 520 W<br/>+12V Rails: Dual<br/>]]>
</shortdescription>
如何使用<![CDATA[]]>
在 XSLT 中?
最佳答案
XSLT 是 XML,因此您当然可以像您所做的那样在 XSLT 代码中使用 CDATA 部分。然而,您似乎希望 XSLT 代码的输出包含一个用于 shortdescription
内容的 CDATA 部分,在这种情况下您需要
<xsl:output method="xml" cdata-section-elements="shortdescription"/>
XSLT 将保持原样
<shortdescription><xsl:value-of select="$ShortDescription"/></shortdescription>
关于xml - 如何在 XSLT 中使用 <![CDATA[]]>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25400067/