[2] [DFN[[[HTML+RDFa 1.1]]]] は、 [[HTML]] で [[RDFa]] を使う方法を規定した仕様の一つです。
現実にはあまり使われていません。

* 仕様書

[REFS[
- [20] [CITE@en[HTML+RDFa 1.1 - Second Edition]] ([TIME[2015-03-09 22:47:33 +09:00]] 版) <http://www.w3.org/TR/html-rdfa/>
-- [1] 旧 [CITE@en[HTML+RDFa 1.1]] ([TIME[2013-08-20 15:49:04 +09:00]] 版) <http://www.w3.org/TR/2013/REC-html-rdfa-20130822/>
]REFS]

* 文書の適合性

[6] 適合する[[文書]]のクラスとして、 [DFN[[[HTML+RDFa]]]] と [DFN[[[HTML+RDFa Lite]]]]
の2つが定義されています。前者は [[RDFa Core 1.1]]、後者は [[RDFa Lite 1.1]] を [[HTML]] と組み合わせたものです。

;; [7] 2章には両者の違いが明記されていませんが、4章に書いてあります。 (わかりにくい...)

[8] [[HTML+RDFa]]/[[HTML+RDFa Lite]] の[[文書]]には次の要件が課されています [SRC[>>1]]。
[FIG(list)[
- [9] [[HTML 5.0]] で[RUBYB[必須]@en[mandatory]]とされたすべての要件に従わなければ[['''なりません''']]。
- [10] [[RDFa]] による [[HTML]] への拡張が[[妥当]]で[[適合]]していなければ[['''なりません''']]。
- [11] すべての [[HTML 5.0]] [[要素]]・[[属性]]は [[HTML 5.0]] に適合する形で、
[[RDFa]] [[属性]]は [[RDFa Core 1.0]] と [[HTML+RDFa 1.1]] に適合する形で使う[['''べきです''']]。
]FIG]

[12] >>9 は [[XHTML+RDFa]] からコピペ改変したのでしょうが、相変わらず「必須とされたすべての要件」
が何なのか不明です。 [[HTML5]] 仕様書には「mandatory」なる単語すら含まれていません。
>>9 があれば >>11 の前半はカバーできていそうなものですが、なぜ敢えて繰り返しているのか、しかもなぜ
>>11 では MUST でなく SHOULD となっているのかまったく謎です。 >>10 と >>11 も重複しているように思えます。

;; [13] そもそも [[HTML]] と [[RDFa]] の各仕様書とこの仕様書の残りの部分でそれぞれ適切に規定がなされていれば、
>>8 の要件自体敢えて繰り返す必要性がないはずですが・・・。

;; [39] [[W3C]] の仕様書なので [[HTML]] の最新版である [[HTML Standard]] を参照していないだけでなく、
[[W3C Process]] の規制により [[W3C]] における最新版である [[HTML 5.1]] すらも参照せず、
それより一世代前の [[HTML 5.0]] を参照しています。ですから厳密には [[W3C]] [[HTML]]
が改版される度に [[RDFa]] も改版する必要があるのですが、本当に今後もメンテナンスされ続けるのでしょうか。

* 属性

[30] [DFN[[[HTML+RDFa Lite]]]] では、 [[RDFa Lite 1.1]] より 
[CODE(HtMLa)@en[[[vocab]]]]、[CODE(HTMLa)@en[[[typeof]]]]、[CODE(HTMLa)@en[[[property]]]]、
[CODE(HTMLa)@en[[[resource]]]]、[CODE(HTMLa)@en[[[prefix]]]] 各[[属性]]をすべての[[要素]]で使うことができます。
また [CODE(HTMLa)@en[[[href]]]] と [CODE(HTMLa)@en[[[src]]]] は [[HTML5]] で既に認められている場所で使うことができます。 [SRC[>>1]]

