1

我正在创建一个 XSD 模式来表示一个键值对列表。我想将键限制为字符串(这很容易),但允许值是任何XSD 简单类型(日期时间、字符串、int ...)。但是,我确实希望 xml 实例文档中的值是强类型的,即,如果值是日期时间、整数或字符串等,则应该显式声明它。有人可以举个例子,我如何强制执行显式值类型?

4

1 回答 1

1

您需要一个 xsd:union ,它允许将简单类型验证为列表中对其有效的第一个类型(如果您使用的是 PSVI,则可能会有所不同):

<xsd:simpleType name="intOrDateOrBool">
  <xsd:union memberTypes="xsd:integer xsd:date xsd:boolean"/>
</xsd:simpleType>
于 2009-04-06T09:13:47.847 回答