次のような XML フラグメントを指定する必要があります。
<address type="work">...</address>
<address type="home">...</address>
work
住所は必須ですが、住所home
はオプションです。XML スキーマでその制限を達成するにはどうすればよいですか?
これは私のaddress
complexTypeです:
<xs:complexType name="AddressType">
<xs:sequence>
<xs:element name="street" type="xs:string"></xs:element>
<xs:element name="postalCode" type="PostalCodeType"></xs:element>
<xs:element name="town" type="xs:string"></xs:element>
</xs:sequence>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="work" />
<xs:enumeration value="home" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
address
次のような要素をリストしました。
<xs:element name="address" type="AddressType"></xs:element>
<xs:element name="address" type="AddressType" minOccurs="0"></xs:element>
type="work"
では、最初の 1 つを特定のアドレスに指定し、もう 1 つをアドレスに指定するにはどうすればよいtype="home"
でしょうか。