[31] [DFN[[[HTML+RDFa]]]] では、 [[RDFa Core 1.1]] より 
[CODE(HtMLa)@en[[[vocab]]]]、[CODE(HTMLa)@en[[[typeof]]]]、[CODE(HTMLa)@en[[[property]]]]、
[CODE(HTMLa)@en[[[resource]]]]、[CODE(HTMLa)@en[[[prefix]]]]、[CODE(HTMLa)@en[[[content]]]]、
[CODE(HTMLa)@en[[[about]]]]、[CODE(HTMLa)@en[[[rel]]]]、[CODE(HTMLa)@en[[[rev]]]]、
[CODE(HTMLa)@en[[[datatype]]]]、[CODE(HTMLa)@en[[[inlist]]]] 各[[属性]]をすべての[[要素]]で使うことができます。
また [CODE(HTMLa)@en[[[href]]]] と [CODE(HTMLa)@en[[[src]]]] は [[HTML5]] で既に認められている場所で使うことができます。 [SRC[>>1]]

;; [32] [CODE(HTMLa)@en[[[rel]]]] や [CODE(HTMLa)@en[[[content]]]] は [[RDFa Lite 1.1]]
に含まれていませんが、 [[HTML]] では一部の[[要素]]で [[HTML]] 本来の意味で使うことができます。
[[RDFa]] 側でそれを禁止してはいないようです。しかし [[RDFa処理器]]は Lite と Core
の区別がなくすべての [[RDFa]] [[属性]]を取り扱いますから、 [[RDFa Lite]] と普通の [[HTML]]
を使っているつもりでも、勝手に [[RDFa Core 1.1]] として解釈されてしまう場合があり得るということになります。
本当にそんなのでいいのでしょうかね。 [[RDFa Lite 1.1]] の項も参照してください。

[33] [[HTML5文書]]の [CODE(HTMLe)@en[[[body]]]] [[要素]]の中であって [CODE(HTMLa)@en[[[property]]]] [[属性]]がある
[CODE(HTMLe)@en[[[link]]]] や [CODE(HTMLe)@en[[[meta]]]] は[[フロー内容]]です。 [SRC[>>1]]

;; つまり [CODE(HTMLe)@en[[[body]]]] や [CODE(HTMLe)@en[[[div]]]] や [CODE(HTMLe)@en[[[li]]]] の中で使えることになります。

;; [37] なぜ [CODE(HTMLe)@en[[[body]]]] 内に限定されているのか謎です。 [[Atom]] の [CODE(XMLe)@en[[[content]]]]
[[要素]]の中や [[SVG]] の [CODE(XMLe)@en[[[foreignObject]]]] の中で [CODE(HTMLe)@en[[[body]]]]
を通さずに [[HTML]] が使われるときや[[文書]]に属さない時には使えません。また [[HTML5文書]]になぜか限定されているので、
[[HTML4]] や [[XHTML]] では使えないようですが、意図するところがまったく推測できません。

;; [19] >>37 この規定は >>18 によると [CODE(HTML)@en[<link rel=stylesheet>]]
を [CODE(HTMLe)@en[[[body]]]] 中で使うことを禁止する意図があるようです。
(こんな行間読めるはずがない・・・。)
[REFS[
- [18] [CITE@en[RDFa Working Group Teleconference Minutes, 28 February 2013]] ([TIME[2013-03-11 09:38:59 +09:00]] 版) <http://www.w3.org/2010/02/rdfa/meetings/2013-02-28#Mike_Smith__28_tm__29___27_s_Complaint>
]REFS]

[34] [CODE(HTMLa)@en[[[property]]]] がある [CODE(HTMLe)@en[[[link]]]] [[要素]]には
[CODE(HTMLa)@en[[[rel]]]] [[属性]]はなくて構いません。 [SRC[>>1]]

[35] [CODE(HTMLa)@en[[[property]]]] がある [CODE(HTMLe)@en[[[link]]]] [[要素]]には
[CODE(HTMLa)@en[[[href]]]] [[属性]]はなくて構いません。 [SRC[>>1]]

[36] [CODE(HTMLa)@en[[[property]]]] [[属性]]がある [CODE(HTMLe)@en[[[meta]]]] [[要素]]には
[CODE(HTMLa)@en[[[name]]]]、[CODE(HTMLa)@en[[[http-equiv]]]]、[CODE(HTMLa)@en[[[charset]]]]
はなくて構いません。 [CODE(HTMLa)@en[[[content]]]] [[属性]]は必須です。 [SRC[>>1]]

