String 使用小写-xquery在集合中搜索

String 使用小写-xquery在集合中搜索,string,xquery,lowercase,String,Xquery,Lowercase,我正在寻找一种方法,通过使用小写函数比较节点元素来搜索集合。问题是我尝试过的方法不起作用: 下面是我构建的一个非常简单的查询,但它不返回任何内容: let $valor2 := lower-case(request:get-parameter('valor2','')) let $contribuciones := collection('final/contribuciones/')/Contribucion[lower-case(Aporte) = $valor2] 然而,$contrib

我正在寻找一种方法,通过使用小写函数比较节点元素来搜索集合。问题是我尝试过的方法不起作用:

下面是我构建的一个非常简单的查询,但它不返回任何内容:

let $valor2 := lower-case(request:get-parameter('valor2',''))
let $contribuciones := collection('final/contribuciones/')/Contribucion[lower-case(Aporte) = $valor2]
然而,$contributiones似乎是空的

我认为XML在这个问题上并不重要,但下面是一个例子:

<Contribuciones>
   <Contribucion>
       <id> 1243243435 </id>
       <Aporte> something </Aporte>
   </Contribucion>
</Contribuciones>
我要做的是接收一个参数并将其存储在一个变量中,然后在集合中搜索元素中具有确切参数的节点,在这种情况下,忽略任何情况。

您的路径应该是

collection('final/contribuciones/')//Contribucion

collection函数返回文档节点,而不是每个文档的根元素。

是否检查了countcollection'final/contribuciones/'/Contribucion是否为0?Aporte元素是否确实包含某个元素周围的空格?瓦洛尔2美元可能不会。如果是这样,请将对它的访问包装在规范化空间中…是的,集合返回20个节点,关于空间,这是一个错误Aporte元素中没有空格尝试将valor2转换为字符串。$valor2是可以的,我不知道为什么,但是/Contribucion[lower caseAporte]是个问题,它对我的情况没有影响,收集功能工作正常。