質問

値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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top