* HTML と XHTML

[14] [[HTML+RDFa]] 仕様書では「XML モード」という未定義の用語が使われており、文脈からして [[HTML]]
と [[XHTML]] の違いのことを指しているようです。

[15] [[XML]] モードでない [DFN[HTML+RDFa 1.1 [RUBYB[文書]@en[document]]]]は [[MIME型]]
[CODE(MIME)@en[[[text/html]]]] を使う[['''べきです''']]。 [SRC[>>1]]

[16] [[XML]] モードの [DFN[XHTML5+RDFa 1.1 [RUBYB[文書]@en[document]]]]は [[MIME型]]
[CODE(MIME)@en[[[application/xhtml+xml]]]] を使う[['''べきです''']]。 [SRC[>>1]]

;; [17] なぜこれらが MUST でなく SHOULD なのか、他にどのような選択肢があるのかは謎です。

[38] [CODE(XMLa)@en[[[xmlns]]]] に関するびっくりする規定があります。 [CODE(XMLa)@en[[[xmlns]]]]
の項を参照してください。

* HTML の版

[23] [[HTML+RDFa]] 仕様書は[[文書]]にも[[利用者エージェント]]にも [[HTML 5.0]]
に適合することを要求していますが、なぜか [[HTML4]] にも (見出しを含め) 何度か言及しています。
その意図するところは不明瞭ですが、どうやら [[HTML4]] [[文書]]も [[HTML5]]
の[[構文解析器]]で処理できるものなので、対応範囲に含めているようです。
また、古い版の仕様書では [[HTML4]] の [[DTD]] に [[RDFa]] を追加したものも載っていたようです。

[24] こういうのを普通 [[HTML4]] に対応しているとは言わないと思いますが・・・。

[29] [[文書]]の適合性としては [[HTML5]] を要求していますが、妥当性の検証においては [[HTML4]]
にも [[RDFa]] の属性を追加することが求められています。 (それなら属性の妥当性のみ定義しておけばよく、
文書の適合性を規定する必要はなさそうなものですが・・・。)

* XHTML+RDFa の版

[27] [[RDFa]] の項を参照してください。

* 実利用例

