这是架构:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="entry">
<xs:attribute name="key" type="xs:string" use="required"/>
</xs:complexType>
<xs:element name="p">
<xs:complexType>
<xs:sequence>
<xs:element name="entry" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
此XML应该无法针对此架构进行验证,因为错过了key
属性:
<p><entry/></p>
但它并没有失败。我做错了什么?
答案 0 :(得分:1)
name
元素定义中的entry
属性未链接到类型定义。
您只需在entry
元素定义中添加对该类型的引用(以便有效地键入它):
<xs:element type="entry" name="entry" minOccurs="0" maxOccurs="unbounded"/>