基本的に次のような本の構造があります。
<chapter>
<verse>Eva said, <quote speaker="Eva">I"m not the one who"s underestimating her cleverness.</verse>
<verse>Or maybe it"s you I"m underestimating. Have you finally joined her side, sister?</quote></verse>
</chapter>
あなたが見ることができるように、問題は私が持っているということです複数の詩にまたがる必要がある引用。これをどのように処理すればよいですか?また、詩にまたがる必要のある他のタグ(引用タグだけでなく)があり、場合によっては章があります。
XMLは、Go、Java、JavaScriptなどの高レベル言語で記述しているアプリケーションによって解析されます。これを完全に制御できます。
持っているデータに不適切なマークアップ言語を使用していますか?それとも、詩や他のタグを誤って構成していますか?
回答:
回答№1は1まあ、それを解析するつもりはありません! 私が見ることができる2つのオプション、それはあなたが持っているものよりも意味があります
<chapter>
<verse>Eva said, <quote speaker="Eva">I"m not the one who"s underestimating her cleverness.</quote></verse>
<verse><quote speaker="Eva">Or maybe it"s you I"m underestimating. Have you finally joined her side, sister?</quote></verse>
</chapter>
エバが言った後のカンマは冗長であると言った
または
<voice speaker = default/>
<chapter>
<verse>Eva said, <voice speaker="Eva"/>I"m not the one who"s underestimating her cleverness.</verse>
<verse>Or maybe it"s you I"m underestimating. Have you finally joined her side, sister?<voice speaker = default /></verse>
</chapter>
回答№2の場合は1
を採用することをお勧めします ドックブック 標準。すでに膨大な量の作業がスキーマに組み込まれているため、あらゆる形式の印刷ドキュメントをサポートできます。
あなたの場合、次のdocbook xml要素のいずれかを使用できます。
Docbookは、次のような注目度の高いプロジェクトの文書化に使用されます。 Linuxカーネル そして Ubuntu。ただし、使用するのは恐ろしいことです。
よりシンプルなテキストベースのマークアップ言語を使用することを好みます(マークダウン, asciidoc)。これらには、docbookを生成するためのツールがあります。これにより、両方の長所、使いやすさ、プロフェッショナルな出版標準のサポートが得られます。
-2の回答№3
問題は構造です。 XMLが無効です。
引用要素を配置しようとする代わりに詩に沿って、ドキュメント全体にまたがるインデックスを使用することをお勧めします。そうすれば、引用要素を詩要素から切り離すことができます。たとえば、次のような引用があるとします。
<quote speaker="Eva" start=11 end=89/>
または
<quote speaker="Eva" start=11 length=78/>
このように、引用が複数の詩にまたがって心配する必要はありません。