我需要拆分此文件
<?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中看到了带有id的文档,这些文件不属于声明的stwtext.id,而是属于最后一个元素的id。例如,对于我希望看到的文档
RD-10-00258
RD-10-00260
但实际上它看起来像这样:
0103
0932
是错误,还是我做错了什么? 感谢
答案 0 :(得分:0)
这是一个错误。如果您愿意,可以下载MLCP的源代码并进行更改。看一下AggregateXMLReader.java的processStartElement()
。