会社で新しいデータ交換サービスを作成しています。core.xsd定義ファイルで定義されている既存のオブジェクトを拡張したいと思います。これが私がする必要があることの例です:
<xs:complexType name="parentType">
<xs:sequence>
<xs:element name="departmentName" type="core:DEPARTMENT_NAME"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="childType">
<xs:complexContent>
<xs:extension base="parentType">
<xs:sequence>
<xs:element name="departmentName"
type="core:DEPARTMENT_NAME"
minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
これは完全に理にかなっていると思います。親要素をオーバーライドして必須にしたい。ただし、有効なxmlファイルはこれです。余分な部門名がどこにあるのか!?
<childType>
<departmentName>HR</departmentName>
<departmentName>IT</departmentName>
</childType>
XMLファイルが次のようになるようにこれを行うにはどうすればよいですか?
<childType>
<departmentName>IT</departmentName>
</childType>
ありがとう、クレイグ