Hatena::ブログ(Diary)

naoyaのはてなダイアリー

ウェブのこと、技術のこと、日々の出来事。

July 28, 2005

Accout Auto-Discovery 仕様修正案

いくつかのフィードバックを受けて Hatena ID Auto-Discovery 改め Account Auto-Discovery の仕様を修正。

まず、

それはともかく、ふと思ったのは、FOAFに対する名前空間指定は無くて良いんだろうかということ。XMLにはそんなに詳しくないのでただの勘なのだが、FOAF内に記述するならともかくとしてXHTML内に記述する訳だから、デフォルトの名前空間FOAFにすることは出来ないんじゃないかなと考えた。

d.aql - はてなIDページ埋め込みXMLのこと

という名前空間に関する話。その通りなのでこれは即採用です。

あと TrackbackRDF を HTML/XHTML に埋め込む時に,XHTML にはコメントとしてではなく直接埋め込むことを想定していて,現状では DTD 違反になるからコメントでって話だったと思います.だから Trackback ping URI の埋め込みについての話では RDF の部分が XHTML としてレンダリングした時に値が表示されないように配慮されていました.ぢゃあ実際に XHTML に埋め込む時に,コメントとしてではなく,直接埋め込むかというと DTD との関係で今のところは直接埋め込むことをぼくはしないだろうけど.それで問題の部分は <faof:accountName>naoya</faof:accountName> であって,ここは書き方を変えたほうが良いでしょう.

Hatena ID Auto-Discovery について / おのひろきおんらいん

XHTML にコメントしないで埋め込んだとき、そのメタデータがブラウザなどでレンダリングして「naoya」とか画面に出てしまうのを回避したほうが良いだろう、という話。これも確かにそうなので、アトリビュートを使う方向に変更してみます。

やむにやまれぬとして許容するとして(許容したくないけど)考えましょう: 要素内容をコメントアウトする前例に、<script>や<style>があります(XMLではなくて古いSGML構文ならこれを合理化することもできます)。この例では、特定要素の内部にあるコメントということで、囲っている要素タグが「誰が何のためにどんなフォーマットで何を書いているか」を伝えています。というわけで、特定囲みタグの内部に限定して内容をコメントアウト

して欲しいな。

檜山正幸のキマイラ飼育記 - コメントアウトはやめてくれ

これは正直もうちょっと吟味したいところ。囲みを追加したほうが良い、という論旨は理解できるのですが、FOAF にすることで少し仕様が膨れ上がっているところに、更にこの仕様を盛り込むのがいいかどうか。個人的にはアリだと思うのですが、他の方の意見も聞いてみたい。

ということで、上記三つを盛り込んで

<span class="embeddedMetainfo">
<!--
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:foaf="http://xmlns.com/foaf/0.1/">
<rdf:Description rdf:about="http://www.hatena.ne.jp/info/perl/autodiscovery/test">
  <dc:creator>
    <foaf:Person>
      <foaf:holdsAccount>
        <foaf:OnlineAccount foaf:accountName="hatena">
          <foaf:accountServiceHomepage rdf:resource="http://www.hatena.ne.jp/"/>
        </foaf:OnlineAccount>
      </foaf:holdsAccount>
    </foaf:Person>
  </dc:creator>
</rdf:Description>
</rdf:RDF>
-->
</span>

となりました。うーん、長い。でもしょうがないのかも。もう少し短縮できたらいいんだけど。

ちなみにこの中に含まれる値としてのデータは、

  • rdf:about にあるリソースURI
  • hatena というアカウント名
  • そのアカウント名のホームページURI

の三つです。どれも業者側がこのデータのために新たに定義する必要のないデータなので、配布自体の敷居はそれほど高くないと思います。AdSenseJavaScript コードのように、丸々コピペもしくは必要な箇所だけ変えることになるでしょうしね。

rdf:about の URI に関して、

rdf:aboutのところはpermalink毎に変えていかないといけないのか?かなり面倒だぞ。

複数個のアカウントを書いていこうとか思ったら、blogのような自動生成ではないホームページではほぼ無理。ツールの進歩も必要かな。

