XML Schema类型别名?

时间:2013-04-17 17:18:40

标签: xml xsd w3c

有没有办法在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”类型的属性更具体。

1 个答案:

答案 0 :(得分:5)

是的,使用空限制派生类似这样的类型是非常合法的。但是,尽管这两种类型具有相同的值空间,但它们不是同义词。派生类型可替代基类型,但不能以其他方式替代。例如,在模式感知的XSLT样式表中,针对基类型验证的元素将与期望派生类型的实例的模板规则不匹配。