作成: 2007年12月21日(金) by 山口琢
改訂1.3: 2007年12月24日(月) by 山口琢
これは、2007年12月21日(金)に開催された「第十回XML開発者の日」の講演「Parallel Narratology平行物語論」(小林龍生)にて、山口がSTORYWRITERについて補足した内容です。当日は時間の関係で端折った内容を含みます。
SayYes!でプレゼンを再現するときは、「SayYes!」メニューから「表示する内容を選択」コマンドを実行し、class名に"slide"を指定します。
STORYWRITERについて、技術面から次の3点を補足します。
まずXHTMLについて。STORYWRITERが対象にしているのはXHTML文書です。
STORYWRITERのMarkerビューでは、多色マーカーを使ってXHTML文書の部分をマークします。マーカーはユーザーの任意で導入することができます。また、これらマーカーを任意でグルーピングできます。
マークされた部分は、em要素で囲まれ、マーカーに対応してclass属性が設定されます。
図1: マーカーはclass属性で識別される
図1では、「殺した」という部分がem要素で囲まれ"cc38"というクラス名が割り当てられています。"cc38"というクラス名は、"殺人"という表記を持つマーカーに対応し、"殺人"マーカーは"行為"グループに属しています。
図2: Crossビューでは、同じclassのem要素が抜き書きされる
Crossビューでは、同じclassのem要素が、表の同じ行に抜き書きされます。同じクラス名を持つインライン要素は、何らかの共通点を持って・付与されているはずだから、並列することに意義があるだろう、ということです。
図1で「"殺人"という表記を持つ」ことや「"行為"グループに属する」ということは、XHTMLの範囲外にあります。しかし、これらを取り除いてもCrossビューを構成できます。STORYWRITERの中核は、XHTMLの範囲内で実装されています。
また、CrossビューでMarked表示からArticle表示に切り替えたとき、表示される範囲は、em要素から、それを含む段落、すなわちp要素まで拡大されます。
p要素が、《段落》の定義通りに、すなわち、それが「意味のまとまりなどによって分けた一区切り」になっていれば、この操作は意味を持つ、役に立つはずです。この操作によって、表示範囲が「着目したコア部分」とそれを含む「まとまった意味を持つ区切り」との間で切り替わることになります。
このようにして、STORYWRITERの動作はXHTMLの正しいマークアップを前提にしています。
従来は、「正しくマークアップすると様々なブラウザで正しく表示される」、「音声ブラウザで適切に読み上げられる」などとされてきました。
ここでは、さらに加えて、「正しいマークアップが、正しい《ユーザーの読み》や正しい《ユーザーの操作》につながる」と言いたいと思います。言い換えると、正しく《操作》されることを、正しいマークアップの定義に加えたいと思います。
なぜ、これを強調するかというと、見かけ上は段落に見えてもbr要素で成形しただけというWebページが、まだ見られるからです。
もし、夫の目くばせが妻に通じていたら、物語はどうなっていたでしょう?
細胞にたとえるなら、マークされた部分は遺伝子、段落は細胞に相当すると言えるかもしれません。今日の発表では、視線解釈のズレが物語の遺伝子であると読み取ったのでした。
STORYWRITERのCrossビューでは、マークされた部分を別のマーク部分にドラッグ&ドロップすることで、後者のマーク部分を前者ので書き換えることができます。これは、言わばウィルスが、宿主の細胞のDNAに自分の遺伝子を組み込むようなものです。夫の目くばせ遺伝子に込められた一切の心を、妻に伝えてみます(図3、図4)。
図3: 妻が、夫の刹那の眼中に読み取った一切の心
図4: 夫の目くばせが妻に伝わったなら…
STORYWRITERでのこの操作は遺伝子を渡すだけです。この時点で、当然のことながら、妻の証言の文章にはかなり違和感があります。細胞まで、すなわち段落全体を塗り替えようとすれば、その違和感がさらに具体的になり、この過程を通じて、さらに『藪の中』の《読み》が深まるかもしれません。このように違和感を際だたせる機能が、《読み》《書き》ツールにとって重要であると考えています。
STORYWRITERの《読み》を深める機能が、XHTMLのマークアップ -- インライン要素のクラス属性と段落 -- によって実現されていることを示しました。
以上