[英]Ignoring case matching in XQuery
我原本写了一个简单的XQuery脚本:
$mediaNodes := doc('/db/portfolio/media_data_101109.xml'),
$query := concat('$mediaNodes//media[contains(@product,"',$product,'")'
基本上,它的作用是首先检索媒体记录的xml文件。 然后我建立了一个搜索所有mediaNodes(xml文件的元素)的查询,并将@product属性与用户在浏览器中提供的内容相匹配,并且我使用了包含,因此无需确切匹配。
现在我想稍微扩展一下,这是忽略这种情况。 因此,无论用户在浏览器中输入什么情况,我都会将其转换为小写,我也会将节点文本转换为小写。
我在线搜索并发现函数小写,并相应地更改了我的代码:
$query := concat('$mediaNodes//media[contains(lower-case(@product),"',lower-case($product),'")',
但这不起作用,如果我执行查询,就会出现堆溢出。 我使用product = wborc运行后获得的查询如下所示:
$mediaNodes//media[contains(lower-case(@product),"wborc")]
有人可以帮我一点吗? 我不确定我是在做句法错误还是逻辑错误。 提前致谢。
用途 :
concat('$vmediaNodes//media
[contains(lower-case(@product),','lower-case("',$vProduct,'"))]')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.