XML Schema编程快速入门

一、XML Schema简介

XML Schema 使用一套预先定义好元素和属性

二、XML Schema的定义和使用

1.编写数据XML文件

2.编写Schema文件 .xsd

  引入W3C名称空间:xmlns=”http://www.w3.org/2001/XMLSchema”   

  编写schema内容,对每一个元素,用一个<elementname=””></element>表示,包含其他元素的元素称为复杂元素,需要加<complexType></complexType>,在复杂元素中,如果需要保持子元素的顺序,可以添加<sequence></sequence>。对与不包含其他元素的元素称为简单元素,简单元素需要指定其type类型

  通过targetNamespace为schema定义元素指定名称空间URI(URI可以是任意路径,本文中的名称空间URI为http://www.longshengguoji.cn/books),这样方便其他人也可以是自己在定义xml文件的时候引用。

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
targetNamespace="http://www.longshengguoji.cn/books" 
xmlns:tns="http://www.example.org/books" 
elementFormDefault="qualified">
<element name="books">
<!-- 包含子元素的元素 为复杂元素,用complexType -->
<complexType>
<!-- 强调子元素的顺序,需要使用sequence -->
<span style="white-space:pre">	</span><sequence>
<span style="white-space:pre">	</span><!-- 指定book元素可以出现多次,最少出现一次 -->
<span style="white-space:pre">		</span><element name="book" minOccurs="1" maxOccurs="unbounded">
<span style="white-space:pre">		</span><complexType>
<span style="white-space:pre">			</span><sequence>
<span style="white-space:pre">			</span><!-- 对于简单元素,编写type属性 -->
<span style="white-space:pre">				</span><element name="bookname" type="string"></element>
<span style="white-space:pre">				</span><element name="price" type="double"></element>
<span style="white-space:pre">			</span></sequence>
<span style="white-space:pre">			</span>
<span style="white-space:pre">		</span></complexType>
<span style="white-space:pre">	</span></element>
<span style="white-space:pre">	</span></sequence>
</complexType>
</element>
</schema>

3.在xml实例文件中引用自定义schema名称空间,此处名称空间为第2步中定义的名称空间,此处为http://www.longshengguoji.cn/books

4.声明xml文件是一个应用schema的文件,这一句代码是固定的:

xmlsn:xsi=http://www.w3.org/2001/XMLSchema-instance

5.知道schema文件位置,代码语句为:

xsi:schemaLocation="http://www.longshengguoji.org/booksbooks.xsd">

该代码的前半部分http://www.longshengguoji.org/books为名称空间,后半部分books.xsd为schema文件位置

完整代码为:         

<?xml version="1.0" encoding="UTF-8"?>
<books xmlns="http://www.longshengguoji.cn/books"
	xmlsn:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.longshengguoji.org/books books.xsd">
	<book>
		<bookname>数据结构</bookname>
		<price>98</price>
	</book>	
</books>


上一篇:阿里云堡垒机V3版重磅发布,和运维失误say no!


下一篇:[Android1.6]横竖屏切换时自动弹出键盘的问题