Schemaで値の有効範囲を定義する数値のけた数や小数点以下のけた数、数値の範囲チェックなど、数値データに関する範囲制約を規定するには、<xsd:maxInclusive>要素、<xsd:minInclusive>要素、<xsd:maxExclusive>要素、<xsd:minExclusive>要素を利用します。Schemaで文字列長を制約する」で紹介したように、<xsd:maxLength>、<xsd:minLength>、<xsd:length>などの要素を利用することで、ノード値の文字列長を規定できます。これらの要素では数値のけた数や小数点以下のけた数、数値の範囲チェックなどは行えませんので、注意が必要です。以下のように記述すると、2〜5けたの整数値を定義しているようも見えますが、これは間違いです。←間違い</xsd:restriction></xsd:simpleType></xsd:element><xsd:maxLength>要素、<xsd:minLength>要素、<xsd:length>要素による制約は、文字列、バイナリ、あるいはリストにしか適用することができません。数値データに関する範囲制約を規定したい場合には、どうすればよいのでしょうか。説明の前に、具体的なサンプル例を見る方が早いでしょう。/></xsd:complexType></xsd:schema>上記例の場合、<price>要素のノード値を1000以上10000以下に規定します。Schemaで文字列パターンを定義する」などで紹介しているので、そちらを参照してください。それよりも、数値データには多くの制約条件要素が存在しますので、この種類を把握しておくのが先です。以下に、主要な制約要素を挙げてみましょう。数値データに関する制約条件要素ただし、<xsd:totalDigits>要素は精度があらかじめ規定されていない数値データに関してのみ、<xsd:fractionDigits>要素は小数点型で、かつ、精度があらかじめ規定されていない数値データに関してのみ、それぞれ使用することが可能です。<xsd:maxInclusive>要素、<xsd:minInclusive>要素、<xsd:maxExclusive>要素、<xsd:minExclusive>要素については、数値データのみならず、日付・時刻データの範囲チェックを行う場合にも使用可能です。SchemaでXML文書の妥当性を検証する」のサンプルを参考にするとよいでしょう。Schemaのファイル名)のみです。スキーマ文書を書いてみるだけでは、スキーマ文書そのものの妥当性を判断できませんが、パーサの処理を介することでスキーマの正否を確認できます。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。