我正在针对xsd验证xml,xsd有一个参数,比如数据类型为整数的“code”。
如果我给“代码”,任何以“0”开头的值,例如“05”,我期待验证错误,因为据我所知,它不是一个有效的整数。
但验证是成功的。我想知道这怎么可能?或者我对整数可以采用的有效值的理解是错误的。
XSD中的xs:integer
数据类型(1.0和1.1)允许值中的前导零。它还允许使用前导“+”或“ - ”符号。
如果由于某种原因想要禁止前导零(或禁止使用前导符号),可以通过使用xs:pattern
方面限制类型来实现此目的;例如,<xs:pattern value="0|[1-9][0-9]*"/>
禁止前导零和前导符号。