亚马逊MWS产品Feed的XSD验证说明

时间:2015-11-13 16:51:24

标签: xml amazon-web-services xsd amazon-mws

我正在寻找有关如何阅读亚马逊用于验证其XML产品Feed的XSD的一些说明。

这是XSD使用的Productdocs内部Base

当我提交没有说明或BulletPoint Feed的基本产品Feed时,我收到此错误:

  

未提供" bullet_point1"的值。请提供" bullet_point1"的值。此信息显示在产品详细信息页面上,可帮助客户评估产品。

     

未提供" product_description"的值。请提供" product_description"的值。此信息显示在产品详细信息页面上,可帮助客户评估产品。

以下是相关的XSD部分:

<xsd:element name="Description" minOccurs="0">
  <xsd:simpleType>
    <xsd:restriction base="xsd:normalizedString">
      <xsd:maxLength value="2000"/>
    </xsd:restriction>
  </xsd:simpleType>
</xsd:element>
<xsd:element name="BulletPoint" type="LongStringNotNull" minOccurs="0" maxOccurs="5"/>

我的理解是minOccurs="0"意味着它不是必需的,但它显然是。我已经查看了一些其他内部XSD(例如cordova-plugin-transport-security),以防这些字段被覆盖但没有看到任何内容。

这是错误的XSD吗?我读错了吗?

2 个答案:

答案 0 :(得分:2)

是的,minOccurs="0"表示可选,但是......

通常,应用程序通常具有超出其XML输入的XSD中指定的附加要求。当仅在某些情况下需要参数时,XSD会在一般情况下将它们列为可选参数,然后在XSD的带外检查它们。 (XSD 1.1通过xs:assertion为条件要求的元素/属性提供了一些额外的表达能力,但它尚未被广泛采用。)

请注意,bullet_point1未出现在您与问题相关的任何XSD或文档中。如果bullet_point1来自XSD中的BulletPoint,那么它显然是一个下游应用程序,它会提出额外要求,并在未满足时发出错误。

答案 1 :(得分:2)

我向亚马逊开发商询问了这个问题,他们回答我:

  

类别的xsd未正确更新,因此某些元素将是   需要但没有反映在.xsd文档中,这就是问题所在。