0
我有一個原型XML模式 - 請參閱提取文章的末尾。我想要做的是在只有1個「輸入」元素的情況下使「行」和「列」屬性可選,但如果有多個「輸入」元素則需要。我如何在XSD語法中執行此操作?如何根據兄弟元素的數量更改必需/可選屬性?
另外,這個模式是從一個工具生成的,它看起來過於複雜。有什麼辦法可以刪除「xs:extension」/「xs:simpleContent」/「xs:complexType」元素嗎?
XML架構提取物:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" targetNamespace="foobar"
xmlns:f="foobar">
<xs:element name="inspection">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element ref="f:input" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="input">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<!--other attributes-->
<xs:attribute name="row" use="optional" type="xs:integer" />
<xs:attribute name="column" use="optional" type="xs:integer" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>
對此的回答取決於您是否使用XSD v 1.0或v 1.1。任何想法? –