我的 XML 看起来像这样:
<root>
<elt att1="bla" att2="ble">
<subelt satt1="bli" satt2="1" />
<subelt satt1="blo" satt2="18" />
<subelt satt1="blu" satt2="4" />
</elt>
</root>
任何elt都可能有1。elt 的任何子带都可能有 1。我尝试针对此实用程序验证我的架构:http ://www.utilities-online.info/xsdvalidation 。这是我的xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="elt" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="att1" type="xs:string" use="required"/>
<xs:attribute name="att2" type="xs:string" use="required"/>
<xs:sequence>
<xs:element name="subelt" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="subatt1" type="xs:string" use="required"/>
<xs:attribute name="subatt2" type="xs:integer"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
问题来自具有属性和子元素(序列)的元素。我尝试在序列周围放置一个 xs:complexType ,但仍然得到不同的错误。我是 XML 模式的初学者,所以我有点难以理解我应该如何格式化它。你能给我一些建议吗?谢谢。
(我的文件中可能有一些拼写错误,因为我更改了元素和属性名称)