没有 itemprop 的嵌套微数据 itemscope [英] Nested microdata itemscope without itemprop

查看:21
本文介绍了没有 itemprop 的嵌套微数据 itemscope的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于我正在编写的微数据解析器,我解析了以下(简化的)html 源:

<头><meta itemprop="name" content="一些文章名称"><身体><div itemscope itemtype="http://schema.org/Movie"><span itemprop="name">Skyfall</span>

</html>

关于此的几个问题:

  1. 这是遵循 W3c 规范的有效实现吗?我在规范本身中找不到任何内容,但不知道它是否是一种常见模式.
  2. 我应该如何阅读这些微数据?我们是否正在处理包含电影的文章?或者有两个微数据项 - 一篇文章和一部电影?

任何帮助将不胜感激.

解决方案

当提供 DOCTYPE 和缺失的 title 元素时,这是有效的 HTML5+Microdata.

您示例中的 ArticleMovie 没有关系,因此这是两个单独的顶级项目:

文章name: "一些文章名称"电影名称:《天降》

项目仅通过 itemprop 相关联,而不是通过普通的 HTML 级嵌套.

例如,使用 about 属性,如下所示:

<h1 itemprop="name">一些文章名称</h1><div itemprop="about" itemscope itemtype="http://schema.org/Movie"><span itemprop="name">Skyfall</span>

会导致:

文章name: "一些文章名称"关于:电影名称:《天降》

For a microdata parser I'm writing I parsed the following (simplified) html source:

<html itemscope itemtype="http://schema.org/Article" class="no-js" lang="nl">
  <head>
    <meta itemprop="name" content="Some article name">
  </head>
  <body>
    <div itemscope itemtype="http://schema.org/Movie">
      <span itemprop="name">Skyfall</span>
    </div>
  </body>
</html>

Couple of questions about this:

  1. Is this a valid implementation following the W3c spec? I couldn't find anything in the spec itself, but don't know if its a common pattern.
  2. How should I read this microdata? Are we dealing with an Article that contains a Movie? Or with two microdata items - an Article and a Movie?

Any help would be appreciated.

解决方案

When providing the DOCTYPE and the missing title element, this is valid HTML5+Microdata.

The Article and the Movie in your example have no relation, so these are two separate top-level items:

Article
name: "Some article name"

Movie
name: "Skyfall"

Items are only related via itemprop, not by plain HTML-level nesting.

For example, using the about property as in:

<div itemscope itemtype="http://schema.org/Article">
  <h1 itemprop="name">Some article name</h1>
  <div itemprop="about" itemscope itemtype="http://schema.org/Movie">
    <span itemprop="name">Skyfall</span>
  </div>
</div>

would result in:

Article
name: "Some article name"
about: 
    Movie
    name: "Skyfall"

这篇关于没有 itemprop 的嵌套微数据 itemscope的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
前端开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