0

次のような XML フラグメントを指定する必要があります。

<address type="work">...</address>
<address type="home">...</address>

work住所は必須ですが、住所homeはオプションです。XML スキーマでその制限を達成するにはどうすればよいですか?

これは私のaddresscomplexTypeです:

<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"でしょうか。

4

1 に答える 1