Ian*_*oyd 5 xml xsd xsd-validation
我想将元素中允许的位数限制为6:
<AccountNumber>123456</AccountNumber>
<AccountNumber>999999</AccountNumber>
<AccountNumber>000000</AccountNumber>
Run Code Online (Sandbox Code Playgroud)
字段格式规范是6位数,零填充,数字.
我看,我可能要使用的totalDigits限制,基于:
totalDigits指定允许的确切位数.必须大于零
所以我有简单的类型:
<xs:simpleType name="AccountNumber">
<xs:restriction base="xs:int">
<xs:totalDigits value="6"/>
</xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)
虽然它捕获无效数字,例如:
<AccountNumber>1234567</AccountNumber>
<AccountNumber>0000000</AccountNumber>
<AccountNumber></AccountNumber>
Run Code Online (Sandbox Code Playgroud)
它没有捕获无效的数字:
<AccountNumber>12345</AccountNumber>
<AccountNumber>01234</AccountNumber>
<AccountNumber>00123</AccountNumber>
<AccountNumber>00012</AccountNumber>
<AccountNumber>00001</AccountNumber>
<AccountNumber>00000</AccountNumber>
<AccountNumber>0000</AccountNumber>
<AccountNumber>000</AccountNumber>
<AccountNumber>00</AccountNumber>
<AccountNumber>0</AccountNumber>
Run Code Online (Sandbox Code Playgroud)
建议的限制是指定允许的确切位数?
您需要使用xs:pattern并提供正则表达式以将其限制为数字.
<xs:simpleType name="AccountNumber">
<xs:restriction base="xs:int">
<xs:pattern value="\d{6}"/>
</xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13624 次 |
| 最近记录: |