我正在尝试编写一个代码,该代码从SharePoint中的列表中提取信息,其范围与一个术语相关联。例如:
1-3 = Low
4-6 = Moderate
7-9 = High
10 = Critical
我有以下代码,但我似乎无法正常工作。我想要做的是只从上面的这些范围拉出来:
<xsl:variable name="RM1A" select="count($Rows[@Impact $gt;='01' -and- $lt;='03][@Likelihood $gt;='01' -and- $lt;='02'])"/>
问题在于它可以工作但是拉出所有大于01的数字并且不会在03处停止。我是XML编码的新手,所以要温和。
我正在寻找一种更简单的方法或者正确的语法来实现这一目标。
谢谢!
答案 0 :(得分:2)
首先,转发<
和>
依次为<
和>
。然后,像and <='03'
这样的表达式无效。它被认为缺少<=
的左操作数。最后一点只是一个建议;您可能希望将属性转换为数字,以安全地将其值作为数字进行比较。因此,以下是一个可能的有效表达式(为了可读性而包装):
count(
$Rows[number(@Impact) >=1 and number(@Impact) <=3]
[number(@Likelihood) >=1 and number(@Likelihood) <=2]
)