web-dev-qa-db-ja.com

Facebook OpenGraph XML名前空間xmlns:ogでHTML5バリデーターが失敗する

Facebookのドキュメントに従って手紙を書いているにもかかわらず、HTML5バリデーターがコードで失敗しています。さまざまな問題がありますが、最初に1つの例から始めましょう。

私は Facebookの「GettingStarted」ドキュメント に従い、th5isコードを使用しています:

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

唯一の違いは、HTML5の場合はこれの前に<!DOCTYPE html>を付けることです。 W3C HTML5バリデーター を介して実行すると、次のエラーが発生します。

 Attribute xmlns:og not allowed here

私が考えることができる唯一のエラーは次のとおりです。

  1. Facebookのドキュメントが間違っている
  2. <!DOCTYPE html>宣言にある種の名前空間を追加することになっています。

しかし、どちらの場合でも、私は修正が何であるかわかりません。いくつかの助けが大好きです!

21
TMC

fbのドキュメントは間違っていませんが、Webを開くための彼らのアプローチは間違っています。これらはfb独自の属性値であるため、w3cが標準にしない限り、検証することはありません。悲観的に聞こえるかもしれませんが、それが唯一の検証エラーである限り、心配する必要はありません。検証は素晴らしいツールですが、それは単なるツールであることを忘れないでください。

18
albert

だから私はこの同じエラーのバージョンに出くわしました、3年後のようです。 HTML5を使用してサイトを検証しようとしています。これは実験的なものですが、これらのxmlns属性を除いてすべてが検証されます。

例えば..

Error Line 2, Column 105: Attribute xmlns:fb not allowed here. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >
Warning Line 2, Column 105: Attribute with the local name xmlns:fb is not serializable as XML 1.0. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >
Error Line 2, Column 105: Attribute xmlns:addthis not allowed here. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >
Warning Line 2, Column 105: Attribute with the local name xmlns:addthis is not serializable as XML 1.0. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >

私のコードの2行目は次のとおりです。

2.<html lang="en-US" xmlns:fb="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >

あなたのエラーを反映するこのエラーを調査したところ、3年後でも、これに対する実行可能な修正はないようです。ただし、この手法に従っているプラ​​グインは、正しいHTML5コードが利用可能な場合にそうしているようです。したがって、Facebookの次のリンクなど、サイトでアドインを実行する場合は、正しいコードを選択してください。

HTML5 Facebook情報

プラグインを使用して複数のいいね、共有、プラスのものを処理しようとしている私たちにとっては、少なくとも各インスタンスを単独で実行するのが最善かもしれません。