XSD(XML Schema Definition)学习笔记

今天学习了XSD相关的知识,为了以后查找的方便,写一些笔记。

一.什么是XSD?

1.XSD全称:XML Schema Definition.XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD。XML Schema:

  • 定义可出现在文档中的元素
  • 定义可出现在文档中的属性
  • 定义哪个元素是子元素
  • 定义子元素的次序
  • 定义子元素的数目
  • 定义元素是否为空,或者是否可包含文本
  • 定义元素和属性的数据类型
  • 定义元素和属性的默认值以及固定值

XML Schema 在 2001 年 5 月 2 日成为 W3C 标准。被认为是DTD的继任者,因为:

  • XML Schema 可针对未来的需求进行扩展
  • XML Schema 更完善,功能更强大
  • XML Schema 基于 XML 编写
  • XML Schema 支持数据类型
  • XML Schema 支持命名空间

二.为何要使用XSD?

1.XML Schema 比 DTD 更强大。

2.XML Schema 支持数据类型XML Schema 最重要的能力之一就是对数据类型的支持。

通过对数据类型的支持:

  • 可更容易地描述允许的文档内容
  • 可更容易地验证数据的正确性
  • 可更容易地与来自数据库的数据一并工作
  • 可更容易地定义数据约束(data facets)
  • 可更容易地定义数据模型(或称数据格式)
  • 可更容易地在不同的数据类型间转换数据

3.XML Schema 使用 XML 语法       另一个关于 XML Schema 的重要特性是,它们由 XML 编写。

由 XML 编写 XML Schema 有很多好处:

  • 不必学习新的语言
  • 可使用 XML 编辑器来编辑 Schema 文件
  • 可使用 XML 解析器来解析 Schema 文件
  • 可通过 XML DOM 来处理 Schema
  • 可通过 XSLT 来转换 Schema

4.可扩展 因为使用xml编写,具有可扩展性。

5.保护数据通信

当数据从发送方被发送到接受方时,其要点是双方应有关于内容的相同的“期望值”。通过 XML Schema,发送方可以用一种接受方能够明白的方式来描述数据。因为规定了其结构和数据类型。

三.如何使用XSD?

1.XML 文档可对 DTD 或 XML Schema 进行引用。

一个简单的 XML 文档:

请看这个名为 "note.xml" 的 XML 文档:

<?xml version="1.0"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don‘t forget the meeting!</body>
</note>

下面这个例子是一个名为 "note.xsd" 的 XML Schema 文件,它定义了上面那个 XML 文档的元素:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">
<xs:element name="note">
    <xs:complexType>
      <xs:sequence>
	<xs:element name="to" type="xs:string"/>
	<xs:element name="from" type="xs:string"/>
	<xs:element name="heading" type="xs:string"/>
	<xs:element name="body" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
</xs:element>
</xs:schema>

note 元素是一个复合类型,因为它包含其他的子元素。其他元素 (to, from, heading, body) 是简易类型,因为它们没有包含其他元素。

对 XML Schema 的引用

此文件包含对 XML Schema 的引用:

<?xml version="1.0"?>
<note
xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3school.com.cn note.xsd">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don‘t forget the meeting!</body>
</note>

XSD文档编辑相关的知识:参考资源:http://www.w3school.com.cn/schema/schema_complex_elements.asp
时间: 2024-10-25 08:50:04

XSD(XML Schema Definition)学习笔记的相关文章

XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式

XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式 http://blog.csdn.net/gdjlc/article/details/11374787 2013-09-08 12:16 2824人阅读 评论(0) 收藏 举报 分类: XML(5) 版权声明:本文为博主原创文章,未经博主允许不得转载. XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD),作用是定义 XML 文档的合

《疯狂XML讲义》学习笔记

<疯狂XML讲义>主要分为五个部分.第一部分介绍了XML.DTD.XML Schema等基础知识,这些知识主要教读者如何定义有效的XML文档,这部分 内容是深入学习后面知识的基础,也是每个使用XML的开发者都应该掌握的 基础.第二部分介绍了CSS.XSLT和XPath等知识,通过使用CSS或XSLT,可 直接将XML文档当成视图技术.第三部分介绍了DOM.SAX.JAXP.dom4j. JDOM.XQuery和XQJ等,其中的DOM.SAX.JAXP.dom4j和JDOM都以结构化的 方式来创

xml与xml schema命名空间学习

首先,xml与xml schema(xsd)文件都是xml格式的文件,都遵循相同的命名空间规则 在schema元素中通过xmlns指定约束文件位置 如下面的xsd文件中的代码 <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example

如何将XML转换成XSD(XML Schema)文件

将xml装换为xsd,先决条件是已经安装了Visual Stutio 1) 输入cmd在运行窗口 2) 将xsd的路径加入到path变量 set path=%path%;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin 3)运行下列命令 xsd xml文件路径

Context域从web.xml获取数据学习笔记

web.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h

通过程序校验xml文档学习笔记

校验xml文档,可以通过程序来校验,利用一段js代码即可. 各行代码的含义已经写出,运行这个html文件,检验如下xml代码: 结果如下: 如果xml文档出现错误: 结果如下: 其中,obj.async=false是关闭对象的异步加载模式,所谓异步是加载一句解释一句,同步是加载完成后再解释.

ADO.NET学习笔记-非链接类

1. DataTable类 DataTable类即是存在于内存中的表格式数据,包括行.列及约束,其中行主要用于存储数据,而列和约束共同组成DataTable的Schema(架构). 2. 创建主键组合列 主键可以一列构成,也可由多列构成,统一起见,ADO.NET在创建主键时,都使用列数组,例: cars.PrimaryKey = new DataColumn[] { vin }; 3. 使用自增长列做为主键 在应用程序中设置自增长列的方法如下: 1) 将列的AutoIncrement属性设为tr

疯狂XML学习笔记(7)-----------XML Schema

XML Schema 是基于 XML 的 DTD 替代者. XML Schema 可描述 XML 文档的结构. XML Schema 语言也可作为 XSD(XML Schema Definition)来引用. 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: HTML / XHTML XML 以及 XML 命名空间 对 DTD 的基本了解 如果您希望首先学习这些项目,请在 首页 访问这些教程. 什么是 XML Schema? XML Schema 的作用是定义 XML 文档

XML Schema学习札记(1)——基础总览

内容整理自:www.w3school.com.cn 转载自:http://www.xgezhang.com/xml_schema_1.html 什么是XML Schema? XML Schema 是基于 XML 的 DTD 替代者. XML Schema 可描写叙述 XML 文档的结构,并对其进行制约和校验. XML Schema 语言也可作为 XSD(XML Schema Definition)来引用. 它能够: 定义可出如今文档中的元素 定义可出如今文档中的属性 定义哪个元素是子元素 定义子