我有以下馆藏结构的XQuery排除下划线某些文件在文件名
SCTA
--lectio1
--lectio1.xml
--reims_lectio1.xml
--sorb_lectio1.xml
--lectio2
--lectio2.xml
--reims_lectio2.xml
--sorb_lectio2.xml
现在使用XQuery,我只想搜索不包含一个“_”的文件。
以下查询工作,但搜索所有文件。我想,使其只搜索lectio1.xml和lectio2.xml,不与文件进行修改“_”的
for $file in collection('/db/SCTA/')
for $p at $i in $file/tei:TEI//tei:p
let $param1:= request:get-parameter('param1', 'oyta')
let $pid := data($p/@xml:id)
let $fs := data($file/tei:TEI/tei:text/tei:body/tei:div/@xml:id)
let $title := $file/tei:TEI/tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:title/text()
where ($p[contains(., $param1)])
order by $fs
return
<p>{$fs}: {$title}: {$pid}: {$p/text()}</p>
任何想法?
这非常有帮助。我一直在努力通过这种试错方式。步骤1-5将是一大进步。 – Jeff
将3秒查询转换为0.17s查询。期待聚在一起:) – Jeff