代码之家  ›  专栏  ›  技术社区  ›  Garret Wilson

没有'name'属性的RDFa`<meta>`是否与HTML5兼容?

  •  2
  • Garret Wilson  · 技术社区  · 6 年前

    RDFa引入了 property attribute 对于 <meta> 元素,甚至W3C recommends this as an extension to HTML5 .Facebook的 Open Graph 例如,协议使用RDFa 所有物 如下属性(来自Open Graph网站的示例):

    <html prefix="og: http://ogp.me/ns#">
    <head>
    <title>The Rock (1996)</title>
    <meta property="og:title" content="The Rock" />
    <meta property="og:type" content="video.movie" />
    <meta property="og:url" content="http://www.imdb.com/title/tt0117500/" />
    <meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" />
    …
    

    然而,HTML5规范似乎禁止这种使用。我不是说它是否允许 所有物 属性我指的是它明确禁止 content 属性没有 name 属性 the <meta> element :

    如果有的话 名称 http-equiv 所容纳之物 属性也必须指定。否则,它必须被省略。

    这是否与当前RDFa的使用直接冲突,比如在Open Graph中?HTML5规范似乎需要一个 名称 这里也是。

    0 回复  |  直到 6 年前
        1
  •  4
  •   unor Daniel Garijo    6 年前

    W3C建议“HTML+RDFa 1.1” extends HTML规范(你可以找到 all extensions 在W3C注释中)。

    此扩展更改了HTML对应用程序的一致性要求 meta 要素:

    如果RDFa @property 属性出现在 元素,也不是 @name , @http-equiv 也没有 @charset 属性是必需的,并且 @content 必须指定属性。


    因此,这两个HTML+RDFa元素是有效的:

    <meta property="og:title" content="The Rock" />
    <meta property="og:type" content="video.movie" />
    

    (另外两个 元素无效,因为它们具有URL值 the link element must be used instead .)