Разделить документ с помощью 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ü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ürzung fü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()
,