How to specify minimal value for fractionDigits restriction in XML Schema?

杀马特。学长 韩版系。学妹 提交于 2019-12-07 01:02:35

问题


I have a following XML Schema:

<xsd:simpleType name="fractionalSalary">
    <xsd:restriction base="xsd:decimal">
        <xsd:fractionDigits value="2" />
        <xsd:minExclusive value="0" />
    </xsd:restriction>
</xsd:simpleType>

Is there any option to specify minimal number of xsd:fractionDigits to 2? Because I have a following restriction for salary: positive number with 2 decimal places precision, e.g. 10000.50 and validation should fail on inputs like 1000.5452 or 14582.0001 but also on input 1000.5 or 10000.

PS: Using XML Schema 1.0


回答1:


You can add a pattern restriction:

<xsd:simpleType name="fractionalSalary">
    <xsd:restriction base="xsd:decimal">
        <xsd:fractionDigits value="2" />
        <xsd:minExclusive value="0" />
        <xsd:pattern value="\d+\.\d{2}" />
    </xsd:restriction>
</xsd:simpleType>

This means that the decimal supplied must match the regex.

At this point, you can probably get rid of the fractionDigits element too, as that constraint is covered by the regex.



来源:https://stackoverflow.com/questions/22536374/how-to-specify-minimal-value-for-fractiondigits-restriction-in-xml-schema

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!