我有一些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: “)没有显示在您的数据中,以及苹果和沙柳不在那里。你能否更新一个应该匹配的样本? –