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>


相关文章
|
8月前
|
XML JavaScript 前端开发
属性和方法向 XML DOM 定义了编程接口
XML DOM 提供编程接口,通过属性和方法操作XML结构。使用JavaScript等语言,可访问和修改节点。属性如nodeName、nodeValue揭示节点信息,方法如getElementsByTagName、appendChild、removeChild实现查找、添加和删除节点功能。节点对象x的应用示例贯穿其中。
|
5月前
|
XML Java 数据格式
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
这篇文章是Spring5框架的AOP切面编程教程,通过XML配置方式,详细讲解了如何创建被增强类和增强类,如何在Spring配置文件中定义切入点和切面,以及如何将增强逻辑应用到具体方法上。文章通过具体的代码示例和测试结果,展示了使用XML配置实现AOP的过程,并强调了虽然注解开发更为便捷,但掌握XML配置也是非常重要的。
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
|
5月前
|
XML 数据格式
DTD和XML Schema之间的区别?
【8月更文挑战第22天】
84 0
|
7月前
|
SQL XML Java
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
83 3
|
7月前
|
XML JavaScript 前端开发
属性和方法向 XML DOM 定义了编程接口
XML DOM 是一个编程接口,它将XML表示为节点对象集合,可通过JavaScript等语言访问。接口通过属性和方法定义,属性如nodeName、nodeValue显示节点信息,方法如getElementsByTagName、appendChild、removeChild执行操作。例如,x.nodeName返回节点名称,x.appendChild(node)添加子节点。
|
8月前
|
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;`来组织元素和属性。
246 7
|
8月前
|
XML 数据格式
XML Schema 字符串数据类型及约束详解
XML中的字符串数据类型表示字符序列,包括换行、回车和制表符。处理器不修改值。`normalizedString`去除这些特殊字符,`token`则进一步移除前导和尾随空格及多余空格。字符串类型可使用枚举、长度等限制。`date`和`dateTime`数据类型表示日期和时间,`duration`表示时间间隔。数值类型如`decimal`和`integer`用于数值,布尔型表示真或假。还有如`base64Binary`和`anyURI`等其他数据类型。元素和数据类型可以有各种约束,如最大值、最小值和模式匹配。
102 0
|
8月前
|
XML JavaScript 数据格式
XML Schema(XSD)详解:定义 XML 文档结构合法性的完整指南
XML Schema(XSD)是用于定义XML文档结构的规范,它描述了元素、属性及其顺序、数据类型和约束。与DTD相比,XML Schema支持更多数据类型,如字符串、日期等,并且是基于XML的,允许扩展和重用。学习XML Schema有助于确保数据通信时双方对内容的理解一致,通过验证防止错误。示例展示了如何定义一个`note`元素,包含`to`, `from`, `heading`和`body`子元素,都是字符串类型。XML文档可以通过引用XML Schema进行验证,确保内容符合预设模式。
616 0
|
XML JSON PHP
PHP快速入门08-JSON与XML处理
PHP快速入门与实战JSON与XML都是用于在不同的应用程序之间传输数据的格式化语言。在PHP中,可以使用内置函数处理JSON和XML格式的数据。以上就是关于本篇文章介绍的内容,JSON与XML处理,后续更多内容将收录在专栏PHP快速入门与实战。
111 0
|
8月前
|
SQL Java 数据库连接
Java【付诸实践 01】使用org.apache.ibatis.plugin.Interceptor拦截器实现全局mapper.xml参数注入(可用于切换数据库实例schema)源码实例分享
Java【付诸实践 01】使用org.apache.ibatis.plugin.Interceptor拦截器实现全局mapper.xml参数注入(可用于切换数据库实例schema)源码实例分享
196 0