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>


相关文章
|
4天前
|
XML 存储 数据格式
什么是 XML 文件的 Schema
什么是 XML 文件的 Schema
34 0
|
1天前
|
XML 数据格式
XML Schema 复杂元素类型详解:定义及示例解析
在XML Schema(XSD)中,复杂元素包含其他元素和/或属性,分为4类:空元素、仅含元素、仅含文本和既含元素也含文本。定义复杂元素可通过直接声明或引用预定义的复杂类型。复杂空元素仅含属性,而仅含元素的类型则只包含其他子元素。XSD提供了`&lt;xs:sequence&gt;`、`&lt;xs:all&gt;`、`&lt;xs:choice&gt;`等指示器来规定元素顺序和出现次数,以及`&lt;xs:attributeGroup&gt;`和`&lt;xs:group&gt;`来组织元素和属性。
24 7
|
4天前
|
XML JavaScript 数据格式
XML Schema(XSD)详解:定义 XML 文档结构合法性的完整指南
XML Schema(XSD)是用于定义XML文档结构的规范,它描述了元素、属性及其顺序、数据类型和约束。与DTD相比,XML Schema支持更多数据类型,如字符串、日期等,并且是基于XML的,允许扩展和重用。学习XML Schema有助于确保数据通信时双方对内容的理解一致,通过验证防止错误。示例展示了如何定义一个`note`元素,包含`to`, `from`, `heading`和`body`子元素,都是字符串类型。XML文档可以通过引用XML Schema进行验证,确保内容符合预设模式。
13 0
|
10月前
|
XML JSON PHP
PHP快速入门08-JSON与XML处理
PHP快速入门与实战JSON与XML都是用于在不同的应用程序之间传输数据的格式化语言。在PHP中,可以使用内置函数处理JSON和XML格式的数据。以上就是关于本篇文章介绍的内容,JSON与XML处理,后续更多内容将收录在专栏PHP快速入门与实战。
|
4天前
|
SQL Java 数据库连接
Java【付诸实践 01】使用org.apache.ibatis.plugin.Interceptor拦截器实现全局mapper.xml参数注入(可用于切换数据库实例schema)源码实例分享
Java【付诸实践 01】使用org.apache.ibatis.plugin.Interceptor拦截器实现全局mapper.xml参数注入(可用于切换数据库实例schema)源码实例分享
42 0
|
9月前
|
XML 数据格式
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-快速入门2
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-快速入门2
41 0
|
9月前
|
XML 数据格式
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-快速入门1
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-快速入门1
48 0
|
10月前
|
XML SQL Java
【MyBatis】XML版快速入门——练习题(下)
【MyBatis】XML版快速入门——练习题(下)
94 0
|
10月前
|
XML Java 关系型数据库
【MyBatis】XML版快速入门——练习题(上)
【MyBatis】XML版快速入门——练习题
65 0
|
11月前
|
XML 前端开发 数据格式
【XML】标准化DTD与Schema
【XML】标准化DTD与Schema
79 0