有没有办法在XSD中定义带有空限制的类型别名/ strong typedef / simpleType?
<xsd:simpleType name="identifier">
<xsd:restriction base="xsd:string">
<xsd:pattern value="^[a-zA-Z_][a-zA-Z0-9_]*$" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="type">
<xsd:restriction base="identifier" />
</xsd:simpleType>
我想稍后对类型“type”的属性应用一些验证逻辑,比“identifier”类型的属性更具体。
答案 0 :(得分:5)
是的,使用空限制派生类似这样的类型是非常合法的。但是,尽管这两种类型具有相同的值空间,但它们不是同义词。派生类型可替代基类型,但不能以其他方式替代。例如,在模式感知的XSLT样式表中,针对基类型验证的元素将与期望派生类型的实例的模板规则不匹配。