我需要在<title>
中提取文字。我试过的XQuery如下。
XML
<jrnl:prelim>
<heading searchtype="TITLE">
<title>Les apports de la loi au secteur des transports (articles 1 à 30)</title>
<subtitle>. - L. n° 2015-990, 6 août 2015, Titre Ier : Libérer l'activité - Chapitre Ier : Mobilité : JO 7 août 2015, p. 13537</subtitle>
</heading>
的XQuery
declare namespace jrnl = "http://www.lexis-nexis.com/glp/jrnl";
let $x := doc("/FR/PRESSE_ACTUALITE/PRESSE/PS_KPRE-437971_MAR04.xml")
let $qy := cts:element-query(xs:QName("jrnl:prelim"),cts:and-query((
cts:element-attribute-word-query(
xs:QName("heading"),
xs:QName("searchtype"),
"TITLE"
), cts:element-word-query(xs:QName("title"), "Action des douanes dans la lutte contre la ") )))
return cts:contains($x, $qy)
答案 0 :(得分:2)
如果您已经检索过该文档,则可以使用XPath:
$x/jrnl:prelim/heading[@searchtype eq "TITLE"]/title[contains(string(.), "...")]
更常见的是将cts:query传递给cts:search()以检索文档而不是使用cts:query来检索文档后检查文档。
顺便说一句,MarkLogic 6.0已经很老了,并且缺少MarkLogic 8中的许多重要功能(例如,本机JSON支持)。你应该尽可能升级。
希望有帮助,