在xsl中使用符号

时间:2011-05-10 05:56:35

标签: xslt

我在xsl文件中使用符号>,但是当我使用像<=时它没有显示任何内容。

任何人都可以告诉我,它有什么问题<=以及我应该使用哪种替代方案?

<xsl:if test="price &lt; 100">
<xsl:if test="price > 100">

3 个答案:

答案 0 :(得分:1)

W3C XML spec表示属性中不允许使用文字<>可以):

  

直接或间接在属性值中引用的任何实体的替换文本不得包含&lt;。

因此,在 test 属性中,您需要转义<。如果您的条件是price <= 100,那么您可以将其写为:

<xsl:if test="price &lt;= 100">

答案 1 :(得分:1)

XSLT样式表必须是格式良好的XML文档。这就是为什么<字符(和&字符)在不在CDATA部分时必须进行转义的原因。

使用

<xsl:if test="price &lt;= 100"> 

或者,如果你不喜欢逃避:

<xsl:if test="not(price > 100)"> 

答案 2 :(得分:0)

您应该将<转移到&lt;,就像在第一个代码示例中一样。

>转义为&gt;

您应该转义在XML中具有特殊含义的字符 - 这些是<>"'&

虽然在属性中,使用>很好。

请参阅this SO问题和答案。