Open Graph名前空間宣言:XMLNSまたはヘッドプレフィックス付きのHTML?


129

Open Graph名前空間を最適に実装する方法について、矛盾する情報を見てきました。具体的には、Open Graph Webサイトはいくつかの異なる方法を使用しており、Facebook Open Graphの例は他の方法を使用しています。

Open Graphウェブサイトの例(HTMLプレフィックス属性を使用):

<html prefix="og: http://ogp.me/ns#">

Open Graph Webサイトのソースコード(HTML XMLNS属性を使用):

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">

Facebook Open Graphドキュメント(HEADプレフィックス属性を使用):

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">

Facebook Open Graphドキュメント#2(HTML XMLNS属性を使用):

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" 
      xmlns:fb="https://www.facebook.com/2008/fbml">

推奨される方法は何ですか、それとも重要ではありませんか?


9
私はあなたのために正しい答えを得るためにFBの内部でフォローアップしています。
Simon Cross

7
@SimonCross、数年後(2017年11月)私たちはまだ答えを待っています...;)
Helmut Granda

回答:


73

それらはすべて同等であり、すべて機能します。

プレフィックスを使用することをお勧めします。これは新しい推奨方法であり、文字数が少なくなっています。

すべてのドキュメントをプレフィックスに更新します。


4
なぜ何でも使う理由を説明できますか?私はこの宣言を省きますか?私がそれをしたら何かが壊れるのでしょうか?
アンドリューク

3
現時点では何も壊れませんが、明示的にできる場合、デフォルトに依存することはめったにありません。今後2年でデフォルトを変更すると、サイトが機能しなくなります。また、名前空間を直接宣言すると、Facebookだけでなく他のパーサーにも役立ちます。
ポールタージャン

1
ポール、私はドキュメントが11月以来更新されていないことに気づきました。近い将来、既存のすべてのブラウザで両方の方法がサポートされるのであれば、なぜ新しい方法を使用するのが最適なのでしょうか。(ユーザーエージェント、パーサーなどの)サポートがすべてではない場合、新しいものを採用することは、両者に実際の違いがない限り、不要なリスクのように思えます。そのようなリソースは見つかりませんでした。
AndrewF 2012

3
@PaulTarjan こちら!これにはを使用した例がありxmlnsます。また、タグまたはタグをprefix使用する必要がありますか?どちらにしても大丈夫でしょうか?どちらがお勧めですか?htmlhead
its_me 2012

9
ああ、それらのドキュメントは古いです。上の黄色いものがそうです。それらはたくさん参照されているので、触れたくありませんでした。入れprefixhead。両方で機能しますが、タグに近いほど良いです。
ポールTarjan


3

それは問題ではありません。RDFa Core Initial Context og、広く使用れている語彙プレフィックスとして認識します。

RDFaユーザーは、HTMLコードで接頭辞を定義する義務がなくても、これらの接頭辞使用できます。同じプレフィックスのリストは、URIでJSON-LDコンテキストとしてJSON-LDにも定義されていますhttp://www.w3.org/2013/json-ld-context/rdfa11。JSON-LDユーザーは@context、そのURIを持つキーを同じ接頭辞を使用する省略形として使用できます。

明確にするために強調が追加されました。

したがって、HTMLドキュメントに名前空間を追加する必要はありません。詳細はこちら


2
<html xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns# fb:
http://www.facebook.com/2008/fbml"> <head>

検証する最良の方法があります。


1

prefix / xmlns属性は、省略形を定義するのに役立ちます。rdfはxml系統からのものなので、xmlns表記はdoctypeの詳細とは無関係に機能することが期待されます。rdfaは 、http://www.w3.org/TR/rdfa-in-html/#extensions-to-the-html5-syntaxで指定されている接頭辞を含む属性でhtmlを拡張しますただし、これにはhttp:// devに従う必要があります。 w3.org/html5/rdfa/rdfa-module.html また、そこに記載されているrel = "profile"のツールサポートはまだ待たれています。それまでは、古いdoctypeを使用するか、手動でrdf:を配置するか、検証目的で使用するか、検証ツールなどのツールが追いつくのを待ちます。宣言を行う適切な場所は、省略表記が使用される場所の祖先である要素の開始タグです。特にogプレフィックスの場合は、RDFa Core http://www.w3.org/2011/rdfa-context/rdfa-1.1.htmlの初期コンテキストによって事前定義されているため、新しいdoctypeの場合は完全にスキップしても問題ありません。また、特にhtml5の場合、RDFa初期コンテキストhttp://www.w3.org/2011/rdfa-context/html-rdfa-1.1は、前述のRDFa初期コンテキストの後にのみロードされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.