Facebook命名空间问题导致无效代码

Facebook命名空间问题导致无效代码,facebook,Facebook,我在这个网站和谷歌上看到了关于如何使facebook代码有效的各种文章,但似乎没有一种解决方案适合我。 我认为问题在于我的doc类型偏执: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

我在这个网站和谷歌上看到了关于如何使facebook代码有效的各种文章,但似乎没有一种解决方案适合我。 我认为问题在于我的doc类型偏执:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"  xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/"  >

谁能给我指一下正确的方向吗


约翰

我也有类似的问题

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xml:lang="nl-NL">
...
<meta property="og:type" content="book" />
几乎所有示例都是这样的,奇怪的是,它在w3c的验证器上进行验证,但是所有其他验证器(包括CSE Html验证器)都需要在meta标记前面加上og前缀:

<og:meta property="og:type" content="book" />
除了官方的w3c验证器,它几乎可以在任何东西中进行验证。不确定facebook是否也会解析它。他们为什么选择不使用这个名字对我来说是一个很大的谜。真是一团糟

<og:meta property="og:type" content="book" />