ちょっとしたメモ

XHTMLのclassを「Web化」する

XHTMLのclass属性を使ってメタデータを埋め込む方法の関連資料を調べていたら、Sean B. Palmerが2001年2月にwww-talkに投稿した「Webizing XHTML Classes」という記事を見つけた。class属性を、単にスタイル指定のために使うのではなく、uses a class as a generic labelling mechanism:グローバルなラベリングの手段とするために、クラスの値をURIそのものにしてはどうかというアイデアだ。

例としては、こんな記述方法があげられている。

<p class="http://infomesh.net/myclass/">Text.</p>

ここで彼は、このようにクラスを「Web化」することのメリットをたくさん示す一方で、これでは到底スタイルシートでは使えそうにないことを問題点としてあげて、いくつかの考察を行っている。「Metadata in XHTML - XSLTによる抽出」の考え方は、基本的にこれと同じだが、URIそのままではなくて接頭辞にマッピングすることで、スタイルシート指定にも無理なく使えるようにしているところがメリット。Palmerの例は、次のように示すことができる。

(例)

<link rel="schema.sbp" href="http://infomesh.net/" />
...
<p class="sbp.myclass">Text.</p>

細かくは、クラスURIの最後が / だとうまく行かないとか、p要素への指定は特殊な意味を持たせているといった食い違いがあるものの、趣旨はまったく同じだ。

これと共通する考え方としては、Dan Connollyが、2004年3月のrdf-in-xhtml「RDF in parts of XHTML documents」において、rel属性値をURIにするケースを検討している。

This page is licensed with a <a href="http://creativecommons.org/licenses/by-nd/1.0/" rel="http://www.w3.org/2003/12/rdf-in-xhtml-xslts/grokCC#license">Creative Common License</a> allowing copy and redistribution with attribution to the author, and disallowing derivative works.

いずれも、classやrel属性で示されるプロパティを、ローカルな名前にとどめず、URIを使って「Web化」する、つまりグローバルなネットワークに接地させようという考え方だ。やはりこのポイントは、重要だよね。

関連メモ: