XSD-xs:nonNegativeIntegerおよび.00で終わる値
質問
値0.00は有効なnonNegativeIntegerではなく、整数でもないことを認識しています。 残念ながら、データはその形式で提供されています。 .0で終わる場合は破棄したくありませんが、タイプをDecimalに変更したり、.1で終わる値が有効である可能性もあります。
XSDが正の整数であるように数値を検証できる方法があるので、0.00、0、1、1.0、2.0000000などの値はすべて受け入れられますが、-1、1.1、2.2、3.3333はすべて無効です
ありがとう -c
解決
10進数に変更し、小数点以下の位置に制限を設定することを検討できます。特に、正規表現ファセットを使用できる場合があります。私はこれを試したことがないし、それが有効かどうかさえ知りませんが、それは見るべき方向です。値空間ではなく語彙空間を制限することになりますが、それはあなたが望むものです。
他のヒント
これは私が必要とするものに対して機能します、ジョンに感謝します
<xs:simpleType name="nonNegativeWholeDecimal">
<xs:restriction base="xs:decimal">
<xs:pattern value="[0-9]*(\.[0]*)?"/>
</xs:restriction>
</xs:simpleType>
所属していません StackOverflow