Frage

Ich stelle fest, dass der Wert 0,00 ist keine gültige nonNegativeInteger, noch ist es sogar eine ganze Zahl. Leider werden die Daten in diesem Format kommen. Ich will nicht, es wegzuwerfen, wenn sie mit 0,0 endet, aber ich will auch nicht den Typ Dezimal ändern, und möglicherweise haben Werte in 0,1 endend als gültig kommen.

Gibt es eine Möglichkeit, meine XSD Zahlen bestätigen kann, so dass sie nur positive ganze Zahlen, so Werte von 0,00, 0, 1, 1,0, 2,0000000 usw. werden alle angenommen, aber -1, 1.1, 2.2, sind 3.3333 alle ungültig ?

Danke -c

War es hilfreich?

Lösung

könnten Sie schauen auf Änderung einer Beschränkung auf die Stellen nach dem Komma in Dezimalzahlen und platzieren. Insbesondere könnten Sie in der Lage sein, eine Regex Facette zu verwenden. Ich habe dies nie versucht, und nicht einmal wissen, ob es gültig ist, aber es ist eine Richtung zu betrachten. Sie würde den lexikalischen Bereich eher als der Wert Raum zu beschränken, aber das ist, was Sie wollen.

Andere Tipps

Das funktioniert für das, was ich brauche, dank John

<xs:simpleType name="nonNegativeWholeDecimal">
    <xs:restriction base="xs:decimal">
        <xs:pattern value="[0-9]*(\.[0]*)?"/>
    </xs:restriction>
</xs:simpleType>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top