如何在XSD中重复特定元素

时间:2015-07-25 08:59:57

标签: xsd

我试图传递一些元素和1个元素(产品),其中包含sku和数量应该重复,但是当我尝试这个整体时,所有6个都在有效载荷中重复。我试过很多方面,它没有尝试工作,我找不到问题。

    <?xml version="1.0" encoding="UTF-8" ?>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="root">
    <xs:complexType>
  <xs:sequence>
    <xs:element name="customReference"/>
    <xs:element name="shippedFromCustomId"/>
    <xs:element name="shippedToCustomId"/>
    <xs:element name="orderNumber"/>
    <xs:element name="referenceNumber"/>
    <xs:element name="products">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="product" maxOccurs="unbounded" minOccurs="0">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="sku"/>
                <xs:element name="quantity"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
  </xs:sequence>
</xs:complexType>

希望这能澄清我坚持的地方,如果您有任何相关信息,请分享。 在此先感谢!!``

1 个答案:

答案 0 :(得分:0)

使用您的xsd,以下XML将有效:

<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="issue.xsd">
    <customReference></customReference>
    <shippedFromCustomId></shippedFromCustomId>
    <shippedToCustomId></shippedToCustomId>
    <orderNumber></orderNumber>
    <referenceNumber></referenceNumber>
    <products>
        <product>
            <sku></sku>
            <quantity></quantity>
        </product>
        <product>
            <sku></sku>
            <quantity></quantity>
        </product>
        <product>
            <sku></sku>
            <quantity></quantity>
        </product>
    </products>
</root>