我有以下架构:(摘录)
<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说,第二个没有被删除,但是被排除了。我错过了什么?
答案 0 :(得分:6)
由于你没有指定maxOccurs,所以假设它是1,因此part的第二次出现导致xmllint显示的消息