5.11 本章小结

本章主要讲解了XML Schema深入部分的知识,XML Schema内置了一个复杂类型:anyType类型,这个复杂类型是XML Schema派生其他复杂类型的基础。本章分类介绍了XML Schema所包含的两种复杂类型:包含简单内容的复杂类型和包含复杂内容的复杂类型。为了派生新的复杂类型,XML Schema又提供了两种派生方式:通过扩展原有的类型进行派生和通过限制原有类型进行派生,读者应该重点掌握这两种派生方式。除此之外,还应该掌握如何定义包含子元素的复杂类型、定义空元素类型和定义混合内容类型等。

本章还介绍了关于XML Schema通配符的内容,包括定义元素通配符和属性通配符两种情况。抽象元素和抽象类型也是需要掌握的知识。读者还应掌握如何使用group定义和使用元素组,使用attributeGroup定义和使用属性组。

此外,读者还应该掌握XML Scheme中key、unique和keyref 3种约束的功能。

本章练习

1.为第2章的两道习题得到的XML文档编写XML Schema语义约束。

2.阅读Servlet 2.5的web.xml文档规范(http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd),根据该文档XML Schema画出web.xml文档内各元素、属性之间的嵌套关系图。