5

有没有办法在 XSD 中定义具有空限制的类型别名/强 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>

我想稍后对“类型”类型的属性应用一些验证逻辑,而不是“标识符”类型的属性。

4

1 回答 1

6

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

于 2013-04-17T18:09:29.323 回答