如何在xml架构中覆盖元素类型?

时间:2018-02-05 00:12:10

标签: xml xsd

我需要使用现有的xml架构(让我们称之为xsd1)==> xsd1中的某些类型和组合需要重新定义。 我的想法是使用一个新的xsd(让我们称之为xsd2)并包含xsd1内容并仅重新定义某些类型(保持相同的类型名称)

等。 xsd1:

- type1 : integer > 0
- type2 : integer
- type3 : double

xsd2

include xsd1
type2: string

怎么做?

1 个答案:

答案 0 :(得分:0)

在XSD 1.0中,xs:redefines构造允许您重新定义模式的选定组件,但只能以与原始模式兼容的方式进行(新模式可以限制允许的实例,但不能扩展允许的实例 - 这就是你要做的事情。)

在XSD 1.1中,xs:override构造允许任意重新定义所选组件,而不受兼容性约束。

如果您需要两个版本的架构组件共存,两者都会导致严重的并发症。