2004 年 2 月の履歴(もしくは日誌)


2004 年 2 月

2 月 27 日

XHTML と RDF

W3C Note として XHTML and RDF が出ています.元の英文の文書の例だけ眺めていたのですが,神崎さんのところでもさっそくこれについてのメモが出ました.

HTML にメタデータを付加する場合,従来から meta 要素なんかが利用できた訳ですが,それだけだと記述できることに制限があって,もっといろいろなメタデータを付加したいと言う話が出て来ているわけです.具体的には Movable Type などの Weblog ツールでは,Trackback ping の送信先 URI を RDF で記述して HTML に埋め込むというのを行っています.でもそれは,RDF/XML を XHTML にコメントとして埋め込むという形で,あまりかっこいいやり方ではないと思うのです.

mttrackback - TrackBack Technical Specification での Auto-Discovery of TrackBack Ping URLs の例を下に引用します:

Sample RDF looks like this:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
    rdf:about="http://www.foo.com/archive.html#foo"
    dc:identifier="http://www.foo.com/archive.html#foo"
    dc:title="Foo Bar"
    trackback:ping="http://www.foo.com/tb.cgi/5" />
</rdf:RDF>

これを Movable Type などでは HTML/XHTML に直接うめこむ事をしています.XHTML の場合には,エラーになるからコメントになるように <!-- と --> でかこんぢゃおうと.これっって,どうかと思います.コメントとして埋め込むのではなくて,もっと良い方法があるのではないかと.

W3C で検討が進んでいる XHTML での RDF によるメタデータの扱いですが,その W3C Note の例にならって,Trackback ping を自動認識するための RDF の埋め込みは以下のような記述をするのもひとつの方法かなと.

<html
    xmlns="http://www.w3.org/2002/06/xhtml2" 
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
    xml:lang="ja">
<head>
<title>Web log Archive</title>
<meta about="http://www.atnak.com/blog/archives/2004_02.html#000359">
    <meta property="dc:identifier">http://www.atnak.com/blog/archives/2004_02.html#000359</meta>
    <meta property="dc:title">今日はひとりで</meta>
    <link rel="trackback:ping" href="http://www.atnak.com/blog/mt-tb.cgi/362" />
</meta>
    
<meta about="http://www.atnak.com/blog/archives/2004_02.html#000355">
    <meta property="dc:identifier">http://www.atnak.com/blog/archives/2004_02.html#000355</meta>
    <meta property="dc:title">38000Km and Steady</meta>
    <link rel="trackback:ping" href="http://www.atnak.com/blog/mt-tb.cgi/358" />
</meta>
</head>

現在の Movable Type では,各記事のすぐ近くに RDF/XML がコメントとして埋め込まれていますが,上の記述の例だと,meta 要素として head 要素の中にまとめて記述することになります.各記事とメタデータは URL でつながっているから,HTML の中で並んで出現しなくても大丈夫だと思います.W3C Note の例では,span 要素とかを使って,本文にメタデータを付加する方法も例示されていますが,あれはぼくにはよく分かりませんでした.

そうそう,W3C Note の XHTML and RDF では,XHTML 2 に RDF を埋め込んだ場合の例と,埋め込まれた RDF を示して比較できるようになっていますが,最近になって FOAF とか RSS から RDF っていう言葉を知った人には,あの文書をみて「RDF はどこ?」っていう疑問が浮かぶんぢゃないかと思いました.

あの文書では RDF を XML ではなく N3 という書き方で書いています.そう,RDF は XML とは限らないんです.XML で書く方法もありますが,あの文書の例でしめされているような N3 という記述方法もあるわけです.N3 については,神崎さんが解説している文書が参考になります.

ですから,RDF を XHTML に埋め込むとはいっても,RDF/XML が直接はめ込まれるのではなくて,例のように meta 要素や link 要素などの HTML の既存要素を応用して埋め込むという考えも出てくる訳です.もっとも例では XHTML 2 での実現を前提にして,既存の HTML 要素にはない属性を定義したり meta 要素が入れ子に出きるように拡張する方向で検討されているみたいですね.

XHTML 1.0 から XHTML 1.1 への移行は,ぼくにとって特に利点を見つけられませんでしたが,XHTML 2 で RDF の埋め込みが可能になるのであれば,その利点はとても魅力的だと思いました.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20040227n1 TrackBack

[ 上に戻る]