XMLスキーマ定義/ファセット
制限された(制限)が許容されるXML要素または属性値を定義するために使用されます。 XML要素を定義するには、ファセットと呼ばれています。
制限値
次の例は、定義され、名前の「年齢」を持つ要素を定義します。 年齢の値が120よりも0以上より小さくなることはありません。
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="120"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
値のセットを定義します
XML要素の内容が許容可能な値のセットに限定されているために、私たちは列挙制約(列挙制約)を使用します。
次の例では、修飾名「車」を持つ要素を定義しています。 唯一の許容可能な値は次のとおりです。アウディ、ゴルフ、BMW:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
上記の例は次のように書くこともできます。
<xs:simpleType name="carType">
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
注:それは「車」要素の一部ではないので、この場合には、タイプ「carType」は他の要素によって使用されることができます。
限られた値のシリーズ
数字を用いることができる文字列として定義されるXML要素の内容を制限するために、我々は、モード閉じ込め(パターン制約)を使用します。
次の例では、定義されたいわゆる「手紙」を持つ要素を定義します。 のみの許容値小文字 - zの1:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
次の例は、定義されたいわゆる「イニシャル」を持つ要素を定義します。 指定できる値は大文字である - それらの中で3 Z:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][A-Z][A-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
次の例はまた、定義されたいわゆる「イニシャル」を持つ要素を定義します。 指定できる値は、大文字または小文字である - それらのzの3:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
次の例では、「許容値と呼ばれる制限された選択肢を持つ要素を定義するには、文字のX、Yまたはzであります:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[xyz]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
次の例は、修飾名「PRODID」を持つ要素を定義します。 指定できる値は5桁のシーケンス、および0-9の範囲内の各番号のとおりです。
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
他のために定義された一連の値
次の例では、定義されたいわゆる「手紙」を持つ要素を定義します。 指定できる値は - zのゼロ以上の文字:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z])*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
次の例では、定義されたいわゆる「手紙」を持つ要素を定義します。 許容値は、文字の一つ以上のペアで、各ペアは大文字に続いて小文字で構成されています。 たとえば、「STOP」はこのモデルを検証しますが、「STOP」を「停止」または検証することができない「停止します」:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z][A-Z])+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
次の例では、定義されたいわゆる「性別」を持つ要素を定義しています。 指定できる値は、男性または女性であります:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
次の例は、の修飾名 "パスワード"を持つ要素を定義します。 許容値は、文字列が8文字で構成されており、これらの文字は大文字でも小文字でなければなりません - 0--9 Zまたは意志デジタル:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9]{8}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
空白文字が定義されています
空白文字(空白文字)アプローチを指定するには、我々は空白が限ら使用する必要があります。
次の例では、定義されたと命名「アドレス」要素を定義します。 このwhiteSpaceの限定は、XMLプロセッサは、任意の空白文字を削除しないことを意味し、「保存」に設定されています:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
また、この例では、定義されたと命名「アドレス」要素を定義します。 このwhiteSpaceの限定は、XMLプロセッサは、すべての空白文字(改行、キャリッジリターン、スペース、タブ)を除去することを意味し、「置き換え」に設定されています:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
また、この例では、定義されたと命名「アドレス」要素を定義します。 このwhiteSpaceの限定は、XMLプロセッサは、すべての空白文字(改行、キャリッジリターン、スペースを削除し、タブがスペースに置き換えられ、スペースを先頭と末尾ことを意味し、「崩壊」に設定されて削除され、複数の連続したスペース)を1つのスペースに縮小されています。
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
定義された長さの
要素値の長さを制限するために、我々は、長さを使用する必要があり、maxLengthのとはminLengthに制限しました。
この場合、定義されており、名前の「パスワード」を持つ要素が定義されています。 その値は正確に8文字でなければなりません。
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
また、この例では、の修飾名 "パスワード"を持つ要素を定義します。 その値は、5文字以上8文字の最大です。
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
定義のデータ・タイプ
限られました | 説明 |
---|---|
列挙 | 許容可能な値のリストを定義します。 |
fractionDigits | これは、小数点以下の最大許容数を定義します。 これは、0より大きくなければなりません。 |
長さ | 許可された文字やリスト項目の正確な数を定義します。 これは、0以上である必要があります。 |
maxExclusiveは | 上限値を定義します。 許可される値は、この値未満でなければなりません。 |
maxInclusiveを | 上限値を定義します。 許容値は、この値以下でなければなりません。 |
maxLength | 許可された文字やリスト項目の最大数を定義します。 これは、0以上である必要があります。 |
minExclusiveの | 下限値が定義されています。 値がこの値よりも大きい許可する必要があります。 |
minInclusive | 下限値が定義されています。 この値以上の許容値必要があります。 |
minLength | 文字やリスト項目の最小許容数を定義します。 これは、0以上である必要があります。 |
パターン | 許容可能な文字の正確な配列を定義します。 |
totalDigits | これは、許可された精度桁のアラビア数字を定義します。 これは、0より大きくなければなりません。 |
whiteSpaceの | 空白文字(改行、キャリッジリターン、タブとスペース)の定義が処理されます。 |