XML Schema 总结学习笔记
什么是XML Schema?
XML Schema是一种XML文档的语言,用于描述XML文档中元素的结构和数据类型。它定义了XML文档中允许使用哪些元素、哪些属性以及它们的约束条件,使得XML文档的结构更加严谨,有利于数据的交换和处理。
XML Schema的语法结构
XML Schema是基于XML的语言,它自己也拥有一套语法规则,比如元素、属性、复杂类型、简单类型等等。
元素(element)
在XML Schema中,一个元素就是指XML文档中的标签。元素可以包含其他元素或者属性等内容,同时它还可以定义命名空间、类型等信息。
属性(attribute)
属性是指XML文档中的标签所带有的特殊的信息。一个标签可以带有多个属性,每个属性都拥有一个名称和对应的值。
Copy Code<book ISBN="978-7-302-42848-3" price="39" publishDate="2021-01-01">
<title>XML Schema 总结学习笔记</title>
<author>Binjie09</author>
</book>
上述XML代码中,book
元素带有三个属性:ISBN、price和publishDate。
复杂类型(complexType)
复杂类型是指XML文档中的元素类型,它可以包含其他元素、属性等内容。复杂类型通常用于描述XML文档中的复杂结构,比如一个学生信息包含姓名、年龄、性别等多个属性或元素。
简单类型(simpleType)
简单类型是指XML文档中的数据类型,用于规定XML文档中元素或属性所对应的数据类型,包括字符串、数字、日期、时间等等。
XML Schema实例
下面是一个XML Schema的实例代码,用于定义一种名为book
的元素类型,它带有三个属性:ISBN、price和publishDate。其中,ISBN属性的值必须满足ISBN标准;price属性的值必须为非负整数;publishDate属性的值必须为ISO-8601标准的日期格式。
xmlCopy Code<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="author" type="xs:string"/>
</xs:sequence>
<xs:attribute name="ISBN" type="xs:string"
pattern="^([0-9]{10}|[0-9]{13})$"/>
<xs:attribute name="price" type="xs:nonNegativeInteger"/>
<xs:attribute name="publishDate" type="xs:date"
use="required"
/>
</xs:complexType>
</xs:element>
</xs:schema>
以上代码定义了一个名为book
的元素类型,它必须包含一个名为title
和一个名为author
的子元素。同时,它还定义了三个属性:ISBN、price和publishDate。其中,ISBN属性的值必须为10位或13位数字;price属性的值必须是非负整数;publishDate属性是必须的,并且必须为日期格式。
这个XML Schema可以被用于验证XML文档是否符合要求。如果一个XML文档不符合这个Schema的要求,那么它将不被视为有效的XML文档。