这一个:
<xsl:text disable-output-escaping="yes" />
我已经遇到了这条奇怪的路线,我想知道它是做什么的。根据我的理解,它会输出一个&#34;空间&#34;字符和<strong>
标签(见下文)想要使它变粗,但这听起来毫无用处。有什么我不明白的吗?
以下是代码段:
<xsl:choose>
<xsl:when test="prix = '0' ">
<strong>
<xsl:text disable-output-escaping="yes" />
</strong>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="prix" />
</xsl:otherwise>
</xsl:choose>
答案 0 :(得分:1)
无法找到任何理由。
我怀疑它可能是由前一位开发人员放在那里的,因为有一次他们在该元素中有一些有用的信息,但最终并不需要它,并认为关闭标签将是最快的(尽管处理它的方式并不是最干净的。
答案 1 :(得分:1)
<xsl:text disable-output-escaping="yes" />
根据我的理解,它会输出一个“空格”字符
不,它没有。它输出一个空字符串,即没有。在您的示例中,当测试"prix = '0'
返回true时,结果树将包含:
<strong/>
即。一个空的strong
元素。
是“value-of”在模板中输出内容的唯一方法吗?
不,当然不是:http://www.w3.org/TR/xslt#section-Creating-the-Result-Tree
也可以使用“xsl:text”标签
xsl:text
元素只能输出文字文字。
我的例子中没有结束标记。
它不需要结束标记,因为它是空的并且“自动关闭”。这个表格:
<xsl:text disable-output-escaping="yes" />
完全等同于:
<xsl:text disable-output-escaping="yes" ></xsl:text>
答案 2 :(得分:0)
如果你需要输出像&符号这样的特殊字符,它会很方便:
<div class="clear">
<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
</div>
W3Schools的解释:
可选。 &#34;是&#34;表示特殊字符(例如&#34;&lt;&#34;)应该是 按原样输出。 &#34;无&#34;表示特殊字符(如&#34;&lt;&#34;)应该 输出为&#34;&lt;&#34;。默认为&#34;否&#34;