我正在针对xsd验证xml,该XML的参数为“ code”,数据类型为整数。
如果输入“ code”(以“ 0”开头的任何值,例如“ 05”),我都会遇到验证错误,因为据我所知这不是有效的整数。
但是验证成功。我想知道这怎么可能?或者我对整数可以接受的有效值的理解是错误的。
答案 0 :(得分:0)
XSD中的xs:integer
数据类型(1.0和1.1)允许值中的前导零。它还允许以“ +”或“-”开头。
如果出于某种原因要禁止前导零(或不允许前导号),则可以通过使用xs:pattern
构面来限制类型来实现此目的;例如<xs:pattern value="0|[1-9][0-9]*"/>
禁止前导零和前导符号。