marklogic - 使用 MarkLogic mlcp 拆分文档

标签 marklogic mlcp

我需要拆分这个文档

<?xml version="1.0"?>
<!DOCTYPE docs SYSTEM "../rom11.dtd">
<docs>
  <stwtext id="RD-10-00258" update="03.2011" seq="RQ-10-00001">
    <head>
      <ti>
        <i>j</i>
      </ti>
      <ff-list>
        <ff id="0103" />
      </ff-list>
    </head>
    <p>
      Symbol f&#x00FC;r die
      <vw idref="RD-19-04447">Stromdichte</vw>
      .
    </p>
  </stwtext>

  <stwtext id="RD-10-00209" update="12.2007" seq="RQ-10-00223">
    <head>
      <ti>JZ</ti>
      <ff-list>
        <ff id="0932" />
      </ff-list>
    </head>
    <p>
      Abk&#x00FC;rzung f&#x00FC;r Jod-Zahl, siehe
      <vw idref="RD-06-00645">Fettkennzahlen</vw>
      .
    </p>
  </stwtext>

</docs>

我用这个命令来做:

~> bin/mlcp.sh IMPORT -mode local -host localhost -port 15000 \ 
  -username admin -password admin \
  -input_file_path /media/sf_vm.shared/theme/rom-training/v10.new-ML.XML \
  -output_uri_replace "/media/sf_vm.shared/theme/rom-training/keywords,'rom-data'" \
  -output_collections rom-data \
  -input_file_type aggregates -aggregate_record_element stwtext \
  -aggregate_uri_id @id

该命令工作正常,但我在 MarkLogic 中看到带有 id 的文档,它们不属于已声明的 stwtext.id,而是属于最后一个元素的 id。例如,对于我希望看到的文档

RD-10-00258
RD-10-00260

但实际上它看起来像这样:

0103
0932

这是错误,还是我做错了什么? 谢谢

最佳答案

这是一个错误。如果您愿意,可以下载 MLCP 的源代码并进行更改。查看 AggregateXMLReader.java 的 processStartElement()

关于marklogic - 使用 MarkLogic mlcp 拆分文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31120344/

相关文章:

marklogic - 消耗了多少内存映射?

Xquery 版本 0.9-ml 到 xquery 版本 1.0-ml 更新

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

gradle - 带有自定义转换模块的 MLCP 导入

MarkLogic 内容泵 mlcp 文档 URI 问题

node.js - Marklogic Node.js API : How to get the document where an embedded triple lives?

Xpath使用获取属性值

marklogic - 无法使用rest-api-server初始化ml gradle项目(mlDeployApp)

xquery - 使用 mlcp、csv 文件和转换解析日期导入数据

marklogic - MLCP 使用文档选择器导出选定的文档