XML模式中的模块化意味着什么?

时间:2012-09-18 15:56:07

标签: xml xsd schema-design

XML模式中的模块化意味着什么?即,给定一个xsd,可以做些什么使其模块化?

2 个答案:

答案 0 :(得分:2)

我会通过组件的可重用性和它们的耦合的强度(或相当弱)来测量模块性。例如,复杂类型被命名并从元素声明中引用的模式比模式在元素声明中内联出现的模式更加模块化,因为类型可以重用于其他元素(可能在对它们进行精炼之后)通过延伸或限制)。

有些人可能会更多地在模式文档层面上看模块化(因此xs:include),但我认为这可能不太重要。

当然,将系统分解为尽可能少的最小可能组件并不一定是正确的;还有其他因素需要考虑。

答案 1 :(得分:1)

这意味着在两个或多个XSD中分解XSD(文件),通过最常见的xsd:include / xsd:import链接在一起。这种“打破”将根据指导模块化的原则来完成。例如:

  • 使用建模领域中的主题领域(客户,帐户,产品,结算,交易等)。
  • 通过重用实施或采用模型(强制执行某种类型的系统或层次结构)
  • 从核心标准中分离专有扩展。

人们在封装代码时会考虑的大多数原则都适用于良好的XSD模块化。