码迷,mamicode.com
首页 > 其他好文 > 详细

XML Schema编程快速入门

时间:2014-11-27 22:05:35      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:schema   xml   

一、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 -->
	<sequence>
		<element name="book">
		<complexType>
			<sequence>
			<!-- 对于简单元素,编写type属性 -->
				<element name="bookname" type="string"></element>
				<element name="price" type="double"></element>
			</sequence>
			
		</complexType>
	</element>
	</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>


XML Schema编程快速入门

标签:schema   xml   

原文地址:http://blog.csdn.net/longshengguoji/article/details/41554413

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!