[41] 
[CITE[https://web.archive.org/web/20130507132235im_/http://www.7daydaily.com/]], [TIME[2025-08-03T10:03:12.000Z]] <https://web.archive.org/web/20130507132235im_/http://www.7daydaily.com/>

>
[PRE[
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN">
<!--[if lt IE 7]> <html lang="en" dir="ltr" version="HTML+RDFa 1.1"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/terms/"
  xmlns:foaf="http://xmlns.com/foaf/0.1/"
  xmlns:og="http://ogp.me/ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:sioc="http://rdfs.org/sioc/ns#"
  xmlns:sioct="http://rdfs.org/sioc/types#"
  xmlns:skos="http://www.w3.org/2004/02/skos/core#"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema#" class="ie6"> <![endif]-->
<!--[if IE 7]> <html lang="en" dir="ltr" version="HTML+RDFa 1.1"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/terms/"
  xmlns:foaf="http://xmlns.com/foaf/0.1/"
  xmlns:og="http://ogp.me/ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:sioc="http://rdfs.org/sioc/ns#"
  xmlns:sioct="http://rdfs.org/sioc/types#"
  xmlns:skos="http://www.w3.org/2004/02/skos/core#"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema#" class="ie7"> <![endif]-->
<!--[if lt IE 7]> <html lang="en" dir="ltr" version="HTML+RDFa 1.1"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/terms/"
  xmlns:foaf="http://xmlns.com/foaf/0.1/"
  xmlns:og="http://ogp.me/ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:sioc="http://rdfs.org/sioc/ns#"
  xmlns:sioct="http://rdfs.org/sioc/types#"
  xmlns:skos="http://www.w3.org/2004/02/skos/core#"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema#" class="ie6"> <![endif]-->
<!--[if IE 7]> <html lang="en" dir="ltr" version="HTML+RDFa 1.1"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/terms/"
  xmlns:foaf="http://xmlns.com/foaf/0.1/"
  xmlns:og="http://ogp.me/ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:sioc="http://rdfs.org/sioc/ns#"
  xmlns:sioct="http://rdfs.org/sioc/types#"
  xmlns:skos="http://www.w3.org/2004/02/skos/core#"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema#" class="ie7"> <![endif]--><!--[if gt IE 8]><!--> <html lang="en" dir="ltr" version="HTML+RDFa 1.1"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/terms/"
  xmlns:foaf="http://xmlns.com/foaf/0.1/"
  xmlns:og="http://ogp.me/ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:sioc="http://rdfs.org/sioc/ns#"
  xmlns:sioct="http://rdfs.org/sioc/types#"
  xmlns:skos="http://www.w3.org/2004/02/skos/core#"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema#"<!--<![endif]-->

<head profile="http://www.w3.org/1999/xhtml/vocab">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />
<meta name="Generator" content="Drupal 7 (http://drupal.org)" />
<link rel="shortcut icon" href="http://7daydaily.com/misc/favicon.ico" type="image/vnd.microsoft.icon" />
  <title>7Day Daily</title>  
]PRE]

[42] >>41 欲張りセットw 意味がわかってて使っていたのかは謎

* 歴史

[3] [[HTML+RDFa]] の [[W3C勧告]] (>>1) は [[W3C Process]] の都合上、まだ [[W3C勧告]]になっていない [[HTML 5.0]]
と [[RDFa 1.1]] に依存した機能を[[参考]]としています。

;; [4] 技術的な内容が手続き上の理由で歪められてまで [[W3C勧告]]に急いでする理由は何でしょうね。
逆に内容を歪めるかスケジュールを遅らせるか選ばせる [[Process]] の存在価値は何でしょう。

;; [25] 処理モデルの一部分が[[規定]]ではなく[[参考]]だというのが何を表すのかは謎です。
その部分だけ実装しない、あるいはその部分だけ違った形で実装しても良いということでしょうか。
そのような実装を認めても、形式的には何ら問題ないかもしれませんが、実際には相互運用性を損なうだけで、
誰にとっても嬉しくないと思うのですが。

[REFS[
- [5] [CITE[HTML5-ImplementationReport - RDFa Working Group Wiki]] ([TIME[2013-06-13 21:01:58 +09:00]] 版) <http://www.w3.org/2010/02/rdfa/wiki/HTML5-ImplementationReport>
]REFS]

;; [28] 処理モデルの章に文書の適合性の規定が一部混じっているなど、品質は相変わらずです。

[22] [[HTML 5.0]] が[[W3C勧告]]となったことに伴い第2版 [[W3C勧告]] (>>21) が発行され、
[[HTML4]] に無かった機能の部分が[[参考]]から[[規定]]に変更されています。
この [[W3C]] の仕様書としての形式的な変更のみで、実質的に変更はされていないようです。

;; [26] なお [[RDF 1.1]] の [CODE@en[[[rdf:HTML]]]] に関する機能は [[DOM4]]
が [[W3C勧告]]でないため、まだ[[参考]]のままになっています。
(他の [[W3C]] の仕様書は [[Web IDL]] や [[DOM4]] が [[W3C勧告]]になっていないのに既に
[[W3C勧告]]となっていて[[参考]]ともなっていないものがちらほら見られますが、
なぜここだけ厳密に運用しているのか不思議です。)

[REFS[
- [40] [CITE@en[HTML+RDFa 1.1 - Second Edition]]
( ([TIME[2014-12-11 19:02:28 +09:00]] 版))
<http://www.w3.org/TR/2014/PER-html-rdfa-20141216/>
- [21] [CITE@en[HTML+RDFa 1.1 - Second Edition]] ([TIME[2015-03-09 22:47:33 +09:00]] 版) <http://www.w3.org/TR/2015/REC-html-rdfa-20150317/>
]REFS]
