« December 2006 | Main | July 2007 »

January 2007 Archives

January 21, 2007

List 2 Table for Blog EditorとWeb文書の機械処理

xfy Communityに掲載されている「List 2 Table for Blog Editor 」は、従来のXHTMLに定められた意味を利用して、Web文書を機械処理するプログラムです。この観点から少し詳しく紹介してみます。

「List 2 Table for Blog Editor 」は、記述中のBlog記事に存在するリスト項目(ul要素、ol要素中のli要素)から表を作成して記事へ追加します。このように記事中の内容に対して処理を行う機能を、「xfy Blog Editor」のユーザコマンドのとして実装したものです。

概要

XHTMLにおけるリスト要素(ul要素、ol要素、dl要素)とは、文字通り情報のリストを指定するものです。すなわち、これはきわめて基本的な意味マークアップであり、テキストのレイアウトを直接に指す概念ではないことに注意してください。このような誤解は、リストを「箇条書き」と表記した場合に起こりやすいと考えます。

いくつかの情報のまとまりを並列するものとしてリストアップしたら、それに続く文章中で、それらについて深く検討して表として整理したいときがあります。あるいは、いくつかの情報のまとまりを順序づけられたものとしてリストアップしたら、それに続く文章中で、それらを手順としてとらえてチェックリスト表を構成したいときがあります。

「List 2 Table for Blog Editor 」は、このような執筆の流れを支援する簡単なツールであり、Blog記事執筆向けとして実装されています。

動作

見かけ上はこのよう動作します。次のような記述があるとき:

休暇で利用するホテルの条件:

  • キッチン
  • パソコンを置けるくらい広いデスク
  • PHSの圏内

というところかな。

このユーザーコマンドを実行すると、次のように表が生成されます:

休暇で利用するホテルの条件:

  • キッチン
  • パソコンを置けるくらい広いデスク
  • PHSの圏内

というところかな。

キッチン
パソコンを置けるくらい広いデスク
PHSの圏内

執筆者は、ここからさらに、次のように続けることができます:

休暇で利用するホテルの条件:

  • キッチン
  • パソコンを置けるくらい広いデスク
  • PHSの圏内

というところかな。これを当てはめてみると:

xfyホテル ジャスト・ホテル
キッチン ×
パソコンを置けるくらい広いデスク
PHSの圏内 ×

仕組み

仕組みは簡単です。次のようなリスト構造を見つけて:

<ul>
  <li>キッチン</li>
  <li>パソコンを置けるくらい広いデスク</li>
  <li>PHSの圏内</li>
</ul>

次のような表を生成し、挿入するだけです:

<table border="1">
  <tr>
    <th>キッチン</th>
    <td> </td>
  </tr>
  <tr>
    <th>パソコンを置けるくらい広いデスク</th>
    <td> </td>
  </tr>
  <tr>
    <th>PHSの圏内</th>
    <td> </td>
  </tr>
</table>

ここでリスト構造を見つけることは、ul要素を見つけることです。このためプログラムは40行ほどです。

見かけ上は箇条書きにレイアウトされていても、次のような記述などを処理対象に含め始めると、このような簡単なプログラムとはならず、また利用者の意図しない動作をすることになるでしょう:

<p>・キッチン<br />
・パソコンを置けるくらい広いデスク<br />
・PHSの圏内</p>

まとめ

以上で、「List 2 Table for Blog Editor 」が、従来のXHTMLに定められた意味を利用して、リストを元に表を生成する機械処理を行うことを示しました。

January 24, 2007

Semantic Operations Support

Semantic webの観点から、Deep Reference LiteSyndy ChronicleSayYes!の意義を考えてみる。

これらのソフトウェアは、XHTML文書を処理対象にしながらも、XHTMLにはない特定の具体的な意味を、ユーザーがWeb文書に持たせることを支援する。そして、操作の結果として、操作対象のWeb文書間の関係を示す、新たな具体的情報をWebに発信することも可能だ。

このように、利用者の個々の意味操作(semantic operations)を具体的に支援(support)する個別アプリケーションを揃えると、利用者は「タグ(tag)」、「アノテーション(annotation)」、「semantic web」、「ontology」といった中間的な抽象概念を理解する必要がない。利用者にやりたいことをやってもらうだけで、Web文書に意味を付与してもらえるのである。

このようなアプリケーションそれぞれは、機能的に細かい粒度を持ち、特定の用途に特化し、その品揃えの数は膨大なものとなるだろう。すなわち、このように具体的な個別アプリケーションをその上で動作させることができることこそが、xfy Blog Editorの拡張性の特長である。そして、このことはxfyの特長そのものでもあり、ここにxfy Blog Editorをxfy上に実装する意味がある。

Deep Reference Lite

Deep Reference Liteは、Web上の2つのリストを評価軸として、新たに評価テーブルを構成する。

Deep Reference Liteは、この評価テーブルを含むWeb文書を介して、軸を含む2文書と評価テーブルを含むWeb文書自身との3つの文書が、密接に関係していることを知っている。

ただし現状では、最終的なアウトプットはXHTMLのtable要素とcite要素であり、このような関係情報は失われている。これは、そのような関係を示す標準記述が存在しないためだ。

Syndy Chronicle

Syndy Chronicleは、複数のXHTML文書を年表としてマージし、さらに別の一群のXHTML文書を自分史として、両者を対照表示する。

Syndy Chronicleは、参照するXHTML文書たちがどれも年表であること、それらが自分史であるところの年表を核として、密接に関係していることを知っている。

ただし現状では、これらの情報を保持するOPMLやAtomフォーマットに、これらが年表であるとは書き込まれていない。

SayYes!

SayYes!は、複数のXHTML文書を束ねて1つのプレゼンテーションとし、スライドショーを実行できる。

SayYes!は、それらのXHTML文書が、その順序も含めて、説得力を持つ1つのプレゼンテーションを構成できると知っている。

たとえば、他人が自分のBlog記事を、あるプレゼンテーションの一部に使っているのを見たら、その自分自身の記事について理解が深まるのではないか。

ただし現状では、これらXHTML文書を束ねるAtomフォーマットに、これらがプレゼンテーションであるとは書き込まれていない。

まとめ

これらのソフトウェアは、特定の単機能を果たすものであるがゆえに、特殊なマークアップ操作をしていると、ユーザーに意識させない。

そこで、Web文書間の関係を示す情報をWeb上に増やして、さらなる機械処理の手がかりとするには、このようなソフトウェアを様々に用意することが効果的だと考えられる。

なので、今年は、このようなソフトウェアのバラエティを、具体的に示すことを目標としている。
このページは xfy Blog Editor を利用して作成されました。

Continue reading "Semantic Operations Support" »

About January 2007

This page contains all entries posted to Xyndy Columns .jp in January 2007. They are listed from oldest to newest.

December 2006 is the previous archive.

July 2007 is the next archive.

Many more can be found on the main index page or by looking through the archives.