【XML】——DTD & Schema

视频中介绍了两个新颖的词汇:DTD和Schema。看完视频,我对这两个单词的理解是:对XML的规范。下

面看看它们俩是如何对XML进行规范化的,它们又有什么异同?

XML规范之路——DTD

DTD可以定义XML文件的结构;提供语法和规则;既可以定义在XML文件中也可以在XML文件外;对于

XML而言,DTD文件类型声明是可以缺少的。

对于DTD而言,可以分为XML内部声明与外部声明。简单的说,内部声明就是在XML文档内部使用,向函

数定义一样,先定义一个DTD在!DOCTYPE中,然后再XML文档里声明一下。外部声明类似于定义类:先定义一

个DTD在DOCTYPE定义里,然后再XML里引用DTD的文件名就行了。

DTD元素的规则中,最基础的语法是声明只出现一次:<!ELEMENT 元素名称 (子元素名称)>,其余的

声明都是在这个基础上进行变化,所以只需要基础这个,然后记住一些基本的符号就行了。比如:* 表示零次或多

次;?表示零次或一次;|表示或;# |表示混合型……

而DTD属性关键字:ATTLIST;DTD实体关键字:ENTITY。

需要提一下的是命名空间,和C#中看到的命名空间不同的是,它解决的是DTD命名冲突的问题,所以在命

名空间中都会带上DTD文件的文件头。

XML规范之路——Schema

与DTD作用相同,都是规范XML文件的。但是比DTD的功能更为强大,主要体现在以下几方面:

1、使用XML语法:与DTD有自己独特的语法不同的是,Schema使用的是XML语法,所以在用户接触

Schema时是非常方便的。

2、支持自定义数据类型:正因为使用XML语法,所以同XML一样,可以自定义数据类型。

3、可扩展:也因为使用XML语法,所以如果用户想增加描述,是可以直接对Schema进行扩充的。

4、保护数据通信:Schema可以用一种接受方可以明白的方式对数据进行描述,比如:<date

type="date">2004-03-11</date>。因为XML数据类型date要求的格式是“YYYY-MM-DD”,所以对于日期而言不会产生

歧义。

5、可捕获到错误。

DTD VS Schema,Schema完胜!

看到上述对Schema与DTD的简单描述,就扩展性强,支持XML语法这两条,可以发现Schema拥有比

DTD更人性化的服务,更适合这个信息飞速发展的时代。所以呢,我们以后做软件,要在前人的基础上,去发掘用户

体验佳,扩展性强,灵活性好,上手容易的产品。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-04 12:46:18

【XML】——DTD & Schema的相关文章

理清XML,HTML,DTD,Schema,户阿由

其实我是很厉害的段子手,吹逼高手.很久很久以前,有一次,在那个那个地方...(啪)卢本伟闭嘴==! 1.HTML和XML没啥关系,XML和DTD,Schema比较亲近. 2.HTML是显示数据.XML是传输存储数据.(至于定义什么的自己去搜着看,我主要是了解他们干嘛的.) 3.DTD是一种语法规则,它用来规则XML文档怎么怎么写. 4.Schema就牛逼了,基于XML,只是功能比DTD更丰富,但是最最根本的目标,和DTD一样,为了让XML更方便写,传输存储处理数据上功能更强大. 5.DTD和Sc

【xml】xmlp之dtd1

什么是XML约束? 在xml技术里,可以编写一个文档来约束一个xml文档的写法,这称之为xml约束 2. 为什么要使用xml约束? 参看提示栏 3. xml约束的作用? 约束xml的写法 对xml进行校验 4. 常见的xml约束技术 xml  dtd xml  Schema ------------------------------------------------------------------------- DTD 约束快速入门 dtd ( document type definit

html、xml竞争还是合作?--【xml】

现在学到了xml,让我想起了当初的 HTML基础--[软考],现在终于可以拿xml和html进行对比啦. html xml 缩写 HyperText Markup Language 超文本标记语言 Extensible Markup Language 可扩展标记语言 核心 数据布局和显示 包含和传输数据. xml的降临不是为了替换html的,两者的目的不同,xml被设计为传输和存储数据,焦点是数据内容.html被设计用来显示数据,焦点是数据的外观. xml特点: 1.仅仅是纯文本 2.可以自定义

【xml】Schema--- xml的约束技术

Schema 是xml的约束技术,出现的目的是为了替代dtd 本身也是一个xml,非常方便使用xml的解析引擎进行解析 对名称空间有非常好的支持 支持更多的数据类型,并且支持用户自定义数据类型 可以进行说语义级别的限定,限定能力大大强于dtd 相对于dtd不支持实体 相对于dtd复杂的多,学习成本比较的高 快速入门 自身是一个xml文件,扩展名是 .xsd 一个xml Schema通常称之为模式文档(约束文档),遵循这个文档书写的xml文件称之为实例文档 和xml文件一样,一个xml Schem

在AJAX里 使用【 XML 】 返回数据类型 实现简单的下拉菜单数据

在AJAX里 使用XML返回数据类型 实现简单的下拉菜单数据 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <

【XML】——XML与HTML异同

在没有学习XML之前,一直错认为XML是HTML的替代语言,在看<XML刘伟>视频之后,发现这种认为 对我的帮助还是挺大的.现在来更正一下XML语言与HTML的关系,然后再说说为什么错觉也会有帮助. 什么是标记语言? 是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码. 与文本相关的其他信息(包括文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记进行标识. 标记语言有: 这么多标记语言里我们现在接触的就HTML与XML,但是触类旁通,只要把这两

【XML】详解XML

目录结构: contents structure [-] 什么是XML 解析XML 解析XML的两种方式 使用dom4j解析xml dom4j的部分API 打印一个XML文件的全部内容 在dom4j中应用XPath解析XML 相关的部分API XPath的路径表达式 通配符 谓语 使用java写一个XMl文件 将一个带有书籍信息的List集合解析为XML文件 1 什么是XML XML(eXtensible  markup language) 是一种可扩展的标记语言 ,即使可以自定义标签的语言.

【xml】xml编程

xml编程:利用java程序支增删改查(CRUD)XML中的数据 解析思想: dom解析 sax解析 基于这两种解析思想市面上就有了很多的解析api sun jaxp (比较弱)既有dom方式也有sax方式,并且这套解析api已经加入到j2se的规范中,意味这不需要导入任何第三方开发包就可以直接使用这种解析方式,但是这种解析方式效率低下 dom4j (比较强)可以使用dom方式高效的解析xml dom4j 导入开发包,通常只需要导入核心包就可以了,如果在使用的过程中提示少什么包到lib目录下在导

【xml】转义字符 &amp;lt;等符号出现的原因

来源:http://www.cnblogs.com/hyd309/p/3549076.html HTML中的转义字符  HTML中<, >,&等有特别含义,(前两个字符用于链接签,&用于转义),不能直接使用.使用这三个字符时,应使用他们的转义序列,如下所示: & 或 & & 和 < 或 < < 小于号 > 或 > > 大于号 " " 双引号   空格 © © 版权符 &reg ® 注册符 前