Xml 应用于整数的XSD maxLength和minLength

Xml 应用于整数的XSD maxLength和minLength,xml,xsd,integer,xsd-validation,xml-validation,Xml,Xsd,Integer,Xsd Validation,Xml Validation,我在找出如何告诉XSD一个字段的数据必须具有12位的最小长度和14位的最大长度时遇到了一些问题。是否有人知道如何执行此操作,因为minlength和maxlength只能用于字符串 <xs:simpleType name="timestamp_vorige_inspectie"> <xs:restriction base="xs:integer"> <xs:minLength value="12"/> </xs:restr

我在找出如何告诉XSD一个字段的数据必须具有12位的最小长度和14位的最大长度时遇到了一些问题。是否有人知道如何执行此操作,因为
minlength
maxlength
只能用于字符串

<xs:simpleType name="timestamp_vorige_inspectie">
    <xs:restriction base="xs:integer">
        <xs:minLength value="12"/>
    </xs:restriction>
</xs:simpleType>

查看,您可以将
totalDigits
指定为14,使其与maxLength类似为14。您还可以将
minInclusive
指定为
10000000000

您可以使用
xs:pattern
限制要在您的范围内的位数:

  <xs:simpleType name="timestamp_vorige_inspectie">
    <xs:restriction base="xs:integer">
      <xs:pattern value="\d{12,14}"/>
    </xs:restriction>
  </xs:simpleType>


\d
是匹配任何数字的正则表达式构造
{12,14}
指定允许的先前匹配数。

也许您可以帮我解决这个问题。上面的字段也是关于日期时间的,但是没有任何斜杠或其他符号,是否仍然可以检查它是否是日期?您可以使用正则表达式或断言部分地到达那里,但实际上,您应该直接使用
xs:date
,因为符合ISO 8601的互操作性优势将远远超过您可能拥有的任何其他特殊日期格式首选项。对于数据类型Double,正则表达式是什么?我想限制具有非空值的元素。