第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约束等。
本章要点
使用anyType类型
理解Schema中的复杂类型
包含简单内容的复杂类型
包含复杂内容的复杂类型
通过扩展、限制派生复杂类型
定义包含简单内容的复杂类型
基于包含简单内容的复杂类型派生新的复杂类型
基于anyType派生新的复杂类型
定义包含子元素的复杂类型
定义空元素类型
定义混合内容类型
通过限制、扩展进一步派生新的复杂类型
阻止进一步派生
使用any作为元素通配符
使用anyAttribute作为属性通配符
使用key定义一致性约束
使用unique定义一致性约束
使用keyref定义一致性约束
使用group定义和使用元素组
使用attributeGroup定义和使用属性组