我的微数据未验证:"The itemprop attribute was specified, but the element is not a property of any item."

My Microdata doesn't validate: "The itemprop attribute was specified, but the element is not a property of any item."

我正在尝试使用一些 Schema.org 格式的微数据来验证网页,但我收到了很多类型的错误:

The itemprop attribute was specified, but the element is not a property of any item.

这是我的标记的一般结构:

<div itemscope itemtype="http://schema.org/ProductModel" itemprop="mainEntity">
    <meta itemprop="productID" content="XYZ0001" />
    <meta itemprop="name" content="Product XYZ" />

    <table>
        <tr itemscope itemprop="additionalProperty" itemtype="http://schema.org/PropertyValue">
            <th><span itemprop="name">Foo</span></th>
            <td><span itemprop="value">1197</span></td>                                 
        </tr>
        <tr itemscope itemprop="additionalProperty" itemtype="http://schema.org/PropertyValue">
            <th><span itemprop="name">Bar</span></th>
            <td><span itemprop="value">Blah blah</span></td>                                    
        </tr>
    </table>
</div>

我正在使用 ProductModeladditionalProperty,因为页面实体没有更合适的预定义类型(目前)。我在标记中是否犯了任何明显的错误?

如果您在元素上指定 itemprop,则必须有一个带有 itemscope 的父元素。

除非代码段中没有显示这样的父元素,否则这可能是给出错误的行:

<div itemscope itemtype="http://schema.org/ProductModel" itemprop="mainEntity">

我假设您想传达这个 ProductModel 是网页的主要实体,因此您可以指定:

<div itemscope itemtype="http://schema.org/WebPage">
  <div itemscope itemtype="http://schema.org/ProductModel" itemprop="mainEntity">
    <!-- … -->
  </div>
</div>

(或更具体的子类型之一,如果适用,例如 ItemPage。)