繁体   English   中英

在XQuery中忽略大小写匹配

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM