私はDTDからの次の変換に固執しました:
<!ELEMENT contact (name+, ((email | phone+) | (email, phone+)), address?)>
XSD へ:
<xs:element name="contact">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="name"/>
<xs:choice>
<xs:choice>
<xs:element ref="email"/>
<xs:element maxOccurs="unbounded" ref="phone"/>
</xs:choice>
<xs:sequence>
<!-- Next line causes exception -->
<xs:element ref="email"/>
<xs:element maxOccurs="unbounded" ref="phone"/>
</xs:sequence>
</xs:choice>
<xs:element minOccurs="0" ref="address"/>
</xs:sequence>
</xs:complexType>
「要素 'email' の複数の定義により、コンテンツ モデルがあいまいになります。」例外。私は何を間違っていますか?克服するための提案