このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

micro* (2):microdocuments

"micro"という形容詞に、microformatsの背後にある理念が込められている、という(ひょっとすると僕の勝手な)前提に基づき、その理念に沿ったナニモノカの総称としてmicro*を提案しました。それが前回

さてと、micro*のワイルドカード部にdocumentsを代入してmicrodocumentsって概念をひねり出しましょう。最初に注意:実は、"micro-document architecture"って言葉は、OmniMarkという会社(今はStiloって会社になっている)が随分と昔(10年くらいたつだろうか?)から提唱していた方式の名前です。よって、microdocumentsって言葉の使用は問題ありかもしれない。が、とりあえず僕が私的に使うだけならいいでしょう、たぶん。

●microdocumentの概念

microformatsのなかで、hCard, hCalendar, hReviewなどは、多重マークアップ・ベースボキャブラリと考えられます。これらのボキャブラリでマークアップされた(X)HTML文書の一部分をマイクロ文書(microdocument)と呼びましょう。つまり、記述言語がmicroformats(のなかの特定フォーマット)で、その記述言語で書かれた文書内文書(documents within a document)がマイクロ文書です。(後で、もう少し定義を拡張します。)

前回、マイクロの意味は「単純、軽量、既存技術の組み合わせ、非制限的」と説明しましたが、マイクロ文書のマイクロは、辞書的な意味である「小規模、空間的に狭い、細粒度」などと解釈してもツジツマがあいます。

マイクロ文書は、構文的には完結した文書とはかぎらない、文書の一部分です。しかし、意味的には自立している情報担体<じょうほうたんたい;information bearing oobject>です。たとえば、hCardフォーマットで記述された部分は、そこだけ切り取っても名刺情報として意味を持ちます。

XML複合文書との違い

マイクロ文書は、一般的なXML複合文書の構成素(成分文書)とは違う概念です。例えば、vCard(RFC2426)情報を次のようにXMLエンコードするほうが正統派ですが、それはマイクロな解決策ではありません。


<vc:vCard xmlns:vc="Namespace URI for XML-encoded vCard">
...
</vc:vCard>

僕は、「マイクロ」に、時間的にもマイクロであること、つまり短期的解決であること、もっと言えば「当座しのぎ」的な意味を含めています。その代わり、「今すぐ使える」、「既にあるものだけで間にあう」、「現状にインパクトを与えない」などのメリットがあります。

上のような正統派のXMLエンコーディングでは、ブラウザ表示に悪影響を与えますし、取り扱いには新しい技術を必要とするので、「マイクロじゃない」と判断するのです。

ここいらのことも含めて、もう一度マイクロ文書を定義すると:

  1. 構文的には、(X)HTML文書の要素、または(単一要素とはかぎらない)フラグメントである。
  2. 意味的には、そこだけで自立しており、そこだけを取り出して扱える。(ただし、もとの(X)HTML文書との関連が重要なこともある。)
  3. Webブラウザーの表示に悪影響を与えない(brwoser-friendly)。
  4. そのフォーマットを知っているアプリケーション(microdocument-aware applications/tools)により抽出したり操作したりできる。

●埋め込みと刷り込み

マイクロ文書は、ホスティング環境である(X)HTML文書に寄生して運ばれます。これは、「埋め込まれている」と言ってもいいのですが、hCardなどはホスト文書への“入り込み方”がMathMLなどの埋め込みとは異なります。次の例を見てください。


<div class="vcard">
<a class="url fn" href="http://www.chimaira.org/">
檜山正幸
</a>
<div class="org">檜山正幸事務所</div>
</div>

class属性を意識しなければ(無視すれば)、これは単なるdiv要素に過ぎません。vCardとしての意味を与える情報は、class属性を通じて、あたかも“透かし”のように刷り込まれているのです。

しかし、すべてのマイクロ文書が刷り込み(imprint)方式で寄生しているわけではありません。例えば、はてなのAccount Auto-Discovery情報は埋め込まれています。あるいは、次のようなhead内のフラグメントもマイクロ文書と考えていいでしょう。


<title>マイクロ文書について</title>
<meta name="DC.creator " content="檜山正幸" />
<meta name="DC.date" content="2005-08-20" />

●まとめと注意

マイクロ文書は、(X)HTMLへの寄生を意図した(いろいろな意味で)小さな情報単位です。本格的な複合文書とは少し違った方式で、単一文書へ多様な情報の埋め込み/刷り込みを可能とします。

何度か触れているように、マイクロなアプローチは、本格的で重い手法をあえて避けているので、長期的(時間的マクロ)な視点では問題点とリスクを抱えています。しかし、お手軽さと即効性が魅力です。

micro* の続きはたぶんある、けど、来週は休み