属性に指定できる値をいくつかの範囲に限定する - XML スキーマ - XML プログラミング

PROGRAM


属性に指定できる値をいくつかの範囲に限定する

XML スキーマで、属性に指定できる値を、いくつかの値の中から選択するようにするには、次のように定義します。

<xsd:simpleType name="項目種類">

<xsd:restriction base="xsd:string">

<xsd:enumeration value="文字列" />

<xsd:enumeration value="数値" />

<xsd:enumeration value="寸法" />

<xsd:enumeration value="リスト" />

</xsd:restriction>

</xsd:simpleType>

ここで、接頭辞 xsd は、名前空間 "http://www.w3.org/2001/XMLSchema" です。

 

このように "simpleType" 要素を使って、単純データ型として定義して、その内側で "restriction" 要素を記載します。

この "restriction" 要素では、"base" 属性として、選択する値の型を指定します。

その後に続けて、必要な数の "enumeration" タグで値を指定すれば、ここで指定したどれかの値を採るデータ型を定義することができました。

 

また、数値的な範囲を限定したい場合には、次のようにします。

<xsd:simpleType name="有効範囲">

<xsd:restriction base="xsd:integer">

<xsd:minInclusive value="100" />

<xsd:maxInclusive value="500" />

</xsd:restriction>

</xsd:simpleType>

これで、100 以上 500 以下の数値型を意味する "有効範囲" というデータ型が定義できました。

 

他にも "xsd:string" 型を <xsd:pattern> タグを使って、value 属性に正規表現を指定することで、ある一定の条件に合致する文字列だけを採るデータ型を定義することも可能です。


[ もどる ]