プロトタイプの 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>