【发布时间】:2014-07-03 20:37:41
【问题描述】:
我正在寻找一种方法来搜索将节点元素与小写函数进行比较的集合。问题是我尝试过的方法不起作用:
这是我构建的一个非常简单的查询,但它没有返回任何内容:
let $valor2 := lower-case(request:get-parameter('valor2',''))
let $contribuciones := collection('final/contribuciones/')/Contribucion[lower-case(Aporte) = $valor2]
但是$contribuciones 似乎是空的
我认为 XML 在这个问题中并不重要,但这里有一个例子:
<Contribuciones>
<Contribucion>
<id> 1243243435 </id>
<Aporte> something </Aporte>
</Contribucion>
</Contribuciones>
我想要做的是接收一个参数并将其存储在一个变量中,然后在集合中搜索在元素中具有确切参数的节点(在本例中为 Aporte)忽略任何情况。
【问题讨论】:
-
您是否检查过以确保
count(collection('final/contribuciones/')/Contribucion)不为0? -
Aporte 元素真的包含围绕“某物”的空格吗?可能
$valor2不会。如果是这样,请将访问权限封装在normalize-space(...)中。 -
是的,该集合返回 20 个节点,关于空间,这是一个错误,Aporte 元素中没有空格
-
尝试将 valor2 转换为字符串。
-
$valor2 没问题,我不知道为什么,但 /Contribucion[lower-case(Aporte)] 是问题