数値の桁数を制限する
数値の小数点の左右の絵k多数を指定することができます。
1. カスタム宣言内で(「カスタム単純型を作成する」4.の方法で)<xsd:precision と入力します。
2. value="n"と入力します。
nの部分には、数値として指定できる最大桁数を入力します。
3. />と入力して、タグを終えます。
1. カスタム宣言内で(「カスタム単純型を作成する」4.の方法で)<xsd:scale と入力します。
2. value="n"と入力します。
nの部分には、数値として指定できる最大桁数を入力します。
3. />と入力して、タグを終えます。
XSDコード <xsd:element name="numbers">
<xsd:simpleType>
<xsd:restriction base="xsd:string" />
<xsd:precision value="5" />
<xsd:scale value="2" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
precision値は総桁数を表します。scale値は小数部(小数点の右側)の桁数を表します。
XMLコード <numbers>564.59</numbers>
XMLコード <numbers>34.5</numbers>これらの要素は、どちらもスキーマに対して有効です。総桁数は5桁以内で、小数部の桁数は2桁以内です。
XMLコード <numbers>1476.32</numbers>
XMLコード <numbers>4.3987</numbers>これら2つの要素は、どちらもスキーマに対して無効です。1つ目は総桁数が多すぎます。2つ目は総桁数には問題ありませんが、小数部の桁数が多すぎます。
・xsd:precisionファセットには正の数(1、2、3以上)を指定します。0は不適です。また、xsd:scale値よりも小さい値を指定することはできません。
・xsd:precisionファセットとxsd:scaleファセットには負以外の整数(0、1、2、3以上)を指定します。
・xsd:precisionファセットとxsd:scaleファセットにはどちらも許可できる最大値を指定します。指定した値よりも桁数が少なくても、スキーマに対して有効とみなされます。
・xsd:precisionファセットとxsd:scaleファセットはすべての数値型に対して指定できます。文字列や日付、その他の型には指定できません。