prefix属性でOGPを指定する場合、og:やfb:と名前空間URIの間には半角スペースが必要、ということが分かった。

わざわざブログにするほどのものでもないかと思ったのですが、一応メモ的な形で書かせていただきます。

RDFa Lite 1.1、もしくは RDFa Core 1.1で定義されているprefix属性を使って下記のソースのようにOGPを指定して、HTML5 Validatorにかけたところエラーがでました。

<html lang="ja" prefix="og:http://ogp.me/ns# fb:http://www.facebook.com/2008/fbml">

特に、変なところはないと思っていたので、なんでかなーと思いながら上記の仕様書(といってもRDFa Lite 1.1のほうですが)を眺めていると、気になる記述が。

prefix属性のサンプルソースで、仕様書ではov:というプレフィックスが使われていますが、ov:と名前空間URIの間に半角スペースがあります。試しに、og:やfb:との間に半角スペースを追加したところValidになりました。

Valid

<html lang="ja" prefix="og: http://ogp.me/ns# fb: http://www.facebook.com/2008/fbml">

og:やfb:と名前空間URIの間には半角スペースをいれる。

InValid

<html lang="ja" prefix="og:http://ogp.me/ns# fb:http://www.facebook.com/2008/fbml">

og:やfb:と名前空間URIの間には半角スペースがない

ついついスペース無しで書いてしまいそうですが、プレフィックスと名前空間URIの間には半角スペースが必要、ということがよく分かりました。