DominiqueのメッセージGRDDL demo now does per-profile transformationで、「GRDDLによる変換をprofile属性だけでも指定できるようにした」とアナウンスされている。これは、個別の文書にlink要素でスタイルシートを設定しなくても、profile文書経由で適用するXSLTが分かるようにするというもの。独自のprofileを用意して文書を作成していれば、個別文書に手を加えなくても、profile文書ににXSLT適用のための定義を追加するだけで、GRDDLによるメタデータ抽出が可能になるというわけだ。
具体的な例としては、W3Cのホームページのような形でRSSを抽出するマーク付け(item
, headline
, date
などのクラスを用いる)をしていれば、そのプロファイル http://www.w3.org/2000/08/w3c-synd/#
をhead要素のprofile属性に加えるだけでよい(GRDDLのプロファイルは不要)。別の例としては、XFNのマーク付けからメタデータを抽出するプロファイル http://www.w3.org/2003/g/td/xfn-workalike
がDan Connollyによって試作されている。
自分でプロファイルをつくるならば、次のようにしてRDDLを使った定義を行い、そのプロファイル自身に、XSLTのURIを取り出すためのGRDDLを適用できるようにしておく。
(例)
<html xmlns="http://www.w3.org/1999/xhtml"xmlns:rddl="http://www.rddl.org/"
> <headprofile="http://www.w3.org/2003/g/data-view"
> <title>The Web KANZAKI - XHTML profile</title><link rel="transformation" href="http://www.w3.org/2003/12/rdf-in-xhtml-xslts/grokRDDL.xsl" />
... <p>このプロファイルは、GRDDLでメタデータを抽出するための <arddl:nature="http://www.w3.org/1999/XSL/Transform" rddl:purpose="http://www.w3.org/2003/g/data-view#profileTransformation"
href="http://www.kanzaki.com/parts/xh2rdf.xsl
">XSLTスタイルシート</a> を指定しています。</p> ...
RDDLは名前空間やプロファイルのURIに対応するドキュメントに、人間が読める文書(XHTML)と同時に、そのURIに関連するリソース(名前空間URIならその語彙を定義するスキーマなど)を合わせて記述する仕組みで、rddl:nature
でそのリソースの性質、rddl:purpose
でその働きを示すようになっている。ここでは、GRDDLによるメタデータ抽出を行うXSLTを記述するので、rddl:nature
がXSLT、rddl:purpose
がprofileTransformationになるわけだ。リソースそのもの(この場合はXLSTスタイルシート)は、href属性で示す。
プロファイル定義は若干面倒だが、一度つくってしまえば、あとはprofile属性にそのURIを書くだけというのは便利な方法だ。例えば、上記のようなプロファイルをXHTML文書に適用すると、GRDDLを使ってメタデータを抽出することができる。
- rel="nofollow"ほかメタデータのプロファイル (2005-01-21)
- XHTMLとメタデータ:汎用的な方法 (2004-03-15)
- 汎用XSLT使えます (2004-03-19)
- 小文字のsemantic web (2004-03-05)