1. ホーム
  2. xml

[解決済み] XML Schema 属性を列挙して制限する方法

2023-04-18 02:48:37

質問

次のようなXMLタグがあります。

<price currency="euros">20000.00</price>

通貨属性を以下のいずれかに制限するにはどうすればよいでしょうか。

  • ユーロ
  • ポンド
  • ドル

ANDの価格はダブルに?

私はちょうど私が両方の上に型をしようとするとエラーが発生します、私がこれまでに得たものは次のとおりです。

<xs:element name="price">
    <xs:complexType>
        <xs:attribute name="currency">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="pounds" />
                    <xs:enumeration value="euros" />
                    <xs:enumeration value="dollars" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
</xs:element>

どのように解決するのですか?

価格の定義に数値が含まれていないようです。 以下を試してみてください。

<xs:simpleType name="curr">
  <xs:restriction base="xs:string">
    <xs:enumeration value="pounds" />
    <xs:enumeration value="euros" />
    <xs:enumeration value="dollars" />
  </xs:restriction>
</xs:simpleType>



<xs:element name="price">
        <xs:complexType>
            <xs:extension base="xs:decimal">
              <xs:attribute name="currency" type="curr"/>
            </xs:extension>
        </xs:complexType>
</xs:element>