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)来引用。

它能够:

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

XML Schema 是 DTD 的继任者:

我们觉得 XML Schema 非常快会在大部分网络应用程序中代替 DTD,理由例如以下

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

一个简单样例:

?


1

2

3

4

5

6

7

<?

xml
version="1.0"?>

<note>

<to>George</to>

<from>John</from>

<heading>Reminder</heading>

<body>Don‘t forget the meeting!</body>

</note>

它相应的note.xsd的Schema文件例如以下:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<?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>

能够看到。使用XML Schema有非常多优点和优势。比方它不须要学习新的语言、可使用 XML 编辑器来编辑 Schema 文件、可使用 XML 解析器来解析 Schema 文件等。

它还有很多其它的优点在后面介绍。

XML Schema支持对DTD的引用,以及对XML Schema本身的引用。參看以下两个样例:

对外部DTD的引用:

?


1

2

3

4

5

<?xml
version="1.0"?>

<!DOCTYPE
note SYSTEM "http://www.w3school.com.cn/dtd/note.dtd">

<note>

...

</note>

对外部XML Schema的引用:

?


1

2

3

4

5

6

7

8

<?

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"
>

...

</note>

<schema> 元素是每个 XML Schema 的根元素。

即每个XML Schema文件都是已<schema></schema>为头和尾的,这里面能够包括属性。一个 schema 声明往往看上去类似这样:

?


1

2

3

4

5

6

7

8

9

10

<?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:schema>

当中xmlns:xs=”http://www.w3.org/2001/XMLSchema”显示 schema 中用到的元素和数据类型来自命名空间 “http://www.w3.org/2001/XMLSchema”。

同一时候它还规定了来自命名空间 “http://www.w3.org/2001/XMLSchema” 的元素和数据类型应该使用前缀 xs:

targetNamespace=”http://www.w3school.com.cn” 这个片段,表示被此 schema 定义的元素 (note, to, from, heading, body) 来自命名空间: “http://www.w3school.com.cn”。

xmlns=”http://www.w3school.com.cn” 这个片段表示默认的命名空间是”http://www.w3school.com.cn”。

elementFormDefault=”qualified” 这个片段表示随意XML实例文档使用并在Schema中声明过的元素必须被命名空间所限定。

时间: 2024-12-05 01:25:44

XML Schema学习札记(1)——基础总览的相关文章

XML Schema学习札记(2)——简单类型介绍

简易元素: 简易元素指哪些仅包含文本的元素,不包含其他任意的元素或属性. 在XMLSchema中,文本有很多类型.它可以是 XML Schema 定义中包括的类型中的一种(布尔.字符串.数据等等),或者它也可以是您自行定义的定制类型. 您也可向数据类型添加限定(即 facets),以此来限制它的内容,或者您可以要求数据匹配某种特定的模式. 定义元素的语法: ? 1 <xs:element name="xxx" type="yyy"/> 常用的类型: xs

xml schema 学习笔记

最近研究XML做一些笔记. 最近做xml 方面的开发, 需要对xml schema做些研究,初步理解xml schema是规定了一个xml 文档的如何写.我的理解为xml schema 相当于一个类, xml文档相当于一个对象实例. xml schema中描述了一个以该文档为模式的xml 文档该如何写. 另外NameSpace是个关键点,NameSpace 我理解为一个类名,当要用到该xml schema 时,便用其NameSpace加前缀到相应的元素或属性前面. 在开发相应的项目时,感觉nam

XML&amp;DTD&amp;XML Schema学习

XML(eXtensible Markup Language)可扩展的标记语言.xml在web service编程中尤为重要.在网络传输中可以作为传输数据的载体.xml作为元语言, 它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的元语言. 它非常适合网络传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据.可以实现异构语言.异构平台之间的交互.XML 文档定义方式有:文档类型定义(DTD)和XML Schema.DTD(Document Type Defi

疯狂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 文档

XSD(XML Schema Definition)学习笔记

今天学习了XSD相关的知识,为了以后查找的方便,写一些笔记. 一.什么是XSD? 1.XSD全称:XML Schema Definition.XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD.XML Schema: 定义可出现在文档中的元素 定义可出现在文档中的属性 定义哪个元素是子元素 定义子元素的次序 定义子元素的数目 定义元素是否为空,或者是否可包含文本 定义元素和属性的数据类型 定义元素和属性的默认值以及固定值 XML Schema 在 2001 年 5 月

WebService学习笔记-XML&Schema&HTTP

XML约束 在XML技术里,可以编写一个文档(文件)来约束一个XML文档的书写规范,这称之为XML约束 1.namespace 相当于schema文件的id 2.targetNamespace属性 用来指定schema文件的namespace的值 3.xmlns属性 引入一个约束, 它的值是一个schema文件的namespace值 4.schemaLocation属性 用来指定引入的schema文件的位置 schema规范中: 1. 所有标签和属性都需要有schema文件来定义 2. 所有的s

嵌入式技术基础与实践-学习札记(二)

嵌入式技术基础与实践-学习札记(二) 异步串行通信的通用基础知识 串口通信接口,简称"串口".\(UART\)或\(SCI\).\(MCU\)中的串口通信,在硬件上分为发送线\((TxD)\).接受线\((RxD)\)和地线\((GND)\):在通信方式上,属于单字节通信,是嵌入式开发中重要的打桩调试手段. 串行通信的基本概念 "位"\((bit)\)是单个二进制数字的简称.在计算机中,通常一个信息单位用\(8\)位二进制表示,成为一个"字节"\

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

第65节:Java后端的学习之Spring基础

Java后端的学习之Spring基础 如果要学习spring,那么什么是框架,spring又是什么呢?学习spring中的ioc和bean,以及aop,IOC,Bean,AOP,(配置,注解,api)-springFramework. 各种学习的知识点: spring expression language spring integration spring web flow spring security spring data spring batch spring网站: http://sp