単純型 (組み込み型および派生型) には、ファセットがあります。 ファセットとは、単純型の値セットを決定するために使用される 1 つの定義のある側面を表します。 たとえば、length、minInclusive、および maxInclusive は、組み込みデータ型に共通のファセットです。 ある単純型のすべてのファセットは、その単純型に有効な値のセットを定義します。
ファセットは要素として定義されます。 各 facet 要素には、ブール値の fixed 属性があります。 単純型を定義するとき、その型から派生した型によって指定したファセットの値が変更されないように定義できます。 ファセットの変更を抑止するには、ファセットに fixed 属性を追加し、その値を true に設定します。
ファセットは、enumeration ファセットと pattern ファセットの場合を除き、型定義に 1 回だけ指定できます。 enumeration ファセットと pattern ファセットには、複数のエントリを含めることができ、それらのエントリがグループ化されます。
例
fixed 属性を true
に設定して、length が値 7 だけを持つことができる単純型の例を次に示します。
制約ファセット リスト
制約ファセット (単純型の値を制約するために使用できるファセット)、その説明、および制約ファセットが適用される組み込みデータ型を以下に示します。
- enumeration
指定された値セット。 この制約は、データ型を、指定した値に制約します。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-enumeration で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。
- fractionDigits
小数部に特定の最大小数桁数を持つ値。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-fractionDigits で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。
- length
長さの単位の数。 長さの単位はデータ型によって異なります。 この値は、nonNegativeInteger である必要があります。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-length で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。
- maxExclusive
上限値。すべての値はこの値未満です。 この値は、継承されたデータ型と同じデータ型である必要があります。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-maxExclusive で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。
- maxInclusive
最大値。 この値は、継承されたデータ型と同じデータ型である必要があります。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-maxInclusive で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。
- maxLength
長さの単位の最大数。 長さの単位はデータ型によって異なります。 この値は、nonNegativeInteger である必要があります。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-maxLength で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。
- minExclusive
下限値。すべての値はこの値より大きい値です。 この値は、継承されたデータ型と同じデータ型である必要があります。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-minExclusive で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。
- minInclusive
最小値。 この値は、継承されたデータ型と同じデータ型である必要があります。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-minInclusive で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。
- minLength
長さの単位の最小数。 長さの単位はデータ型によって異なります。 この値は、nonNegativeInteger である必要があります。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-minLength で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。
- pattern
データ型の値と一致する必要がある特定のパターン。 pattern は、データ型を、指定したパターンと一致するリテラルに制約します。 パターン値は、正規表現である必要があります。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-pattern で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。
- totalDigits
特定の最大桁数を持つ値。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-totalDigits で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。
whiteSpace
値は preserve、replace、collapse のいずれかです。 ほとんどの数値データ型では、whiteSpace ファセットを変更できません。 詳細については、http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-whiteSpace で公開されている、W3C 勧告『XML Schema Part 2: Datatypes』を参照してください。preserve
正規化は実行されず、W3C 勧告『XML 1.0』の規定のとおり、要素コンテンツについては値を変更できません。
replace
#x9 (タブ)、#xA (ライン フィード)、および #xD (キャリッジ リターン) はすべて、#x20 (空白) に置き換えられます。
collapse
replace によって暗黙に指定された処理を行った後、#x20 の連続シーケンスが 1 つの #x20 に縮小され、先頭の #x20 と末尾の #x20 が削除されます。