这条线是什么意思?大胆的空间?

时间:2014-03-21 17:42:27

标签: html xml xslt

这一个:

<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>

3 个答案:

答案 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">&amp;nbsp;</xsl:text>
</div>

W3Schools的解释:

  

可选。 &#34;是&#34;表示特殊字符(例如&#34;&lt;&#34;)应该是   按原样输出。 &#34;无&#34;表示特殊字符(如&#34;&lt;&#34;)应该   输出为&#34;&lt;&#34;。默认为&#34;否&#34;