XML Schema 教程学习笔记

什么是XML Schema

XML Schema 是一种基于 XML 的标记语言,用于定义和描述 XML 文档的结构、内容和数据类型。它可以被用作文档验证和数据交换格式。

XML Schema 的结构

XML Schema 由元素、属性、简单类型和复杂类型等组成。其中最重要的是简单类型和复杂类型。

简单类型

简单类型指一个元素或属性的数据类型,包括基本类型和派生类型两种。

基本类型

XML Schema 定义了一系列基本类型,如字符串、整数、浮点数等。基本类型可以直接使用,例如:

xmlCopy Code
<age>18</age>

派生类型

在基本类型的基础上,可以进行派生创建新的数据类型,如枚举类型、日期时间类型等。例如:

xmlCopy Code
<gender>male</gender>

复杂类型

复杂类型包括复杂元素和复杂属性两种。

复杂元素

复杂元素指包含子元素的元素,可以包含其他元素和属性。例如:

xmlCopy Code
<person> <name>张三</name> <age>18</age> <gender>male</gender> </person>

复杂属性

复杂属性指包含子属性的属性。例如:

xmlCopy Code
<person name="张三" age="18" gender="male"/>

XML Schema 的应用

XML Schema 可以用于验证 XML 文档的有效性,即是否符合定义的结构、内容和数据类型。例如下面的 XML 文档:

xmlCopy Code
<?xml version="1.0" encoding="UTF-8"?> <persons> <person> <name>张三</name> <age>18</age> <gender>male</gender> </person> <person> <name>李四</name> <age>20</age> <gender>female</gender> </person> </persons>

可以使用以下 XML Schema 描述文件进行验证:

xmlCopy Code
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="persons"> <xs:complexType> <xs:sequence> <xs:element name="person" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="name" type="xs:string"/> <xs:element name="age" type="xs:int"/> <xs:element name="gender" type="xs:string"/> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

总结

XML Schema 是一种强大的工具,用于定义和描述 XML 文档的结构、内容和数据类型。通过学习 XML Schema,我们可以更好地理解和使用 XML,从而更好地完成数据交换和处理任务。