我有一些xml文檔。該文件的結構是這樣的: - 對assignor-name
和assignee-name
問題與cts:和marklogic查詢
<?xml version="1.0" encoding="UTF-8"?>
<patent-assignment>
<assignment-record>
<correspondent>
<name>NORTH AMERICA INTERNATIONAL PATENT OFFIC</name>
<address-1>P.O. BOX 506</address-1>
<address-2>MERRIFIELD, VA 22116</address-2>
</correspondent>
</assignment-record>
<patent-assignors>
<patent-assignor>
<assignor-name>TSAI, YU-WEN</name>
<execution-date>
<date>20050331</date>
</execution-date>
</patent-assignor>
<patent-assignor>
<assignor-name>HUANG, CHENG-I</name>
<execution-date>
<date>20050331</date>
</execution-date>
</patent-assignor>
</patent-assignors>
<patent-assignees>
<patent-assignee>
<assignee-name>FARADAY TECHNOLOGY CORP.</name>
<address-1>NO.10-2, LI-HSIN ROAD 1, SCIENCE-BASED INDUSTRIAL PARK</address-1>
<city>HSIN-CHU CITY</city>
<country-name>TAIWAN</country-name>
</patent-assignee>
</patent-assignees>
</patent-assignment>
我創建領域。現在我運行cts:search
這樣的查詢: -
let $query:=cts:and-query((
cts:element-query(xs:QName("assignor-name"),
cts:field-word-query("Assignor Name", "apple")),
cts:element-query(xs:QName("assignee-name"),
cts:field-word-query("Assignee Name", "salix"))
))
for $x in cts:search(fn:doc(), $query)
return $x
其中轉讓人姓名和專利權人名稱是我所創建的字段的名稱。這些字段分別爲assignor-name
和assignee-name
作爲其本地名稱。但是當我運行這個查詢時,它給了我空序列。我也檢查過我的xml文件和文件,其中assignor-name
是「apple」,assignee-name
是「salix」,但我沒有得到結果。當我運行此查詢只爲轉讓人姓名或受讓人名稱,然後我得到的結果,但是當我將它們合併到一個and-query
然後我沒有得到任何結果。請幫忙。
普尼特,您的樣本數據不匹配你想要做什麼:你的查詢使用一個命名空間(「PA: 「)沒有顯示在您的數據中,以及蘋果和沙柳不在那裏。你能否更新一個應該匹配的樣本? –