XSD中的条件简单/复杂类型



我想为以下xml创建架构定义:

价格节点可以有简单的数值:

<price>1000000</price>

或价格节点可以有一个且唯一的daily:

<price>
  <daily>500</daily>
</price>

或价格节点可以有一个且唯一的子节点weekly:

<price>
  <weekly>4000</>weekly> 
</price>

有可能吗?如果是,如何使用XSD定义price元素?

在XSD中,您不能同时允许简单和复杂的内容,除非您愿意通过mixed="true"混合元素和文本。您可以然后使用XSD 1.1断言来排除两者同时出现。

然而,你在逆流而上。相反,更改XML设计,使dailyweekly传递的信息成为属性而不是元素:

<price> 1000000 </price>
<price frequency="daily">500</price>
<price frequency="weekly">4000</price>

那么为price定义XSD就没有问题了。

最新更新