blog.nomadscafe.jp: エレガントじゃないなぁ。AccountAutoDiscovery

とあるのですが、permalink を埋められるのならそうした方がいいとは思いますが、そうでなければそのウェブサイトのトップページの URI でも問題はないのでないかなと思います。現実問題、rdf:about の値を parse の条件判定に使うことはないでしょうし、RDF のトリプルを考えても意味的には問題なさそうです。

逆に、blog や CMS のようなツールによる自動生成じゃないウェブサイトで、こういったメタデータを埋め込みたいと思うサイトがどれぐらいあるかってとこですよね。そんなになさそう。(笑)

ということで、新しい仕様に対応した Perl モジュールを以下においておきます。0.03 になりました。

microformats 的にメタデータを囲む、というところに関してコメントいただけると嬉しいです。

fumiakiyfumiakiy 2005/07/28 13:18 思いつきですが、RDFってXMLでない記述法がありますね?そっちで書いたほうがいいんじゃないかなぁと。scriptとかstyleとかってタグを埋め込むわけじゃないからコメントアウトしてもいいんだけど、トラバ仕様みたいにXHTML的に意味あるタグ/要素をコメントアウトするのはなんとなくキモチが悪い...のは私だけ?
あ、でもパーサー書くのがメンドクサイか...。
http://www.kanzaki.com/memo/2004/03/27-1とか。

vkgtarovkgtaro 2005/07/28 14:09 <span class=”embeddedMetainfo”>
ココの部分
</span>
が見えないです。

おのひろきおのひろき 2005/07/28 14:16 RDF をコメントとして埋め込むってのに対して,賛成か反対かを問われれば反対.span class=”embeddedMetainfo”はあったほうが良い.すべてを microformats として記述できるように microformats としての profile を考えたほうが良いのではないかと思う.

kazeburokazeburo 2005/07/28 14:17 <link ref=”meta” title=”FOAF” href=”〜”>を追いかける仕様とかはないですか?

aqlaql 2005/07/28 14:34 microformats的アプローチを用いたのは、内容に意味があるよと主張したいのだろうと思うのですが、その内容が(コメントアウトなので)空要素となるので…。まぁ、やむにやまれない感が伝わっていいのかもしれませんが。うーん、バランスの取り難い議論ですね。

naoyanaoya 2005/07/28 14:50 コメントがコメントになっちゃってました。直しました。

うーむ、あっちにいくとこっちにこっちにいくとあっちにという感じで結局全て満足のいくところはない、って感じですね。

僕としてはやりたいことははっきりしているので、なるべくそのやりたいことを簡単に解決できる方法がいいと思っていて、なので Parser 書くのが大変な仕様とか、別途他のドキュメントを再度リクエストするという仕様はなしかなあと思っています。

すべて microformats というのは、例の新しい仕様をどうこうという問題などもあり、実現までちょっと道のりが遠そうなのでできればそれは考えたくないです。

ということで、できれば embedded で囲むの YES or NO という議論を固めて、それで仕様を fix し、そろそろはてなダイアリーで実験するというところに入っていきたいなあと。

naoyanaoya 2005/07/28 16:38 ブラウザで見えない必要があるってことじゃなくて Validator で Valid にならないってことが問題なのでスタイルで見た目をほげるってのは、ちょっと違いますね。

tsupotsupo 2005/07/28 19:06 display:none が効くのはスタイルシートが利用できる環境だけです。それなら、まだコメントアウトの方がいいと思います。

tociyukitociyuki 2005/07/29 02:08 foaf:accountNameはそのとおりですね。アトリビュート化に私も賛成です。
spanの件ですが、XHTMLではxmlnsを宣言すれば、裸でRDFを埋め込めるのですから、
span・コメント・CDATAで囲むのを仕様化するのは反対です。
トラックバックでも「現状のバリデータ対策としてコメントアウトする方法もありますよ」
という提案にすぎず、強制ではないのです。同じ扱いで良いのではないでしょうか。
気になる方は、XHTMLの正式のやりかたで埋め込んでくださいということで良いのでは?

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。