我正在创建一个XSD架构来表示键值对列表。我想将键限制为字符串(这很容易)但值允许任何 XSD简单类型(datetime,string,int ...)。但是,我确实希望xml实例文档中的值是强类型的,即,如果值是datetime,integer或string等,则应该显式声明它。有些人可以显示一个示例如何强制显式值输入?< / p>
答案 0 :(得分:1)
你需要一个xsd:union,它允许一个简单的类型被验证为它有效的列表中的第一个类型(并且如果你使用的是PSVI则可能有所不同):
<xsd:simpleType name="intOrDateOrBool">
<xsd:union memberTypes="xsd:integer xsd:date xsd:boolean"/>
</xsd:simpleType>