我正在使用RelaxNG为xml文档创建一个简单的模式...首先,这是一种指定十进制类型属性的正确方法:
<attribute name='amount'><data type="decimal"/></attribute>
鉴于我已经指定了数据库:
<element name='products' datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
现在,我如何设置金额属性的最小和最大限制?感谢。
答案 0 :(得分:1)
RELAX NG架构
<?xml version="1.0" encoding="utf-8"?>
<element xmlns="http://relaxng.org/ns/structure/1.0" name="products" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<attribute name="amount">
<data type="decimal">
<param name="maxInclusive">10.0</param>
<param name="minInclusive">0.0</param>
</data>
</attribute>
</element>
成功验证
<?xml version="1.0" encoding="utf-8"?>
<products amount="1.0"/>
只要amount
的值是0.0到10.0之间的有效十进制值(使用https://validator.nu/测试)。您也可以使用maxExclusive
和/或minExclusive
来设置边界。
有关文档,请参阅http://books.xmlschemata.org/relaxng/ch19-77057.html,http://www.relaxng.org/compact-tutorial-20030326.html#id2814737,http://evc-cit.info/cit041x/lecture4_rnc.html和http://relaxng.org/tutorial-20011203.html#IDA5UYR。