Open Graph的命名空间声明:HTML xmlns的或头部前缀?Open Graph的命名空间

2019-05-12 21:00发布

我已经看到了如何最好地实现Open Graph的命名空间的相互矛盾的信息。 具体而言,开放图谱网站使用几种不同的方法,以及Facebook的Open Graph的例子使用其他方法。

Open Graph的网站为例(使用HTML前缀属性):

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

Open Graph的网站源代码(使用HTML xmlns属性):

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

Facebook开放图形文件(使用HEAD前缀属性):

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

Facebook开放图形文件#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">

什么是推荐的方法或它甚至没有事?

Answer 1:

他们都是等价和将所有的工作。

因为它是新的推荐方式,是更少的字符使用前缀。

我会得到我们所有的文件更新为前缀。



Answer 2:

我想下面的头使用前缀@保罗的Tarjan的答案。 但是我得到了一些Internet Explorer 8的问题 。 所以,最后我还是使用FB命名空间的xmlns方式:

<!DOCTYPE HTML>
<html xmlns:fb="http://ogp.me/ns/fb#">
  <head prefix="og: http://ogp.me/ns# object: http://ogp.me/ns/object#">


Answer 3:

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

还有就是要验证的最佳途径。



Answer 4:

前缀/ xmlns属性是定义短手有用。 RDF是从XML沿袭这样的xmlns符号应该预计到独立工作的doctype细节。 RDFa的扩展与属性,包括前缀按以下给出HTML http://www.w3.org/TR/rdfa-in-html/#extensions-to-the-html5-syntax然而,这需要坚持的http://开发。 w3.org/html5/rdfa/rdfa-module.html另外,如所提到的在其中的rel =“轮廓”工具支承被尚未等待。 至此,该选择是使用较旧的文档类型,或手动将RDF之间:为验证目的或等待验证器等工具追赶。 作出声明的合适位置是任何元素开始标签,它是哪里的速记符号将被使用的祖先。 专门为OG前缀的情况下,其由核心的RDFa的初始上下文预定义http://www.w3.org/2011/rdfa-context/rdfa-1.1.html所以跳过它完全为较新的文档类型是正常的。 和专门为HTML5的RDFa的初始上下文http://www.w3.org/2011/rdfa-context/html-rdfa-1.1仅前面提到的RDFa的初始上下文之后被加载。



Answer 5:

它甚至没有关系。 识别 og是一种广泛使用的词汇前缀:

RDFa的用户可以使用这些前缀,而不必限定在HTML代码前缀的义务 。 前缀相同的列表也被用于JSON-LD作为定义JSON-LD背景信息在URI http://www.w3.org/2013/json-ld-context/rdfa11 ; JSON-LD用户可以使用@context与URI键作为速记使用相同的前缀。

重点增加了清晰度。

因此,你不需要一个命名空间添加到您的HTML文档。 更多信息这里 。



文章来源: Open Graph namespace declaration: HTML with XMLNS or head prefix?