2003年07月29日
川俣晶の縁側辛口甘口雑記total 9845 count

RDF仕様における、HTML文書中へのRDF埋め込みのビックリ仕様?

Written By: 川俣 晶連絡先

 古い話でもあるし、今更こんなところで話題にする価値があるかどうか分かりませんが。たまたま、今頃になって遭遇したので書きます。

 世の中には、RDFというものがあります。メタデータを記述するための技術ですね。たとえばこのサイトでも使っているRSSも、RDFの応用例の1つという位置づけになります。実際、サイトの更新情報という一種のメタデータを手軽に受け取ることができ、それなりに有意義で有益な技術と言えるわけですが。

 JIS TR X 0022:1999 資源記述の枠組み(RDF) モデル及び構文規定なんていうものを読んでいたら、ちょっとびっくりする記述に出会いました。これは、W3CのResource Description Framework (RDF) Model and Syntax Specificationの日本語訳にあたるものです。

 ここで、驚いたのは、7.7 HTML内部におけるRDFのための内容の隠ぺいという部分です。何とXML文書のフラグメントを、HTML文書中に埋め込んでいます。これはびっくり。

 確かに、ここで書かれているように、全ての情報を属性に入れて書いてしまえば、現在の大多数のWebブラウザはRDFの情報を全て読み飛ばして、利用者には見せないようにできます。その点で、賢いアイデアのように見えますが……。実際に、RDF混在HTML文書をRDF情報を含め扱うことを考えると迷宮に陥ります。

 具体的にどんな問題が起きるのか。それは、HTMLとXMLの細かい非互換性、より厳密にはSGMLとXMLの非互換性によって起こります。XMLはSGMLのサブセットだから、それを上手く使えば問題は起きないはず、という考えはあまり正しくありません。XHTMLを使っているならともかく、HTMLではXMLでは使えない構文が多数使われます。逆に、XML側(つまりRDF側)では、SGMLに存在しない名前空間の機能を多用しています。XMLはSGMLのサブセットと言っても、名前空間はXML勧告本体とは別仕様なので、サブセットの範疇に入らないのです。つまり、RDF埋め込みHTML文書を、HTML用のSGMLパーサで解析すると名前空間は処理されず、かといって、XMLパーサで解析すると、多くの解析エラーを起こして使い物にならないということになります。では、名前空間は応用ソフト側が自力で解決するとしたら、SGMLパーサで問題なく扱えるのでしょうか。いろいろ考えてみると、それでも難しそうです。というのは、SGMLパーサは、あるタグが開始タグか空要素タグか、を判断するためにDTDを参照する必要があるからです。そして、あるタグが開始タグか空要素タグか判断できないとすれば、文書ツリーを構築することができません。未知のメタデータを示すタグが書き込まれるかも知れないシチュエーションで、SGMLパーサに判断を求めるのは無理であるような気がします。(とはいえ、SGMLは詳しくないので、何か超絶的な上手い方法で解決する手段があるのかも知れませんが)

 では、このような問題を回避するには、どうすれば良いのか。基本的には、このようなSGML/XML混在文書のための専用パーサを作る必要があるでしょう。そういう特別なソフトを作らなければ、おそらく、このようなRDF埋め込みHTML文書を上手く扱うことはできないでしょう。

 というわけで。全ての文字データを属性に記述可能にするような変な機能を用意しても、結局、あまり活用できそうにないな、という気がしました。

 もちろん、メタデータの埋め込みが無意味と言っているわけではありません。XHTMLを使えば、矛盾無く、RDF情報をXHTML文書に埋め込むことができ、XMLパーサで完全に扱うことができます。おそらく、このRDF(Model and Syntax)の仕様書は22 February 1999と古い日付なので、こんな変なものを含んでいるだけでしょう。この仕様書がアップデートされるときには、きっとよりまともに扱いやすい仕様になっていることだろうと思います。

Facebook

キーワード【 川俣晶の縁側辛口甘口雑記
【辛口甘口雑記】の次のコンテンツ
2003年
08月
01日
spamの増加が劇的であることを示す数値
3days 0 count
total 2387 count
【辛口甘口雑記】の前のコンテンツ
2003年
07月
27日
Internetのなぜを読み解くスケール フリー ネットワーク
3days 0 count
total 2691 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20030729134525
サイトの表紙【辛口甘口雑記】の表紙【辛口甘口雑記】のコンテンツ全リスト 【辛口甘口雑記】の入手全リスト 【辛口甘口雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.