【XML】——DTD & Schema

原创 2015年07月10日 11:25:12

视频中介绍了两个新颖的词汇: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更人性化的服务,更适合这个信息飞速发展的时代。所以呢,我们以后做软件,要在前人的基础上,去发掘用户

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

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

schema、dtd、xml之间的关系

schema的专业叫法是模式,每一个web.xml都要 ============ schema和dtd都是对xml文件的进一步约束: 1xml文件中可以用哪些元素,如引用了web-app_2.4.xs...
  • Ideality_hunter
  • Ideality_hunter
  • 2016年05月29日 15:27
  • 2728

xml基础、DTD验证、Schema验证(备忘)

一、xml基础详解: 1、概述:     xml:即可扩展标记语言,xml是互联网数据传输的重要工具,它可以跨越互联网任何的平台,不受编程语言和操作系统的限制,可以说它是一个拥有互联网最高级别通行...
  • zoeban
  • zoeban
  • 2013年02月27日 14:54
  • 2721

XML 文档定义的两种形式(DTD,SCHEMA)

XML DTD是目前使用比较广泛的一种XML模式,而XML SCHEMA是W3C官方推荐的XML定义格式。 DTD 指定:可以在文档中存在的元素、那些元素可以具有的属性、在元素内部元素的层次结构以及...
  • Baple
  • Baple
  • 2014年09月29日 14:46
  • 2025

关于XML的总结——Schema和DTD

XML DTD(XML的文档类型定义)是近几年来XML技术领域所使用的最广泛的一种模式。但是,由于XML DTD并不能完全满足XML自动化处理的要求,例如不能很好实现应用程序不同模块间的相互协调,缺乏...
  • dandanzmc
  • dandanzmc
  • 2013年11月06日 23:49
  • 3279

xml——DTD与schema

xml给基于Web的应用软件赋予了强大的功能和灵活性,给开发者和用户带来了许多好处。毋庸置疑xml的功能是强大的:更有意义的搜索 、开发灵活的Web应用软件(web集成)、不同来源数据的集成、多种应用...
  • leimengyuanlian
  • leimengyuanlian
  • 2013年12月24日 16:53
  • 1258

JavaEE开发——XML、DTD、Schema、Dom、Sax

XML 名称:可扩展标记语言,Extendsible Markup Language 用途:xml的出现就是描述一些有关系的数据,现在主要作为软件的配置文件以描述程序模块之间的关系 明确:我们学习的是...
  • u012453500
  • u012453500
  • 2017年06月07日 17:18
  • 608

xml学习笔记——dtd和schema

XML是一种用作网络数据传输的语言,它不同于HTML,HTML主要用来表现数据,而XML主要用来传输数据。 XML的知识点很多,它是一门比较复杂的语言。在这里要谈的只是冰山一角——XML的两种文档定...
  • jasper_success
  • jasper_success
  • 2011年08月10日 23:43
  • 539

XML、DTD、Schema

  • 2017年06月21日 00:44
  • 88KB
  • 下载

xml基础(dtd约束模式,schema约束模式,xslt样式,sax解析,dom解析,jom解析)

  • 2011年03月06日 12:03
  • 3.1MB
  • 下载

XML学习文档(DTD Schema SAX DOM XSL XPATH)

  • 2011年03月07日 15:20
  • 464KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【XML】——DTD & Schema
举报原因:
原因补充:

(最多只允许输入30个字)