经典介绍DTD和Schema及区别.ppt
《经典介绍DTD和Schema及区别.ppt》由会员分享,可在线阅读,更多相关《经典介绍DTD和Schema及区别.ppt(51页珍藏版)》请在三一办公上搜索。
1、,DTD和XML Schema,回顾,掌握XML语法规则了解XML技术体系了解XML应用方向问题什么是XML,为什么要用XMLXML的内容有哪些顺序:从文档上面到下面什么叫有效的XML,目标,理解文档类型定义(DTD)理解命名空间理解Schema使用Schema和DTD定义XML文档,概述,为什么要验证XML什么叫有效的XML如果一个XML文档规定其文档类型和数据结构的DTD或者Schema,并且与之关联,并且校验正确,则此文档是有效的良好与有效关系格式良好的XML文档,不一定是有效的XML文档。有效的XML文档,则一定是格式良好的XML文档。说明:在格式良好的基础上,再看是否满足企业的特殊要
2、求XML验证技术DTDSchema,文档类型定义DTD,DTD(Document Type Definition,文档类型定义)是一套标记的语法规则,它定义了元素、子元素、属性及其取值,规定了用户在DTD关联的XML文档中可以使用什么标记、各个标记出现的顺序以及标记的层次关系,并定义了实体。对于一个DTD的定义,最关键的在于它内部的元素和属性的定义。一个DTD文档实际上就是元素定义的集合,而元素可能包含属性,也可能不包含属性。,使用DTD定义XML元素,要点:包含符号和数据类型两部分。,元素内容的类型,示例,使用DTD定义XML元素的属性,说明:回顾定义表时字段的定义。对比学习XML很重要。,
3、属性类型及其含义,约束的四种形式,示例,DTD与XML文档关联形式,一个DTD文件可以与多个XML文档联系起来。这样,这些XML文档就具有相同的DTD模板,其元素、元素属性、元素排列顺序、元素内容都必须符合DTD定义的格式。该DTD文档可以根据用户的实际需求创建,以适应特定的应用业务领域。将DTD与XML文档关联的方式有三种:使用内部DTD使用外部DTD使用公共DTDXML解析器将使用DTD来解析XML文档。XML文档应该通过指令告诉解析器到哪里去寻找DTD。XML文档类型声明出现在XML文档的序言部分,以字符串“,使用内部DTD,使用外部DTD,如果某个DTD是共享的,即开放给多个XML文档
4、作为公共文档,那么这些XML文档应该使用外部DTD。如果采用外部DTD的话,就需要有两个文档,第一个文档就是关于DTD的文档,第二个文档就是遵守DTD格式的内容文档。实际上,我们可以建立无穷多个遵守该DTD格式的文档。在XML文档中关联外部DTD的语法格式为:,外部DTD示例,使用公共DTD,有些组织(例如W3C)和企业将其所定义的DTD公布出来,供需要的开发人员使用和参考。使用这些DTD的XML文档即使用了公共的DTD模板。其语法格式为:DTD名称与XML名称有所不同,可以包含字母、数字、空格等。如果一个DTD是一个ISO标准,那么DTD名称应该以字符串“ISO”开始。如果一个非ISO组织同
5、意该DTD,那么其名称以“+”开始。如果没有标准化组织同意该DTD,那么其名称以“-”开始。初始化字符串后面是一个双斜杠“/”,接着是DTD所有者的名称,然后又是双斜杠“/”,接着是描述该DTD的文字,最后还是一个双斜杠“/”,跟着ISO639语言标识符。比如,我们在前面学习过的定义过渡型XHTML1.0的DOCTYPE为:,使用DTD定义XML实体,内部实体:外部实体,命名空间,当我们建立XML应用的时候,会为具体的行业应用创建特定的DTD,规定可用的元素。有时会出现下面的情况-两个同名的元素在不同的地方可能会有不同的含义。命名空间(Namespace)-对于每一套特定应用的DTD,给它一个
6、独一无二的标志来代表,如果在XML文件中使用DTD中定义的元素,需将DTD的标志和元素名、属性连在一起使用,相当于指明了元素来自什么地方,这样就不会和其他同名元素混淆了。在XML中,采用现成的、在全球范围唯一的“域名”作为命名空间,即用URL作为XML的命名空间。,xmlns:前缀=命名空间URI,命名空间示例,命名空间示例,客户端网页编程 成都朗沃信息技术有限公司肖继潮机械工业出版社2005年50050 JavaScript权威指南 老外 Apress 2004,XML Schema,XML Schema是用一套预先规定的XML元素和属性创建的,这些元素和属性定义了XML文档的结构和内容模式
7、。XML Schema规定XML文档实例的结构和每个元素/属性的数据类型。Schema相对于DTD的明显好处是,XML Schema文档本身也是XML文档,而不是像DTD一样使用自成一体的语法。这就方便了用户和开发者,因为可以使用相同的工具来处理XML Schema和其他XML信息,而不必专门为Schema使用特殊工具。Schema简单易懂,懂得XML语法规则的人都可以立刻理解它。Schema的概念提出已久,但W3C的标准最近才出来,相应的应用支持尚未完善,但采用Schema已成为XML发展的一个趋势。,Schema和DTD的区别,XML从SGML中继承了DTD,并用它来定义内容的模型,验证和
8、组织元素。同时,它也有很多局限:DTD不遵守XML语法;DTD不可扩展;DTD不支持命名空间的应用;DTD没有提供强大的数据类型支持,只能表示很简单的数据类型。Schema完全克服了这些弱点,使得基于Web的应用系统交换XML数据更为容易。下面是它所展现的一些新特性:Schema完全基于XML语法,不需要再学习特殊的语法;Schema能用处理XML文档的工具处理,而不需要特殊的工具;Schema大大扩充了数据类型,支持booleans、numbers、dates and times、URIs、integers、decimal numbers和real numbers等;Schema支持原型,也
9、就是元素的继承。如:我们定义了一个“联系人”数据类型,然后可以根据它产生“朋友联系人”和“客户联系”两种数据类型;Schema支持属性组。我们一般声明一些公共属性,然后可以应用于所有的元素,属性组允许把元素、属性关系放于外部定义、组合;开放性。原来的DTD只能有一个DTD应用于一个XML文档,现在可以有多个Schema运用于一个XML文档。,思考,Schema更好,为什么还要学习DTD?目前还有很多开源框架使用的是DTD简单,清晰。熟悉DTD,能够读懂Schema报错信息如:验证ss01.xml.file:/e:/LOVODB/PPT2008/43/xml02/ss01.xml:8,13:El
10、ement lastname is not valid for content model:(firstname|lastname)XML文档ss01.xml无效(1 errors)Schema目前越来越多的框架由DTD验证改为了Schema验证Schemal已经成为一种发展趋势,XML Schema基础概念 1,预定义类型派生类型,XML Schema基础概念2,Schema元素:简单类型和复杂类型XML Schema规范中将元素分为两种类型:简单类型元素:简单类型元素只能包含字符内容。这些字符可以被约束为特殊的预定义类型或派生类型。例如,可以指定一个简单元素的内容必须是日期、整数、字符串或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 经典 介绍 DTD Schema 区别

链接地址:https://www.31ppt.com/p-5333474.html