HTML+RDFa

HTML+RDFa

[2] HTML+RDFa 1.1 は、 HTMLRDFa を使う方法を規定した仕様の一つです。 現実にはあまり使われていません。

仕様書

文書の適合性

[6] 適合する文書のクラスとして、 HTML+RDFaHTML+RDFa Lite の2つが定義されています。前者は RDFa Core 1.1、後者は RDFa Lite 1.1HTML と組み合わせたものです。

[7] 2章には両者の違いが明記されていませんが、4章に書いてあります。 (わかりにくい...)

[8] HTML+RDFa/HTML+RDFa Lite文書には次の要件が課されています >>1

[12] >>9XHTML+RDFa からコピペ改変したのでしょうが、相変わらず「必須とされたすべての要件」 が何なのか不明です。 HTML5 仕様書には「mandatory」なる単語すら含まれていません。 >>9 があれば >>11 の前半はカバーできていそうなものですが、なぜ敢えて繰り返しているのか、しかもなぜ >>11 では MUST でなく SHOULD となっているのかまったく謎です。 >>10>>11 も重複しているように思えます。

[13] そもそも HTMLRDFa の各仕様書とこの仕様書の残りの部分でそれぞれ適切に規定がなされていれば、 >>8 の要件自体敢えて繰り返す必要性がないはずですが・・・。
[39] W3C の仕様書なので HTML の最新版である HTML Standard を参照していないだけでなく、 W3C Process の規制により W3C における最新版である HTML 5.1 すらも参照せず、 それより一世代前の HTML 5.0 を参照しています。ですから厳密には W3C HTML が改版される度に RDFa も改版する必要があるのですが、本当に今後もメンテナンスされ続けるのでしょうか。

属性

[30] HTML+RDFa Lite では、 RDFa Lite 1.1 より vocabtypeofpropertyresourceprefix属性をすべての要素で使うことができます。 また hrefsrcHTML5 で既に認められている場所で使うことができます。 >>1

[31] HTML+RDFa では、 RDFa Core 1.1 より vocabtypeofpropertyresourceprefixcontentaboutrelrevdatatypeinlist属性をすべての要素で使うことができます。 また hrefsrcHTML5 で既に認められている場所で使うことができます。 >>1

[32] relcontentRDFa Lite 1.1 に含まれていませんが、 HTML では一部の要素HTML 本来の意味で使うことができます。 RDFa 側でそれを禁止してはいないようです。しかし RDFa処理器は Lite と Core の区別がなくすべての RDFa 属性を取り扱いますから、 RDFa Lite と普通の HTML を使っているつもりでも、勝手に RDFa Core 1.1 として解釈されてしまう場合があり得るということになります。 本当にそんなのでいいのでしょうかね。 RDFa Lite 1.1 の項も参照してください。

[33] HTML5文書body 要素の中であって property 属性がある linkmetaフロー内容です。 >>1

つまり bodydivli の中で使えることになります。
[37] なぜ body 内に限定されているのか謎です。 Atomcontent 要素の中や SVGforeignObject の中で body を通さずに HTML が使われるときや文書に属さない時には使えません。また HTML5文書になぜか限定されているので、 HTML4XHTML では使えないようですが、意図するところがまったく推測できません。
[19] >>37 この規定は >>18 によると <link rel=stylesheet>body 中で使うことを禁止する意図があるようです。 (こんな行間読めるはずがない・・・。)

[34] property がある link 要素には rel 属性はなくて構いません。 >>1

[35] property がある link 要素には href 属性はなくて構いません。 >>1

[36] property 属性がある meta 要素には namehttp-equivcharset はなくて構いません。 content 属性は必須です。 >>1

HTML と XHTML

[14] HTML+RDFa 仕様書では「XML モード」という未定義の用語が使われており、文脈からして HTMLXHTML の違いのことを指しているようです。

[15] XML モードでない HTML+RDFa 1.1 文書 (document) MIME型 text/html を使うべきです>>1

[16] XML モードの XHTML5+RDFa 1.1 文書 (document) MIME型 application/xhtml+xml を使うべきです>>1

[17] なぜこれらが MUST でなく SHOULD なのか、他にどのような選択肢があるのかは謎です。

[38] xmlns に関するびっくりする規定があります。 xmlns の項を参照してください。

HTML の版

[23] HTML+RDFa 仕様書は文書にも利用者エージェントにも HTML 5.0 に適合することを要求していますが、なぜか HTML4 にも (見出しを含め) 何度か言及しています。 その意図するところは不明瞭ですが、どうやら HTML4 文書HTML5構文解析器で処理できるものなので、対応範囲に含めているようです。 また、古い版の仕様書では HTML4DTDRDFa を追加したものも載っていたようです。

[24] こういうのを普通 HTML4 に対応しているとは言わないと思いますが・・・。

[29] 文書の適合性としては HTML5 を要求していますが、妥当性の検証においては HTML4 にも RDFa の属性を追加することが求められています。 (それなら属性の妥当性のみ定義しておけばよく、 文書の適合性を規定する必要はなさそうなものですが・・・。)

XHTML+RDFa の版

[27] RDFa の項を参照してください。

歴史

[3] HTML+RDFaW3C勧告 (>>1) は W3C Process の都合上、まだ W3C勧告になっていない HTML 5.0RDFa 1.1 に依存した機能を参考としています。

[4] 技術的な内容が手続き上の理由で歪められてまで W3C勧告に急いでする理由は何でしょうね。 逆に内容を歪めるかスケジュールを遅らせるか選ばせる Process の存在価値は何でしょう。
[25] 処理モデルの一部分が規定ではなく参考だというのが何を表すのかは謎です。 その部分だけ実装しない、あるいはその部分だけ違った形で実装しても良いということでしょうか。 そのような実装を認めても、形式的には何ら問題ないかもしれませんが、実際には相互運用性を損なうだけで、 誰にとっても嬉しくないと思うのですが。
[28] 処理モデルの章に文書の適合性の規定が一部混じっているなど、品質は相変わらずです。

[22] HTML 5.0W3C勧告となったことに伴い第2版 W3C勧告 (>>21) が発行され、 HTML4 に無かった機能の部分が参考から規定に変更されています。 この W3C の仕様書としての形式的な変更のみで、実質的に変更はされていないようです。

[26] なお RDF 1.1rdf:HTML に関する機能は DOM4W3C勧告でないため、まだ参考のままになっています。 (他の W3C の仕様書は Web IDLDOM4W3C勧告になっていないのに既に W3C勧告となっていて参考ともなっていないものがちらほら見られますが、 なぜここだけ厳密に運用しているのか不思議です。)