0

我使用 XPATH 1.0 和 XSLT 1.0。我想知道如果下面的代码

<xsl:choose>
    <xsl:when test="@name='some'"><![CDATA[one]]></xsl:when>
    <xsl:otherwise><![CDATA[two]]></xsl:otherwise>
</xsl:choose>

在性能方面与

 <xsl:choose>
        <xsl:when test="@name='some'"><xsl:value-of select="'one'"/></xsl:when>
        <xsl:otherwise><xsl:value-of select="'two'"/></xsl:otherwise>
    </xsl:choose>

如果我们知道select中一定不需要一些特殊符号?使用<![CDATA[one]]>. 或者它的使用减少了 xslt 编译时间,或者它易于阅读?

4

1 回答 1

0

在我看来,如果有性能改进,那么证明你的第一个示例的合理性并不那么重要。

在这种情况下,作为您的第二个示例,我会更加关注维护和可读性。使用此解决方案,如果您想更改元素的呈现方式(无论是否为 cdata),您可以在输出元素中使用属性 cdata-section-elements。

这是一个很好的例子How to use cdata in xslt

于 2016-10-06T14:14:37.933 回答