古典テキストのXML化─ブロック要素とインライン要素 [XML]
まずは、古典のテキストをどのようにXML化するかを考えてみる。
昨日の記事では、HTMLを複数ページに分けるために<page>タグを入れると書いたが、これは、表示に関する単位をデータの中に入れることになるので、却下。別のやり方を考えなければならない。
とりあえず、要素はブロック要素とインライン要素に分けられる。と言っても、HTMLと違い、ブロック要素とインライン要素の区別は、厳密なものではない。DTDでもその違いは表現できない(と思う)。従って、ブロック要素の下にブロック要素が来てもいい。
注記やページ番号などはインライン要素だ。段落内改行もインライン要素だ。他にも何かあるかもしれないが、それは後で思いついた時に追加することにする。
それに対してブロック要素として、今思いつくのは、見出しや段落、引用、詩の四つだ。これも他に何か思いついたら、追加する。
このうち、段落は例えば<para>、たるいは一番頻繁に使うことを考えて、簡潔に<p>タグでよいだろう。引用はTeXでは二種類用意しているが、HTMLでは一種類なので、ここでも取り敢えず<quote>要素のみにする。詩は、古典的テキストに頻繁に用いられる。表示は引用と同じようにすることもできるが、引用と作者自身が書いた詩では、意味が異なっているので別の要素にする。タグは<verse>でいいだろう。
それでは、引用の中に詩があったらどうするか。これは、引用要素の子要素として詩要素を書けることにすればよい。一方、段落要素の下位に詩要素は書けない。段落を終了してから詩を書き、詩を終了してから、段落を再開すればよい。
見出しもブロック要素だが、これには何段階かの階層を考える。HTMLでは<h>要素は6段階だが、これでは管理が大変になる。せいぜい3階層か4階層くらいが妥当だ。そこで、<chap>、<sec>、<subsec>、<subsubsec>に分け、<chap>は無くてもいいことにする(という規則が可能かどうかは分からないが)。
この見出しは、それぞれ下位のものを包含し、さらに最終的な見出しが段落要素や詩要素、引用要素を包含することになる。これらの見出しは同時に目次を作ることになる。
編集作業は、このうちの見出し部、あるいは段落、詩、引用要素単位で行う。この、編集をどうするか、という処理についてはまた後日考えることにする。
コメント 0