Red Hat Training
A Red Hat training course is available for Red Hat Fuse
2.5.4. 制限によるタイプの定義
概要
XML スキーマを使用すると、XML スキーマの単純型の可能な値を制限することにより、新しい型を作成できます。たとえば、厳密に 9 文字の文字列である単純型 SSN を定義できます。単純型を制限することで定義された新しい型は、simpleType 要素を使用して定義されます。
制限による型の定義には、次の 3 つのことが必要です。
基本型の指定
基本型は、新しいタイプを定義するために制限されているタイプです。これは restriction 要素を使用して指定されます。restriction 要素は simpleType 要素の唯一の子で、ベース型を指定する 1 つの属性 base を持ちます。基本型は、任意の XML スキーマの単純型にすることができます。
たとえば、xsd:int の値を制限して新しい型を定義するには、例2.14「基本型として int の使用」 のような定義を使用します。
例2.14 基本型として int の使用
<simpleType name="restrictedInt">
<restriction base="xsd:int">
...
</restriction>
</simpleType>制限の定義
基本型に課せられた制限を定義するルールは、ファセット と呼ばれます。ファセットとは、ファセットの適用方法を定義する 1 つの属性 value を持つ要素です。利用可能なファセットとその有効な value 設定は、ベース型によって異なります。たとえば、xsd:string は、以下を含む 6 つのファセットをサポートします。
-
長さ -
minLength -
maxLength -
pattern -
whitespace -
enumeration
各ファセット要素は restriction 要素の子です。
例
例2.15「SSN の単純型の説明」 は、ソーシャルセキュリティー番号を表す単純型 SSN の例を示しています。作成される型は xxx-xx-xxxx 形式の文字列です。<SSN>032-43-9876<SSN> は、この型の要素に対する有効な値ですが、<SSN>032439876</SSN> は有効ではありません。
例2.15 SSN の単純型の説明
<simpleType name="SSN">
<restriction base="xsd:string">
<pattern value="\d{3}-\d{2}-\d{4}"/>
</restriction>
</simpleType>