Разделить документ с помощью 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 я вижу документы с идентификаторами, которые принадлежат не объявленному stwtext.id, а идентификатору последнего элемента. Например, для моего документа я ожидаю увидеть

RD-10-00258
RD-10-00260

но на самом деле это выглядит так:

0103
0932

Это ошибка, или, возможно, я сделал что-то не так? Спасибо

1 ответ

Это ошибка. Если вы хотите, вы можете скачать исходный код для MLCP и изменить его. Взгляните на AggregateXMLReader.java's processStartElement(),

Другие вопросы по тегам