XML ファイルを IOB 形式に変換する必要があります。
XML ファイルは、Latex で書かれた論文の構造、つまりセクションとサブセクションを表しています。この表現では、セクションは BODY としてエンコードされ、次に HEADER があり、次に段落またはサブセクションがあります。
例:
<DIV DEPTH="1">
<HEADER ID="H-8"> Practical Results </HEADER>
<P TYPE="TXT">
<S ID="S-56" TYPE="TXT"> To assess its performance , <REF REFID="R-12" ID="C-36">Grover et al. 1993</REF> tried various methods . </S>
<S ID="S-57" TYPE="TXT"> The grammar is defined in metagrammatical formalism which is compiled into a unification-based ` object grammar ' -- a syntactic variant of the Definite Clause Grammar formalism <REF REFID="R-21" ID="C-37">Pereira and Warren 1980</REF> -- containing 84 features and 782 phrase structure rules . </S>
<DIV DEPTH="2">
<HEADER ID="H-9"> Comparing the Parsers </HEADER>
<P TYPE="TXT">
<S ID="S-61" TYPE="TXT"> In the first experiment , the ANLT grammar was loaded and a set of sentences was input to each of the three parsers . </S>
</P>
<IMAGE ID="I-0"/>
</DIV>
私がやりたいことは、すべてのテキストを保持することですが、それを別の形式に変換することです。つまり、BODY 構造を削除し、HEADER とテキスト部分に次のようにタグ付けするだけです。
Practical/B-Header Results/I-Header ./O
To/B-Text assess/I-Text its/I-Text performance/I-Text ,/I-Text Grover/I-Text et/I-Text al./I-Text tried/I-Text various/I-Text methods/I-Text ./O
The/B-Text grammar/I-Text ... ./O
等々。
Java での DOM 構文解析については知っていますが (たとえば、jdom2 をしばらく使用していました)、テキストの順序を維持する方法がわかりません。たとえば、REF タグ (は S の中にあります。例を見てください)、その親からのテキストは REF タグの前後に伸びています。
ポインタはありますか?かなり単純なはずですが、「特定の深さの後に XML タグを削除する」などの検索は役に立ちませんでした :-(