XML Schema minOccurs

时间:2011-01-24 22:12:14

标签: xml xsd

我有以下架构:(摘录)

<xs:element name= "off" minOccurs="1">
  <xs:complexType>
    <xs:sequence>
      <xs:element name= "id" type = "xs:integer"/>
      <xs:element name= "part" minOccurs="1">
        <xs:complexType>
          <xs:sequence>
            <xs:element name= "id" type = "xs:integer"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name= "asdf" type = "xs:float"/>
     </xs:sequence>
</xs:complexType>

现在,凭借直觉,我猜想,下面的树将被允许:

<oof>
 <id>123</id>
 <part>
  <id>134</id>
 </part>
 <part>
  <id>454</id>
 </part>
 <asdf>234123.0</asdf>
</oof>

然而,xmllint说,第二个没有被删除,但是被排除了。我错过了什么?

1 个答案:

答案 0 :(得分:6)

由于你没有指定maxOccurs,所以假设它是1,因此part的第二次出现导致xmllint显示的消息