今天学习了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)学习笔记相关推荐

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

    XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD),作用是定义 XML 文档的合法构建模块,类似 DTD,但更加强大. 作用有: ①定义 ...

  2. 【转】XSD (xml Schema Definition)

    来自:http://www.cnblogs.com/newsouls/archive/2011/10/28/2227765.html Xml Schema的用途 1.  定义一个Xml文档中都有什么元 ...

  3. XML DTD 语言学习笔记

    -XML DTD 全称:Document Type Definition 简介:用于定义文档的合法性.它定义了文档应该有哪些元素及其属性,还有其他一些约束性规则. 注意:DTD语言定义的文档类型是SG ...

  4. SqlMapConfig.xml配置文件---Mybatis学习笔记(七)

    SqlMapConfig.xml文件的配置内容: SqlMapConfig.xml中配置的内容和顺序如下: properties(属性) settings(全局配置参数) typeAliases(类型 ...

  5. jmeter xml 请求_Jmeter学习笔记(十六)——HTTP请求之content-type

    一.HTTP请求Content-Type 常见的媒体格式类型如下: text/html : HTML格式 text/plain :纯文本格式 text/xml : XML格式 image/gif :g ...

  6. XML学习笔记(三)

    1.Schema 1.1.什么是Schema Schema:原称为XSD(XML Schema Definition),是由微软提出的规范,现成为W3C规范 XML Schema是用一套内置的XML元 ...

  7. Java基础学习笔记(二)_Java核心技术(进阶)

    本篇文章的学习资源来自Java学习视频教程:Java核心技术(进阶)_华东师范大学_中国大学MOOC(慕课) 本篇文章的学习笔记即是对Java核心技术课程的总结,也是对自己学习的总结 文章目录 Jav ...

  8. Java编程思想学习笔记4 - 序列化技术

    今天来学习下Java序列化和反序列化技术,笔者对<Java编程思想>中的内容,结合网上各位前辈的帖子进行了整理和补充,包括: 序列化概述 Java原生序列化技术 Hessian序列化技术 ...

  9. XML、XML Schema及XSL的应用——信息组织实验报告

    一.实验目的: 1.掌握XML文档的基本语法. 2.通过本实验,使学生能够了解并掌握XML Schema的定义方法及其用途. 3.掌握使用XSL显示XML文档的基本方法. 4.熟悉XML spy201 ...

最新文章

  1. Android Intent setAction的使用注意
  2. UTF8转换为GB编码gb2312转换为utf-8
  3. excel执行INSERT和UPDATE操作语句
  4. sql server 链接服务器 改访问接口_跨服务器链接数据库?其实很简单!(上)
  5. 2017年第八届蓝桥杯C/C++ A组国赛 —— 第四题:填字母游戏
  6. NOP (code)_NOP指令作用及解析
  7. activemq概念介绍
  8. python爬虫作业帮_【Python爬虫】01作业
  9. 18-10-29 关于设计器机器人等安装遇到的问题的解决方法
  10. 计算机组成原理第6版课后答案,计算机组成原理第6章习题参考答案
  11. klwp主题大全_klwp主题包百度网盘版下载-klwp主题包百度云版_5577安卓网
  12. Turbo | 简介与安装
  13. python文字转语音的五种方式win32com,pyttsx3,百度api,可使用自己的声音
  14. Stream之Collectors(toList()
  15. android 图片加载 软引用_Android 异步加载网络图片并缓存到本地 软引用 学习分享(转)...
  16. highcharts绘制3D图表
  17. 贵州省正安县格林镇:“爱心妈妈”来了!
  18. android手机连接电脑,安卓手机连接电脑的方法
  19. 保加利亚 乱码_保加利亚PHP的回顾-游戏开始!
  20. python获取计算股票技术指标DIF/DEA/MACD

热门文章

  1. Flutter 登录页面Demo 复制可使用
  2. Flutter实现倒计时功能
  3. vue中webpack编译打包使用之Vue知识点归纳(十一)
  4. Vue学习--前后端交互
  5. nginx开发笔记_ngx_hash源码解析
  6. Android 5.0新特性
  7. asp.net中的post和get请求操作
  8. vue 手写 移动端 左右滑动 防止上下滑动冲突 超过宽度一半切换
  9. HTML 5 Canvas
  10. IE CSS Bug及解决方案参考手册