项目序列的 XQuery 子字符串
XQuery substring for a sequence of items
我想从 table 中提取列的所有值,确定这些值的最大值,然后 return 该值。
这是我试过的:
let $abc := doc("file:///some_local_file")//AOSCAT_MetricDetail//table[@class="pretty-table"]//tr/td[13]
return <li>{ fn:max(fn:substring($abc,1,1)) }</li>
但是fn:substring无法处理超过一个项目的序列。
所以我尝试了这个:
let $set_all_mbd := doc("file:///some_local_file")//AOSCAT_MetricDetail//table[@class="pretty-table"]//tr/td[13]
for $xyz in $set_all_mbd
let $abc := fn:substring($xyz,1,1)
return <li>{ fn:max($abc) }</li>
虽然 table 的每一行都有 returns,但我只想要一个值 returned。
我想这很简单,但 XQuery 对我来说是新手,不知道如何去做...
如果要将 substring
应用于序列中的每个项目,请尝试
let $abc := doc("file:///some_local_file")//AOSCAT_MetricDetail//table[@class="pretty-table"]//tr/td[13]
return <li>{ max($abc/substring(.,1,1)) }</li>
(未经测试)。
如果这不起作用,那么您绝对可以使用显式 for
:
let $abc := doc("file:///some_local_file")//AOSCAT_MetricDetail//table[@class="pretty-table"]//tr/td[13]
return <li>{ max(for $x in $abc return substring($x,1,1)) }</li>
我想从 table 中提取列的所有值,确定这些值的最大值,然后 return 该值。
这是我试过的:
let $abc := doc("file:///some_local_file")//AOSCAT_MetricDetail//table[@class="pretty-table"]//tr/td[13]
return <li>{ fn:max(fn:substring($abc,1,1)) }</li>
但是fn:substring无法处理超过一个项目的序列。
所以我尝试了这个:
let $set_all_mbd := doc("file:///some_local_file")//AOSCAT_MetricDetail//table[@class="pretty-table"]//tr/td[13]
for $xyz in $set_all_mbd
let $abc := fn:substring($xyz,1,1)
return <li>{ fn:max($abc) }</li>
虽然 table 的每一行都有 returns,但我只想要一个值 returned。
我想这很简单,但 XQuery 对我来说是新手,不知道如何去做...
如果要将 substring
应用于序列中的每个项目,请尝试
let $abc := doc("file:///some_local_file")//AOSCAT_MetricDetail//table[@class="pretty-table"]//tr/td[13]
return <li>{ max($abc/substring(.,1,1)) }</li>
(未经测试)。
如果这不起作用,那么您绝对可以使用显式 for
:
let $abc := doc("file:///some_local_file")//AOSCAT_MetricDetail//table[@class="pretty-table"]//tr/td[13]
return <li>{ max(for $x in $abc return substring($x,1,1)) }</li>