xml - 如何通过 XSD 中的模式定义 id 范围 (T1..T20)?

标签 xml xsd xsd-validation xml-validation xsd-1.1

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="size" type="PatternType" />
  <xs:simpleType name="PatternType">
    <xs:restriction base="xs:string">                              
      <xs:pattern value="[T][0-9]{1,2}"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

我需要为轨道 ID T1、T2 等创建一个模式,并希望限制为最多 T20。但如果我遵循模式 <xs:pattern value="[T][0-9]{1,2}"/> ,它也允许T99。你知道如何解决这个问题吗?

最佳答案

以下 XSD 将允许 size 的值为 T1T2T3、... T20:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="size" type="PatternType"/>
  <xs:simpleType name="PatternType">
    <xs:restriction base="xs:string">                              
      <xs:pattern value="T1?\d"/>
      <xs:pattern value="T20"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

关于xml - 如何通过 XSD 中的模式定义 id 范围 (T1..T20)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39239652/

相关文章:

PHP 遍历数组

c# - 如何使用 C# 进行 XSLT 2.0 转换

java - XSD 未验证 - udemy 28 分钟内

c# - 使用 xsd.exe 从 ereg 关联生成 c# 文件

python - 可以 xs :anyURI contain square brackets in XSD?

python - 在odoo的act_window xml中调用或添加函数

php - 如何在 PHP 中使用 DOMDocument 检测 XML 元素是否为空?

xml - 为什么是目标命名空间?

xml - XSD 断言嵌套元素的属性相等?

php - PHP 中的 XSD 架构 1.1 验证