XML 架构中的数字 ID 类型
Numeric ID type in XML schema
我需要使用 XML 架构定义具有给定模式的 ID 类型。我到目前为止是这样的:
<xs:simpleType name="myid">
<xs:restriction base="xs:ID">
<xs:pattern value="[A-Za-z0-9_-]+"/>
</xs:restriction>
</xs:simpleType>
除了例如<myid>00123_45678<myid>
不验证。显然,基本类型 xs:ID 要求它的值是 XML 非限定名称 (xs:NCName)。特别是,ID 不能以数字开头。
是否有另一种方法可以使用 XML 允许数字第一个字符的架构来定义文档范围的标识符?
从 xsd:string 或 xsd:token 或 xsd:NMTOKEN 中获取您的类型,而不是 ID。 xsd:ID 类型强制执行 XML 名称规则,因此要求值以名称开始字符开头。
通过向适当的祖先元素添加 xs:unique 声明来恢复唯一性约束。
我需要使用 XML 架构定义具有给定模式的 ID 类型。我到目前为止是这样的:
<xs:simpleType name="myid">
<xs:restriction base="xs:ID">
<xs:pattern value="[A-Za-z0-9_-]+"/>
</xs:restriction>
</xs:simpleType>
除了例如<myid>00123_45678<myid>
不验证。显然,基本类型 xs:ID 要求它的值是 XML 非限定名称 (xs:NCName)。特别是,ID 不能以数字开头。
是否有另一种方法可以使用 XML 允许数字第一个字符的架构来定义文档范围的标识符?
从 xsd:string 或 xsd:token 或 xsd:NMTOKEN 中获取您的类型,而不是 ID。 xsd:ID 类型强制执行 XML 名称规则,因此要求值以名称开始字符开头。
通过向适当的祖先元素添加 xs:unique 声明来恢复唯一性约束。