我有以下
XML Schema:
<xsd:simpleType name="fractionalSalary"> <xsd:restriction base="xsd:decimal"> <xsd:fractionDigits value="2" /> <xsd:minExclusive value="0" /> </xsd:restriction> </xsd:simpleType>
有没有选项可以指定最小数量的xsd:fractionDigits为2?因为我对工资有以下限制:正数和2位小数精度,例如10000.50并且验证应该在1000.5452或14582.0001等输入上失败,但也应在输入1000.5或10000上失败.
PS:使用XML Schema 1.0
解决方法
您可以添加模式限制:
<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元素,因为正则表达式涵盖了该约束.