Ich hätte gerne eine Beschränkung auf xsd:complexType
was würde nur Werte zwischen 0.5
bis 20
enthalten, beide enthalten, mit Schritt von 0.5
. Es bedeutet Zahlen:XSD erlauben Doppel um die Hälfte
0.5 1 1.5 2 2.5 3 3.5 .. up to 20
Mein Code ist hier:
<xsd:complexType name="skillType">
<xsd:simpleContent>
<xsd:extension base="skillHalfDoubleType">
<xsd:attribute name="special">
<!-- Irrelevant attribute -->
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="skillHalfDoubleType">
<xsd:restriction base="xsd:double">
<!-- What more? -->
</xsd:restriction>
</xsd:simpleType>
Es ist möglich, es mit Regex auf xsd:string
angewendet zu tun, jedoch sehe ich für die Lösung mit xsd:double
zu beschränken.
Oder Sie könnten eine minInclusive Facette, eine maxInclusive Facette und die Assertion Facette 'round ($ value * 2) = $ value * 2 haben 'um zu testen, dass es ein Vielfaches von 0,5 ist. –