我在xsl文件中使用符号>
,该工作正常,但当我使用像<=
时,它什么也没有显示。使用xsl中的符号
有谁可以告诉我,它有什么问题<=
和我应该使用哪种替代方法?
<xsl:if test="price < 100">
<xsl:if test="price > 100">
我在xsl文件中使用符号>
,该工作正常,但当我使用像<=
时,它什么也没有显示。使用xsl中的符号
有谁可以告诉我,它有什么问题<=
和我应该使用哪种替代方法?
<xsl:if test="price < 100">
<xsl:if test="price > 100">
的W3C XML spec说,一个字面<
未在属性允许的(>
是OK):
任何实体的替换文本中提及的一个属性值直接或间接地不能包含<。
所以在测试属性,你需要逃跑<
。如果你的条件是price <= 100
那么你将它写成:
<xsl:if test="price <= 100">
这不是真的,>字符必须逃脱。阅读规格(当然,试试看)。 :) – 2011-05-11 12:53:51
@Dimitre Novatchev:你绝对正确!我按照你的建议尝试了它,当然,它工作。我相应地更新了我的答案。每天学习新东西:) – riff 2011-05-12 03:19:00
好。我很高兴我的回答对你有用。 – 2011-05-12 03:24:42
XSLT样式表必须有一个良好的XML文档。这就是为什么当<
字符(和&
字符)不在CDATA部分时必须始终转义的原因。
二者必选其一:
<xsl:if test="price <= 100">
,或者,如果你不喜欢逃避:
<xsl:if test="not(price > 100)">
或'
问得好,+1。看到我的答案有两个可供选择的解决方案和解释。 :) – 2011-05-11 04:16:01