2011-01-24 64 views
2

我有以下模式:(節選)XML架構的minOccurs

<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聲稱,第二個沒有被意識到,但被忽視。我錯過了什麼?

回答

6

由於沒有指定maxOccurs的,它被假定爲1,因此一部分的第二次數導致由xmllint

+0

顯示消息得到它..它hought該maxOccurs的默認爲無窮大。 – Chris 2011-01-24 22:22:00