源氏物語の鑑賞に役立ちそうなツールを開発・整備しようという企画が、IPA(独立行政法人 情報処理推進機構)の未踏ソフトウェア創造事業に採択されました。私が提案したもので、源氏物語の鑑賞支援ツールの開発・整備がそれです。その開発のベースは、私のサイト「源氏物語の世界 再編集版」(以下、単に再編集版と呼びます)です。2004年度の第2回の公募に応募したところ、採択されました。 この企画は2004年12月〜2005年8月末に実施しました。このページは、この企画での開発の方向が固まった時点(2005年6月)で、その採択の経緯や開発目標、処理方式などを整理したものです。
なお、この企画は2005年度の第2回の公募でも継続採択されました。「源氏物語の鑑賞支援ツールの実用化」がそれです。
おことわり 説明文中、一部、敬称を省略させていただいている部分があります。文中でテキスト名やコメント名と呼んでいるものについては作者の名前を敬称略で含めるため、それに関係する部分で、敬称を省略させていただきました。あしからず、ご了承ください。 、
まずは、採択の経緯から。
もともとは、「源氏物語の世界 再編集版」で今後の課題に挙げていた項目をIPAから資金的な援助を得ることで、周囲の協力を取り付けて推進しようと考えて提案したものでした。しかし、採択されたのは、この今後の課題に対してではなくて、これを推進するための仕掛けの整備に対してでした。私が提案したようなコンテンツの整備は、青空文庫でやっているような形でボランティアによる協力者を募って行うべきだというのです。
つまり、今回のプロジェクトの目標は、ボランティアなどの第三者が、コンテンツを容易に拡張できること、しかも、複数の第三者が独立に拡張作業を行っても、混乱なく、容易にコンテンツが拡張できることになったのです。
次の図は、この目標のイメージを説明したものです。白い部分は、現在の「源氏物語の世界 再編集版」にすでにある部分、水色の部分が、今回の目標とする部分です。
つぎに、この目標の実現方法を説明しましょう。
複数の第三者が関与して混乱なく更新できるようにするには、今の「源氏物語の世界 再編集版」のような、バッチの再編集プログラムを
実行してすべてを一括生成するような方法ではうまくいきません。できるだけ小さなファイルに小分けして、独立に更新できるようにする必要があります。
いまでも、再編集版は段ごとにファイルが分かれているので、小分けできているように思えますが、段ごとは少々細かすぎます。帖ごとか、若菜のような大きな帖でも章ごと程度が便利だと思います。
また、複数の人が関与するといっても、人によってテーマは違っていることが多いので、テーマごとにファイルは分かれていたほうが便利です。たとえば、輪読会などの進度にあわせて、複数人で手分けしてデータを整備する場合、皆、同じ帖や章を対象にしますが、人によって、注釈を整備する人、現代語訳を整備する人、挿絵などのオブジェクトを整備する人、などに分かれることになるでしょう。そこで、ファイルもこのような分類ごとに分かれている方が望ましいのです。
もともと、渋谷教授のサイトでは、本文、注釈、現代語訳、ローマ字版の4つに分かれていました。それに戻せばよいのでしょうか。
必ずしも、そうではありません。つまり、以下のような条件があるからです。
これらを同時に満足する実現方法は、いくつか考えることができると思いますが、私は、これを、XML/XSLTとPHPを使って実現することにしました。その概略イメージを下図に示します。
XML・XSLTによる実現イメージ
この例では、
なお、HTMLページでは、XSLTでの再編集処理を制御する以下のようなオプションを指定できるようにすることを考えています。
再編集仕様の設定
対照表示するテキスト
リンクするコメント
対象テキスト コメント名 リンクの形式
リンク 太字 斜体 下線 文字色 背景色 強調 拡大 ルビ 本文
渋谷栄一による注釈 渋谷栄一による出典 渋谷栄一による校訂 和歌 本文のルビ 使用しない 渋谷栄一訳 和歌 使用しない 与謝野晶子訳
与謝野晶子訳のルビ 和歌 使用しない
挿入するオブジェクト
絵入源氏物語による挿絵
このフォーム例は、当初のデフォルト状態でのイメージですが、対照表示するテキストのプルダウンメニュー項目と、リンクするコメント名の一覧、挿入するオブジェクト名の一覧は、新たなテキストやコメント、オブジェクトがアップされたときには自動的に追加される予定です。
また、リンクの形式の選択項目ですが、V1では、注釈・出典・校訂はリンク、本文と渋谷栄一訳の和歌は斜体、与謝野晶子訳にはルビ(青空文庫版をもとにしたもののみ)に固定されていましたが、これを選択項目を増やして指定できるようにしたものです。
代わりに、注釈にリンクを選択したら、出典や校訂にはリンクは選べなくなりました。これを許可すると、注釈と出典の間でリンクが競合したときの処理が難しくなるためです。「源氏物語の世界 再編集版」では、注釈・出典・校訂の間で競合したときに、適当に端折って表示するための複雑なロジックを持っていました。今回は、注釈・出典・校訂以外にも自由に追加できることが目標になっているので、それはできません。しかし、リンクの機能は<A>タグ以外のタグを使っても、Javaスクリプトを併用すれば実現できます。むしろ、タグが違えば、競合は問題にならなくなるので、このようにしたものです。
最後に、2005年6月19日現在の状況を以下に整理しておきます。
実現方法の検討は終了し、上に述べたイメージで固まりました。
concatenate.xslt.xml(複数のXMLを連結して1つにするXMLスタイルシート)はすでに終わっています。上図中のリンク「XSLT適用」をクリックすると、XSLTを適用して結果をtextareaに表示します。このtextareaの内容をそのまま保存したファイルを「1つに連結されたXML」にリンクしておきました。こちらだと、IEがデフォルトスタイルシートを適用して表示してくれるので見やすくなります。
combine.xslt.xml(複数のテキストを対照表示したり、テキスト中の見出し語から対応するコメントへリンクを張ったりするXMLスタイルシート)は、現在作成中です。複数のテキストを対照表示するところは出来上がっており、実演できます。上図中のリンク「表示用のHTML」をクリックすると、XSLTを適用して結果を表示します。ソースを表示させると、「1つに連結されたXML」と同じものが表示されるので、XSLTで左右対称表示するHTMLに変換されて表示されていることがわかると思います。 今後、注釈・出典・校訂にリンクを張ったり、挿絵を挿入したりといった処理を挿入します。
上図中のHTMLページと、トップのXMLページはPHPで作成しますが、未着手です。
渋谷教授が提供するコンテンツ(本文、注釈・出典・校訂、現代語訳、ローマ字版)をXMLに変換する作業は、一段落しています。この変換は、再編集プログラムV2を使って行います。ただし、ローマ字版は、この プロジェクトでは提供しません。代わりに、ローマ字版から機械的に変換したひらがな版を提供します。上図中のリンク「表示用のHTML」をウリッウすると、最右列に表示 されるものがそれです。ただし、再編集プログラムV2には、今後も少なからず、変更が入る見込みです。
再編集プログラムV2では与謝野晶子訳もXMLに変換します。与謝野晶子訳は現在アップしている第1〜5帖(桐壷喬木空史学夕彦貞箸柴)と第47帖の他にも、多くの帖を追加できる予定です。第48帖は、すでに終わっていて、近日アップする予定のlまか、第9〜21帖が仕掛り中で、近日、終了予定です。これは、青空文庫の与謝野晶子訳を渋谷栄一流の形式に書き換える作業(手作業で時間がかかります)を応援してくれる人が現れたためです。
現在、注釈などのXMLには、pos="桁位置"などの手入力困難な属性が入っています。第三者が注釈や解説などをアップする場合、そのXMLファイルは手入力する場合も少なくないと思いますが、そのような場合に備えて、このpos属性などを設定するツールも別途作成する予定です。
第三者に現代語訳や注釈などをアップしてもらう場合、sourceForge.jpのアカウントを取得して、このgenjitoolプロジェクトの開発者の一員になっていただき、sourceForge.jpの機能を使ってファイルをアップしていただく予定です。また、アップできるコンテンツもGPLなどによるの無償コンテンツのみになります。(将来的には、ユーザを何階層 かに分けて管理し、アップロードもWebから簡単にできるようにし、有償コンテンツにも対応したいと考えていますが、当面は、これらに対応するめどは立っていません)
ただ、sourceForge.jpでは、SSHを使ってアップしなければならないなど、いろいろ難しい点があって、悩んでいます。KNOPPIXなどのLinuxを使えば簡単にアップできるのですが、Windowsでは簡単ではないようです。アップ方法や、そもそも、sourceForge.jpのWeb機能を使うのかという点を含めて、変わる可能性もあります。
以上