目次へ

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定義方法について、順番に見ていきたいと思います。

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp