次のような PCDATA 要素を含む XML ファイルを処理する必要があります。
<corpus id="c01">
<text id="t01>
<sentence id="s01">Mary <instance id="i01">had</instance> a <instance id="i02">lamb</instance>.</sentence>
<sentence id="s02">...</sentence>
...
</text>
...
</corpus>
各 <text> の <sentence> ごとに、文 ID とその文に含まれる全文を含むデータ構造を設定する必要があります。次に、各 <instance> に対して、インスタンス ID と文内の開始位置と終了位置を含むデータ構造を設定する必要があります。(空白が正規化されているかどうかは気にしません。)
したがって、上記の例では、基本的に次のものが必要です。
s.id = "s01"
s.text = "Mary had a lamb."
i1.id = "i01"
i1.start = 6
i1.end = 8
i2.id = "i02"
i2.start = 12
i2.end = 15
dom4jでこれを行う方法はありますか? Element.getText() メソッドは子要素のテキストをスキップします。別の要素内の要素のオフセットを与えるメソッドは見当たりません。dom4j がこのタスクに適していない場合、より優れたツールは何ですか?