匿名カスタム型を使う
自分で作成するすべてのカスタム型に名前を付ける必要はありません。1つの要素に設定するために1回しか使用しない方の場合は、要素と型の間の相互参照を省略することもできます。
1. <xsd:element name="label"> と入力して、要素の定義を開始します。
labelの部分には要素の名前を指定します。XML文書では、<label>と入力することになります。
2. <xsd:simpleType>と入力します。
3. <xsd:restriction base="foundation>と入力します。
foundationの部分には、作成するカスタム型の基盤とする単純型を入力します。
4. 新しいカスタム型を定義するのに必要な制限(ファセット)を指定します。
5. </xsd:restriction>と入力します。
6. </xsd:simpkeType>と入力してカスタム単純型定義を終えます。
7. 最後に</xsd:element>と入力して匿名単純型要素の宣言を終えます。
XSDコード <xsd:simpleType name="zipcode" />
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d(3)(-\d(4) ?" / >
</xsd:restriction>
</xsd:simpleType>
この要素宣言と、前ページの科ステム型定義及び要素宣言を比べてみましょう。zipcode要素の宣言はどちらも同じ形式です。このカスタム型は、ほかの要素で使うことができません(xsd:simpleType要素には、これを参照するための名前がついていません)。
・この方法はカスタム型にしか使用できません。標準型の場合は、型属性を使って方を参照します。
・匿名型と名前付き型の違いは、名前付き方は型属性に名前を設定するだけで何回も使用できますが、匿名型はそれを定義した要素でしか使用できないということです。