Latest web development tutorials

XMLスキーマ定義/ファセット

制限された(制限)が許容されるXML要素または属性値を定義するために使用されます。 XML要素を定義するには、ファセットと呼ばれています。


制限値

次の例は、定義され、名前の「年齢」を持つ要素を定義します。 年齢の値が120よりも0以上より小さくなることはありません。

<xs:element name="age">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="120"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


値のセットを定義します

XML要素の内容が許容可能な値のセットに限定されているために、私たちは列挙制約(列挙制約)を使用します。

次の例では、修飾名「車」を持つ要素を定義しています。 唯一の許容可能な値は次のとおりです。アウディ、ゴルフ、BMW:

<xs:element name="car">
<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:element name="car" type="carType"/>

<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:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

次の例は、定義されたいわゆる「イニシャル」を持つ要素を定義します。 指定できる値は大文字である - それらの中で3 Z:

<xs:element name="initials">
<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:element name="initials">
<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:element name="choice">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[xyz]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

次の例は、修飾名「PRODID」を持つ要素を定義します。 指定できる値は5桁のシーケンス、および0-9の範囲内の各番号のとおりです。

<xs:element name="prodid">
<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:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z])*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

次の例では、定義されたいわゆる「手紙」を持つ要素を定義します。 許容値は、文字の一つ以上のペアで、各ペアは大文字に続いて小文字で構成されています。 たとえば、「STOP」はこのモデルを検証しますが、「STOP」を「停止」または検証することができない「停止します」:

<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z][A-Z])+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

次の例では、定義されたいわゆる「性別」を持つ要素を定義しています。 指定できる値は、男性または女性であります:

<xs:element name="gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

次の例は、の修飾名 "パスワード"を持つ要素を定義します。 許容値は、文字列が8文字で構成されており、これらの文字は大文字でも小文字でなければなりません - 0--9 Zまたは意志デジタル:

<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9]{8}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


空白文字が定義されています

空白文字(空白文字)アプローチを指定するには、我々は空白が限ら使用する必要があります。

次の例では、定義されたと命名「アドレス」要素を定義します。 このwhiteSpaceの限定は、XMLプロセッサは、任意の空白文字を削除しないことを意味し、「保存」に設定されています:

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

また、この例では、定義されたと命名「アドレス」要素を定義します。 このwhiteSpaceの限定は、XMLプロセッサは、すべての空白文字(改行、キャリッジリターン、スペース、タブ)を除去することを意味し、「置き換え」に設定されています:

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

また、この例では、定義されたと命名「アドレス」要素を定義します。 このwhiteSpaceの限定は、XMLプロセッサは、すべての空白文字(改行、キャリッジリターン、スペースを削除し、タブがスペースに置き換えられ、スペースを先頭と末尾ことを意味し、「崩壊」に設定されて削除され、複数の連続したスペース)を1つのスペースに縮小されています。

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


定義された長さの

要素値の長さを制限するために、我々は、長さを使用する必要があり、maxLengthのとはminLengthに制限しました。

この場合、定義されており、名前の「パスワード」を持つ要素が定義されています。 その値は正確に8文字でなければなりません。

<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

また、この例では、の修飾名 "パスワード"を持つ要素を定義します。 その値は、5文字以上8文字の最大です。

<xs:element name="password">
<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の 空白文字(改行、キャリッジリターン、タブとスペース)の定義が処理されます。