在 MLCP 中作为 -query_filter 传递时无效的值运算符“<”(小于)符号



我正在使用MLCP(Marklogic Content Pump)将内容从一个数据库复制到另一个数据库。在这里,我使用的是 -query_filter 选项,它的值是一组 cts:element-range-query 包装在 cts:and-query 中的一组 cts:element-range-query 的 XML 序列化格式的 cts:query :

<cts:and-query xmlns:cts="http://marklogic.com/cts">
  <cts:element-range-query operator=">">
    <cts:element xmlns:c="http://iddn.icis.com/ns/core">c:released-on</cts:element>
    <cts:value xsi:type="xs:dateTime" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2000-12-21T00:00:00Z</cts:value>
  </cts:element-range-query>
  <cts:element-range-query operator="&lt;">
    <cts:element xmlns:c="http://iddn.icis.com/ns/core">c:released-on</cts:element>
    <cts:value xsi:type="xs:dateTime" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2016-12-21T00:00:00Z</cts:value>
  </cts:element-range-query>
</cts:and-query>

现在,上述查询在 ML Qconsole 上执行时返回有效结果,但在 MLCP 的 -query_filter 选项中传递时,它会给出错误,指出"无效的属性值字符'<'

Marklogic和MLCP的版本是8.0-5。

在进一步深入研究时,我观察到问题仅在运算符值小于"<</strong>"时才存在

注意:我已经在数据库上为元素"发布日期"配置了一个有效的范围索引

MarkLogic 鼓励在使用序列化为 XML 的 cts 查询时使用选项文件,因为底层操作系统可以在命令行上解释特殊字符。

我的第一个猜测是尝试创建一个文件,例如,options.txt内容:

--query_filter
<cts:and-query xmlns:cts="http://marklogic.com/cts">
  <cts:element-range-query operator=">">
    <cts:element xmlns:c="http://iddn.icis.com/ns/core">c:released-on</cts:element>
    <cts:value xsi:type="xs:dateTime" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2000-12-21T00:00:00Z</cts:value>
  </cts:element-range-query>
  <cts:element-range-query operator="&lt;">
    <cts:element xmlns:c="http://iddn.icis.com/ns/core">c:released-on</cts:element>
    <cts:value xsi:type="xs:dateTime" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2016-12-21T00:00:00Z</cts:value>
  </cts:element-range-query>
</cts:and-query>

(不过,您可能必须使所有XML都适合该文件的同一行)

然后使用

mlcp.sh -options_file选项.txt ...

相关内容

  • 没有找到相关文章

最新更新