XML Schema 4章 Simple Type
- 4.1 Simple Typeの定義
- 4.2 ビルトイン Simple Type
- 4.3 Simple Typeの作成
- 4.4 Restriction
- 4.5 listとUnion
- 4.6 まとめ
4.3 Simple Typeの作成
XML SchemaではビルトインのSimple Typeだけでなく、新たなSimple Typeを定義することができます。Simple Typeの定義は、simpleType要素を使って行います。
<simpleType name="SimpleTypeの名前"> Simple Typeの型の内容 </simpleType>
以下に例を示します。
<!-- Stock Keeping Unit, a code for identifying products --> <xsd:simpleType name="SKU"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-[A-Z]{2}"/> </xsd:restriction> </xsd:simpleType>
上の例では、商品コードを表す、SKUという名前のSimple Typeを新たに作成しています。
さて、新たなSimple Typeを作成する場合は、既存のSimple Typeをもとにして作成します。作成する方法としては、以下の方法があります。
- 既存のSimple Typeを「制限」して、作成する方法
例を示します。<ZIP>248-0001</ZIP>
ZIP要素はSimple Typeの要素です。内容は、数字3個、その後にハイフン、さらに数字4個という形になります。上のような型は、既存のstring型に、さらに文字の出現順序、文字の種類、出現回数などの制限を加えることによって、作成できます。
- 既存のSimple Typeの「リスト」を、新たなSimple Typeとする方法
例を示します。<orderDates>1999-12-21 2000-01-23 2000-05-05</orderDates>
orderDates 要素はSimple Typeです。内容を見てみると、date型の日付がスペースで区切られて複数並んでいます。このように、既存のdate型より、date型が複数連なる新しい型を作成することができます。
- 既存の複数のSimple Typeをすべて含むような、Simple Typeを新たに作る方法
例を示します。<orderDate>1999-12-21</orderDate> <orderDate>--12-21</orderDate> <orderDate>--21</orderDate>
1番上のorderDateの内容の型は、date型です。2番目のorderDate要素の内容は、gMonthDateです。3番目のorderDate要素の内容はgDate型です。このように、既存のdate、gMonthDate、gDate、どれかの型に当てはまればよい、という型を新たに作成することができます。
それでは、以上の3つのString Type定義方法について、順番に見ていきたいと思います。