Menu Close
2.5.5. 列挙型の定義
概要
XML スキーマの列挙型は、制限による定義の特殊なケースです。これらは、すべての XML スキーマのプリミティブ型でサポートされる enumeration
ファセットを使用して記述されます。最新のプログラミング言語の列挙型と同様に、この型の変数は、指定された値の 1 つだけを持つことができます。
XML スキーマでの列挙の定義
列挙を定義する構文は 例2.16「列挙の構文」 にあります。
例2.16 列挙の構文
<simpleType name="EnumName"> <restriction base="EnumType"> <enumeration value="Case1Value"/> <enumeration value="Case2Value"/> ... <enumeration value="CaseNValue"/> </restriction> </simpleType>
EnumName は、列挙型の名前を指定します。EnumType は、ケース値の型を指定します。CaseNValue ( N は 1 以上の任意の数字) で、列挙の各特定ケースの値を指定します。列挙型には、任意の数のケース値を指定できますが、単純な型から派生しているため、一度に 1 つのケース値のみが有効になります。
例
たとえば、列挙 widgetSize
で定義した XML ドキュメントは、例2.17「widgetSize 列挙」 のように、<widgetSize>big</widgetSize> が含まれている場合に有効ですが、<widgetSize>big,mungo</widgetSize> が含まれている場合は有効になりません。
例2.17 widgetSize 列挙
<simpleType name="widgetSize"> <restriction base="xsd:string"> <enumeration value="big"/> <enumeration value="large"/> <enumeration value="mungo"/> </restriction> </simpleType>