第5章 XML Schema高级知识

前一章介绍了XML Schema的基础知识部分,主要介绍了XML Schema各种内置的简单类型,以及根据简单类型派生新数据类型的方式。本章将主要介绍如何在XML Schema中定义复杂类型。

在XML Schema中定义新的复杂类型主要通过两个子元素:<simpleContent…/>和<complexContent…/>,其中<simpleContent…/>子元素用于定义包含简单内容的复杂类型,而<complexContent…/>子元素则用于定义包含复杂内容的复杂类型。这也决定了XML Schema中的复杂类型有两大类别。

本章除了要介绍如何在XML Schema中定义复杂类型之外,还将详细介绍XML Schema的大量特性:包括在XML Schema中使用any作为元素通配符,使用anyAttribute作为属性通配符;还有在XML Schema中定义和使用抽象元素、抽象类型等内容;通过group来定义和使用元素组,通过attributeGroup来定义和使用属性组。

此外还会介绍XML Schema中关于一致性约束的知识,包括key约束、unique约束和keyref约束等。

本章要点

alt 使用anyType类型

alt 理解Schema中的复杂类型

alt 包含简单内容的复杂类型

alt 包含复杂内容的复杂类型

alt 通过扩展、限制派生复杂类型

alt 定义包含简单内容的复杂类型

alt 基于包含简单内容的复杂类型派生新的复杂类型

alt 基于anyType派生新的复杂类型

alt 定义包含子元素的复杂类型

alt 定义空元素类型

alt 定义混合内容类型

alt 通过限制、扩展进一步派生新的复杂类型

alt 阻止进一步派生

alt 使用any作为元素通配符

alt 使用anyAttribute作为属性通配符

alt 使用key定义一致性约束

alt 使用unique定义一致性约束

alt 使用keyref定义一致性约束

alt 使用group定义和使用元素组

alt 使用attributeGroup定义和使用属性组