XML 中的严格模式定义 (XSD) 和过渡模式定义 (XSD) 之间有什么区别

Chi*_*may 3 xml xsd

许多 XML 模式在其规范中指定了严格的和过渡的模式定义。例如:http : //docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#AppDTD或微软的 OOXML XSD ( http://en.wikipedia.org/wiki/Office_Open_XML )。不知道实际的区别是什么,为什么首先需要两个 XSD,有什么想法吗?

kjh*_*hes 5

首先,我将挑战您的开篇断言,即“许多 XML 模式在其规范中指定了严格的和过渡的模式定义”。大多数 XSD 不是严格转换对的。

但要解释那些做...

差异是事物现状和事物应该如何之间紧张的结果。为了支持在标记方面可能不够理想的遗留系统和数据,创建了松散/过渡模式。为了引导未来的发展朝着更严格的规范和更准确的标记数据描述方向发展,创建了严格的模式。

松散/过渡模式中采用的一些技术:

  • xs:任何
  • minOccurs="0" 和 use="optional"
  • xs:string 适用于所有基本类型

严格模式中使用的一些技术:

  • 特定元素内容模型
  • minOccurs="1" 和 use="required"
  • 特定的数据类型而不是 xs:string