2011-01-24 80 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