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

时间:2014-09-19 01:33:43

标签: xml xsd

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

1 个答案:

答案 0 :(得分:4)

首先,我要挑战你的开头断言“很多XML模式在他们的规范中指定了严格的和过渡的模式定义。”大多数XSD不是严格过渡的。

但要解释那些......

不同之处在于事物之间的紧张关系以及应该如何应对。为了支持遗留系统和数据,这些系统和数据的标记可能不够理想,可以创建松散/过渡模式。为了指导未来的发展,以便在标记中增加规则和更准确的数据描述,可以创建严格的模式。

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

  • XS:任何
  • minOccurs =“0”并使用=“可选”
  • xs:所有基本类型的字符串

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

  • 特定元素内容模型
  • minOccurs =“1”并使用=“required”
  • 特定数据输入而不是xs:string