整数数据类型的有效值

Valid value for integer data type

我正在根据 xsd 验证 xml,它有一个参数,比如 "code",数据类型为整数。

如果我给出 "code" 任何以“0”开头的值(例如“05”),我预计会出现验证错误,因为据我所知,它不是有效整数。

但是验证成功了。我想知道这怎么可能?或者我对整数可以采用的有效值的理解是错误的。

XSD 中的 xs:integer 数据类型(1.0 和 1.1)允许值中有前导零。它还允许使用前导“+”或“-”符号。

如果您出于某种原因想要禁止前导零(或禁止前导符号),您可以通过使用 xs:pattern facet 限制类型来实现;例如 <xs:pattern value="0|[1-9][0-9]*"/> 禁止前导零和前导符号。

有关规格,请参阅 https://www.w3.org/TR/xmlschema11-2/#integer