【问题标题】:How to specify minimal value for fractionDigits restriction in XML Schema?如何在 XML Schema 中指定 fractionDigits 限制的最小值?
【发布时间】:2014-03-20 14:41:08
【问题描述】:

我有以下 XML 架构:

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

是否有任何选项可以将xsd:fractionDigits 的最小数量指定为 2?因为我对薪水有以下限制:positive number with 2 decimal places precision, e.g. 10000.50 并且验证应该在 1000.545214582.0001 等输入上失败,但在输入 1000.510000 上也会失败。

PS:使用 XML Schema 1.0

【问题讨论】:

  • 这是一个精确的小数位数,不是最小的。

标签: xml xsd xsd-1.0


【解决方案1】:

您可以添加模式限制:

<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>

这意味着提供的小数必须与正则表达式匹配。

此时,您可能也可以去掉 fractionDigits 元素,因为该约束已被正则表达式覆盖。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 2013-06-17
    相关资源
    最近更新 更多