我可以让一个XML Schema(XSD)包含另一个XML-Schema吗?

时间:2008-12-02 01:45:54

标签: xml xsd include

我目前有两个XSD方案,一个是另一个的“轻型”版本。现在我在“完整”模式中重复了“轻”版本中的所有内容,但是当我需要进行更改时,这会变得很痛苦,而且无论如何都违背了DRY原则,所以我想知道是否有元素这有助于将另一个模式包含在模式中,因此我可以从“轻量级”模式中获得“完整”继承,以减少维护障碍。

2 个答案:

答案 0 :(得分:57)

有两种方法。

<xsd:include schemaLocation="pathToFile" />应该用于包含相同名称空间的文件。

<xsd:import namespace="namespace" schemaLocation="pathToFile" />应该用于不同命名空间中的包含文件。通常,您将指定作为导入模式的targetNamespace给出的命名空间。

答案 1 :(得分:5)

使用&lt; include&gt;元素,例如参见here