設定できる値の範囲を指定する
属性や要素の内容を制限するもう1つの方法として、設定できる最大値または最小値(またはその両方)を指定する方法があります。
1. カスタム宣言内で(「カスタム単純型を作成する」4.の方法で)<xsd:maxInclusive と入力します。
2. value="n"と入力します。
nの部分に入力した値と同じか、これよりも小さい値しか設定できなくなります。
4. />と入力して、xsd:maxInclusive要素を終えます。
XSDコード <xsd:element name="population">
<xsd:simpleType>
<xsd:restriction base="xsd:string" />
<xsd:maxInclusive value="5000 " />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
xsd:maxInclusiveファセットでは、要素の最大値を指定します。
XMLコード <population> 5000 </population>
XMLコード <population> 4999 </population>1つ目はxsd:maxInclusive値と同じで、2つ目はxsd:maxInclusiveの値よりも小さいので、これらのpopulation要素は上のスキーマに対して有効な例です。
1. カスタム宣言内で(「カスタム単純型を作成する」4.の方法で)<xsd:maxExclusive と入力します。
2. value="n"と入力します。
nの部分に入力した値と同じか、これよりも小さい値しか設定できなくなります。
4. />と入力して、xsd:maxExclusive要素を終えます。
XSDコード <xsd:element name="population">
<xsd:simpleType>
<xsd:restriction base="xsd:string" />
<xsd:maxExclusive value="5000 " />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
xsd:maxExclusiveファセットでは、設定できない中では最小の値を指定します。つまり、要素の内容はxsd:maxExclusive値よりも小さくしなければなりません。
XMLコード <population> 5000 </population>
XMLコード <population> 4999 </population>1つ目のpopulation要素はxsd:maxInclusive値と同じなのでスキーマに対して無効です。2つ目はxsd:maxInclusiveの値よりも小さいので、上のスキーマに対して有効です。
1. カスタム宣言内で(「カスタム単純型を作成する」4.の方法で)<xsd:minInclusive と入力します。
2. value="n"と入力します。
nの部分に入力した値と同じか、これよりも小さい値しか設定できなくなります。
4. />と入力して、xsd:minInclusive要素を終えます。
XSDコード <xsd:element name="start_date">
<xsd:simpleType>
<xsd:restriction base="xsd:string" />
<xsd:minInclusive value="1997-07-25 " />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
xsd:minInclusiveファセットでは、要素に設定できる最小値を指定します。start_date要素は1997年7月25日以降でなければなりません。
XMLコード <start_date> 1997-07-25 </start_date>
XMLコード <start_date> 1997-07-26 </start_date>1つ目はxsd:minInclusive値と同じ、2つ目はxsd:minInclusiveの値よりも大きい(遅い)ので、これらstart_date要素は上のスキーマに対して有効です。
1. カスタム宣言内で(「カスタム単純型を作成する」4.の方法で)<xsd:minExclusive と入力します。
2. value="n"と入力します。
nの部分に入力した値と同じか、これよりも小さい値しか設定できなくなります。
4. />と入力して、xsd:minExclusive要素を終えます。
XSDコード <xsd:element name="start_date">
<xsd:simpleType>
<xsd:restriction base="xsd:string" />
<xsd:minExclusive value="1997-07-25 " />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
xsd:minInclusiveファセットでは、設定できない中で最大の値を指定します。つまり、要素の内容はxsd:minExclusiveよりも大きくなければなりません。
XMLコード <start_date> 1997-07-25 </start_date>
XMLコード <start_date> 1997-07-26 </start_date>xsd:minExclusive値と同じではいけないので、1つ目のstart_date要素はスキーマに対して無効です。2つ目はxsd:minExclusiveの値よりも大きい(遅い)ので、上のスキーマに対して有効です。
・同じ型に対して2つのmin値(または2つのmax値)を両方使うことはできませんが、min値とma\x値を組み合わせることはできます。
・数値の代償については説明しなくても明らかですが、日付や時刻は遅いほうが大きいものとみなされます。日付や時刻が小さいというのは、早いということです。