属性に指定できる値をいくつかの範囲に限定する - 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 属性に正規表現を指定することで、ある一定の条件に合致する文字列だけを採るデータ型を定義することも可能です。
[ もどる ]