[16] [[HTML]] の [DFN[[CODE(HTMLa)@en[[[prefix]]]]]] [[属性]]は、 [[RDFa]] のための[[接頭辞]]と [[IRI]]
の対応を定義する[[属性]]として提案されていました。

* 代替

[17] この[[属性]]は [[HTML Standard]] に含まれていません。

[18] [[Microdata]] にはこの[[属性]]に相当するものはありません。

* 仕様書

[REFS[
- [1] [CITE@en[RDFa Core 1.1 - Second Edition]] ([TIME[2013-08-15 17:12:47 +09:00]] 版) <http://www.w3.org/TR/rdfa-core/#A-prefix>
- [2] [CITE@en[RDFa Core 1.1 - Second Edition]] ([TIME[2013-08-15 17:12:47 +09:00]] 版) <http://www.w3.org/TR/rdfa-core/#PS-IRI-mappings>
]REFS]

* 名前空間 URL

[15] [[RDFa 1.1]] によれば [[null名前空間]]のほか[[HTML名前空間]]の[[属性]]としても使えます。

* 属性値

[9] [[属性値]]は次のような[[接頭辞]]と[[IRI]]の組の[[空白]]区切りのリストとされています [SRC[>>1]]。
[FIG[
[PRE(EBNF code)[
[[NCName]] ':' ' '+ [[xsd:anyURI]]
]PRE]
]FIG]

[10] [[NCName]] は [[XML名前空間1.0 2e]] を参照しています [SRC[>>1]]。これは [[XML 1.0 5e]] より前です。

[13] [[IRI]] の部分は [[xsd:anyURI]] とされており、明言されていませんが、引用規格より [[XML Schema 1.1]]
の定義を参照しているようです。 [[RDFa 1.1]] は [[RFC 3987]] [[IRI]] を参照していますが、 [[XML Schema 1.1]]
は任意の [[XML 1.0]] [[Char]] を認めており ([[LEIRI]])、少し差異があります。特に [[XML Schema 1.1]]
[[xsd:anyURI]] は[[空白]]の使用を認めています。

[6] [[相対IRI参照]]を使う[['''べきではありません''']]。 [SRC[>>2]]

;; [7] なぜ禁止しないのでしょうか・・・。

[11] [[空白]]は [[XML]] の [[S]] と同じ定義になっています。

[14] しかし[[接頭辞]]と[[IRI]]の間の空白は敢えて [CODE(charname)@en[[[SP]]]] になっていることから、
他の[[空白]]文字ではいけないようです。

[12] [[接頭辞]]の重複は禁止されていないようです。

* 処理

[3] [[接頭辞]]は[[小文字]]に変換されます [SRC[>>2]]。 ただしどの方法で[[小文字]]化されるのかは明記されていません。

[5] 同じ[[接頭辞]]が複数回宣言された場合、後の定義が有効になります [SRC[>>2]]。

[8] [[相対IRI参照]]を[[解決]]してはなりません [SRC[>>2]]。

* 関連

[4] [[RDFa  1.1]] は [CODE(XML)@en[[[xmlns]]]] による[[接頭辞]]の宣言を[[非推奨]]としており、
[CODE(HTMLa)@en[[[prefix]]]] による宣言が優先されます。

* 歴史

[19] 
[TIME[2017年10月][2017-10]]に日本で話題になった [[Webページ]]
304個 [SRC[>>20]] のうち、 [CODE[prefix][prefix=""]] 属性が使われているのは140個。

[21] [CODE[html]] [[要素]]にあるのが 29個、
[CODE[head]] [[要素]]にあるのが114個。
それ以外の[[要素]]で使われている例はなし。

;; [24] 文書中いずれかの要素で [CODE[property]] 属性が使われているのが
264個。 (ほとんどが [CODE[meta]] [[要素]]。[CODE[head]] [[要素]]中のものが多いが、
[CODE[body]] [[要素]]子孫の例もそれなりにある。
[CODE[meta]] [[要素]]以外は延べ47箇所。 [CODE[span]] 要素、 [CODE[a]]
要素、 [CODE[div]] 要素、 [CODE[link]] 要素、 [CODE[li]] 要素の例があり。)

;; [25] [CODE[vocab]] 属性が使われているのは1個のみ。
[CODE[ul]] と [CODE[span]] で値は [CODE[http://schema.org/]]。

;; [26] [CODE[about]]、[CODE[resource]]、[CODE[datatype]] は用例なし。

[22] [CODE[html]] 要素の属性値:

- [CODE[og: http://ogp.me/ns#]]  24 個
- [CODE[og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp.me/
ns/article#]] 4個
- [[空文字列]] 1個
- [CODE[og: http://ogp.me/ns# fb: http://www.facebook.com/2008/fbml]] 1個

[23] [CODE[head]] 要素の属性値:

- [CODE[og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp.me/ns/article#]] 96個
- [CODE[og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#]] 6個
- [CODE[og: http://ogp.me/ns#]] 4個
- 各1個
-- [CODE[article: http://ogp.me/ns/article#]]
-- [CODE[og: http://ogp.me/ns# article: http://ogp.me/ns/article# fb: http://ogp.me/ns/fb#]]
-- [CODE[og: http://ogp.me/ns#  article: http://ogp.me/ns/article# fb: http://ogp.me/ns/fb#]] (※スペース個数が違う)
-- [CODE[og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# 2490221586: http://ogp.me/ns/fb/2490221586#]]
-- [CODE[og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# medium-com: http://ogp.me/ns/fb/medium-com#]]
-- [CODE[og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# mixi: http://mixiplatform.com/ns# g: http://base.google.com/ns/1.0]]
-- [CODE[og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# website: http://ogp.me/ns/website#]]
-- [CODE[og:http://ogp.me/ns# fb:http://ogp.me/ns/fb# article:http://ogp.me/ns/article#]]


[REFS[
- [20] <https://github.com/manakai/data-web-impls/blob/master/data/url-samples/brank/201710.txt>
]REFS]

