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
转载于:https://www.cnblogs.com/YangFengHui/p/3944437.html
XSD(XML Schema Definition)学习笔记相关推荐
- XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD),作用是定义 XML 文档的合法构建模块,类似 DTD,但更加强大. 作用有: ①定义 ...
- 【转】XSD (xml Schema Definition)
来自:http://www.cnblogs.com/newsouls/archive/2011/10/28/2227765.html Xml Schema的用途 1. 定义一个Xml文档中都有什么元 ...
- XML DTD 语言学习笔记
-XML DTD 全称:Document Type Definition 简介:用于定义文档的合法性.它定义了文档应该有哪些元素及其属性,还有其他一些约束性规则. 注意:DTD语言定义的文档类型是SG ...
- SqlMapConfig.xml配置文件---Mybatis学习笔记(七)
SqlMapConfig.xml文件的配置内容: SqlMapConfig.xml中配置的内容和顺序如下: properties(属性) settings(全局配置参数) typeAliases(类型 ...
- jmeter xml 请求_Jmeter学习笔记(十六)——HTTP请求之content-type
一.HTTP请求Content-Type 常见的媒体格式类型如下: text/html : HTML格式 text/plain :纯文本格式 text/xml : XML格式 image/gif :g ...
- XML学习笔记(三)
1.Schema 1.1.什么是Schema Schema:原称为XSD(XML Schema Definition),是由微软提出的规范,现成为W3C规范 XML Schema是用一套内置的XML元 ...
- Java基础学习笔记(二)_Java核心技术(进阶)
本篇文章的学习资源来自Java学习视频教程:Java核心技术(进阶)_华东师范大学_中国大学MOOC(慕课) 本篇文章的学习笔记即是对Java核心技术课程的总结,也是对自己学习的总结 文章目录 Jav ...
- Java编程思想学习笔记4 - 序列化技术
今天来学习下Java序列化和反序列化技术,笔者对<Java编程思想>中的内容,结合网上各位前辈的帖子进行了整理和补充,包括: 序列化概述 Java原生序列化技术 Hessian序列化技术 ...
- XML、XML Schema及XSL的应用——信息组织实验报告
一.实验目的: 1.掌握XML文档的基本语法. 2.通过本实验,使学生能够了解并掌握XML Schema的定义方法及其用途. 3.掌握使用XSL显示XML文档的基本方法. 4.熟悉XML spy201 ...
最新文章
- Android Intent setAction的使用注意
- UTF8转换为GB编码gb2312转换为utf-8
- excel执行INSERT和UPDATE操作语句
- sql server 链接服务器 改访问接口_跨服务器链接数据库?其实很简单!(上)
- 2017年第八届蓝桥杯C/C++ A组国赛 —— 第四题:填字母游戏
- NOP (code)_NOP指令作用及解析
- activemq概念介绍
- python爬虫作业帮_【Python爬虫】01作业
- 18-10-29 关于设计器机器人等安装遇到的问题的解决方法
- 计算机组成原理第6版课后答案,计算机组成原理第6章习题参考答案
- klwp主题大全_klwp主题包百度网盘版下载-klwp主题包百度云版_5577安卓网
- Turbo | 简介与安装
- python文字转语音的五种方式win32com,pyttsx3,百度api,可使用自己的声音
- Stream之Collectors(toList()
- android 图片加载 软引用_Android 异步加载网络图片并缓存到本地 软引用 学习分享(转)...
- highcharts绘制3D图表
- 贵州省正安县格林镇:“爱心妈妈”来了!
- android手机连接电脑,安卓手机连接电脑的方法
- 保加利亚 乱码_保加利亚PHP的回顾-游戏开始!
- python获取计算股票技术指标DIF/DEA/MACD