Hatena::Groupweb

vantguarde

3.4

HTML5でたよ (Mar. 2010)

| 23:56

まだですが、もうでますよ。

もうひとつ HTML: The Markup Language (略すと「H:TML」)なんてのが出ますが、まだ上がってないですね。日付変わっちゃうかしら。

さて、Microdata分離2D Context分離はもう書いたので、ほとんど書くことがないという。。

あ、postMessage()などを定義してた部分がWeb Messagingっていうのに別れてますね。こっちはたしかWebAppsに移るので、HTML WGからは出ていません。

ほかはDiffsのchangelogから見てもらうとして。

あと関係ないですがWeb Sockets APIとWeb Socket Protocolの名称が統一されて、「WebSocket」になりました

進展は結構あった気はしますが、表だった感じではないのかなあと。とはいえLCを目指す段階で大きな動きがあってもというのはありますが……

5.14

GoogleのRich Snippets

| 00:42

触れておきますよ。

Today, we're announcing Rich Snippets, a new presentation of snippets that applies Google's algorithms to highlight structured data embedded in web pages.

Rich Snippets give users convenient summary information about their search results at a glance. We are currently supporting data about reviews and people. When searching for a product or service, users can easily see reviews and ratings, and when searching for a person, they'll get help distinguishing between people with the same name.

Official Google Webmaster Central Blog: Introducing Rich Snippets

検索結果にレビューや人の名前があったら、ちょっと違う見た目になるようです。

で、レビューや人についての情報をどうやって判断するかというと、microformatsやRDFaを使うと。書いたら何もしないでも結果に表れるってのは、Yahoo!のSearchMonkeyと違って良いところかなと。

ただ、現在の実装はmicroformats, RDFaともに良くない感じです。結構厳しいマークアップを課すmicroformatsは、それが定義されていないように使われる可能性があります。まあ、コンベンションなのでそこは崩れても良いのかもしれませんが。

RDFaは、自分で好きな語彙を使う事ができず、data-vocabulary.orgで定義されているプロパティのみが対象となるようです。そして公開されているRDFスキーマが良くない感じ。ここは報告しておかないと。

じゃあ、Googleは何も知らないアホ集団か(そしてGoogle叩きへ)みたいな流れになるかというとそうではないです。指揮をとってるのはAppleでMCFをつくって、後にNetscapeでRSSへと発展させたRamanathan V. Guhaですし、ちゃんとしてます。

インタビューも結構面白いですし、今後の向上に期待したいところ。

1.23

RDFaは拡張でいいよ

| 23:53

「RDFaをHTML5に!」な話が素敵にのびています*1

基本的に「拡張性!」だとか「Use Casesは?」とかいつもの馴れ合いなんですが、なんというか、HTML5に追加するしないのを議論してることに少し驚いたり。

RDFなんていうある意味特殊なものをHTMLでサポートさせたかったら、それは拡張として提供すべきじゃないかなあと思うんですよね。HTML5はブラウザーのプロファイルでして、基礎*2なわけです。

なので、RDFa独自の処理要件を定義したプロファイルであれモジュールであれを作って、使いたい人だけ使えばいいんじゃないかなあと。CSSやDOMみたく、コアやベースの上に乗っけるかたちで拡張するアプローチですね。というか、RDFa in XHTMLはそうやってプロファイルを定義していますし、なんでRDFaをHTML5でネイティブサポートみたいな流れになってるのかなーと。

RDFaの処理要件といっても、基本は属性なのでDOMの構成が大きく変わるわけでもないですし、CURIEやそれに準じたURIrefの解決方法についても、HTML5のなにかとコンフリクトするって事があるとはあまり思えないです。テンプレートとかに組み込まれない限り大きな影響はないでしょう。

ブラウザーがRDFaを解釈して~ってなると話は別ですが、現実的とも思えないですし、現時点ではそういう拡張のアプローチがいいと思うんですけどね。

しかし、「大きすぎ」って言う人もいれば「これ入れて」っていう人もいるという。ふしぎ。

*1whatwg@whatwg.orgの1月分アーカイブから「RDFa」で検索してみてください

*2:基礎というには大すぎとか言われたりしますが、まあ、まあ

11.23

RDFaでFOAFを書く

| 14:12

また変なXHTMLを見つけたので。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
 "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html version="XHTML+RDFa 1.0"
 xmlns="http://www.w3.org/1999/xhtml"
 xmlns:foaf="http://xmlns.com/foaf/0.1/"
 xmlns:dc="http://purl.org/dc/terms/">
<head typeof="foaf:PersonalProfileDocument">
  <title property="dc:title">profile</title>
  <link rel="foaf:maker" resource="[_:vantguarde]"/>
  <link rel="foaf:primaryTopic" resource="[_:vantguarde]"/>
</head>
<body>
<h1>profile: vantguarde</h1>
<dl about="[_:vantguarde]" typeof="foaf:Person">
  <dt>Name:</dt>
  <dd property="foaf:nick">vantguarde</dd>
  <dt>Email:</dt>
  <dd><a rel="foaf:mbox" href="mailto:vantguarde@example.com">vantguarde@example.com</a></dd>
  <dt>Weblog:</dt>
  <dd><a rel="foaf:weblog" href="http://web.g.hatena.ne.jp/vantguarde/">vantguarde</a></dd>
  <dt>Birthday:</dt>
  <dd property="foaf:birthday" content="03-19">19 Mar. 1998</dd>
  <dt>Twitter:</dt>
  <dd rel="foaf:holdsAccount"><a rel="foaf:isPrimaryTopicOf" href="http://twitter.com/vant">twitter.com/vant</a></dd>
  <dt>Skype:</dt>
  <dd rel="foaf:phone" resource="callto://vantguarde">vantguarde</dd>
</dl>
</body>
</html>

RDFaで覚えておくのは次くらいでしょうか。

  • CURIE(QNameっぽくURIを書ける。ブラケットで囲むとsafe CURIEに。)
  • 匿名ノード(アンダースコアがprefixなCURIE。込み入った表現をしたいときにほぼ必須。)
  • @aboutと@resourceはURIまたは匿名ノードをとる。
  • @rel, @revはpredicateを表現。@propertyはリテラル用のpredicate。
  • @rel, @revはRDFaで@about/@resourceに対するpredicateとしてスコープが変更。
  • @hrefなどもリソースとして使われる。
  • @typeofはrdf:typeと等価。
  • chainingというルールがあって、それを使えばいろいろまとめられる。

けっこう多かった。まあでもRDFわかる人ならすぐですね。

foaf.rdfというブラウザーで開けないファイルよりは、RDFa+FOAFなプロファイルページにするのがいいのかなあと思ったりしています。

Contact: @vant / lepetitcroissant@gmail.com.