《XML编程》教案.doc_第1页
《XML编程》教案.doc_第2页
《XML编程》教案.doc_第3页
《XML编程》教案.doc_第4页
《XML编程》教案.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

阜阳电大XML程序设计课程教案一、教学目标XML编程是软件技术专业新开设的一门专业课程。主要内容包括XML基本知识、XML的应用和数据接口,如XML与数据库、XML与SOAP、XML与DOM,以及基于XML的Visual Basic、ASP和.NET等应用。本课程要求学生在掌握XML基本知识的基础上,重点掌握基于XML的数据交换和编程技术,了解Web中的最新发展动态、应用趋势和集成化的编程风格,领略XML在跨平台、跨应用程序及跨语言的未来分布式解决方案中的作用。二、教学内容第一章 XML概述1课程内容HTML的局限性、XML的产生和特点,以及XML文档的编写方法2教学目标了解HTML的局限性;了解XML产生的背景;掌握XML的特点;掌握最基本的XML文档的编写方法。3. 重点与难点XML的特点、XML文档编写方法第二章 XML数据的底层结构DTD和XML Schema1课程内容DTD和Schema的定义、规则和编写方法,XML文档和两种结构文件的匹配,实例描述如何根据结构文件创建各种类型的XML文档2教学目标熟练掌握DTD的编写语法;掌握XML文档和DTD的匹配;了解Schema与DTD的区别和优势;了解局部和全局定义的概念;熟练掌握Schema的基本结构和使用;掌握简单类型的定义、种类;掌握复杂类型的种类和定义。3. 重点与难点DTD的编写语法、Schema的基本结构、简单类型的定义和种类、复杂类型的种类和定义第三章 XML文件的设计1课程内容XML文档与其结构的匹配、命名空间的概念、声明和使用;XML文档的有效性验证2教学目标通过实例掌握如何设计XML文档的结构;掌握命名空间的概念、声明和使用;了解XML文档的有效性验证的过程。3. 重点与难点XML文档的结构的设计、命名空间的概念、声明和使用、XML文档的有效性验证第四章 XML的样式单XSLT1课程内容从XSLT样式单的创建开始,介绍XML节点的输出、样式模板的创建和应用规则、样式单中的批处理方法以及各节点的条件处理,详细讨论如何运用扩展样式语言编写各种XML样式单。使XML文档全部或部分地以所希望的样式显示在Web浏览器中2教学目标了解XSLT的概念;掌握XSLT样式表的创建和输出;掌握模板的创建和应用;了解节点的批量处理;掌握各节点的条件处理;掌握节点的排序;了解XSLT语法的注意点。3. 重点与难点XSLT样式单的创建和输出、模板的创建和应用、XSL命名空间中各元素的使用第五章 XML的编译、编辑环境和设计工具的运用1课程内容几种流行的XML编译器、XMLSpy的使用、样式单的设计工具Stylesheet Designer的使用2教学目标了解几种流行的XML编译器;掌握XMLSpy的使用,即如何使用XMLSpy创建和编辑Schema和XML文档、如何进行有效性验证、以及XMLSpy与各数据平台的接口;掌握Stylesheet Designer设计样式单的步骤,了解XML元素在动态表格中的生成。3. 重点与难点如何使用XMLSpy创建和编辑Schema和XML文档、Stylesheet Designer设计样式单的步骤第六章 层叠样式表CSS1课程内容CSS简介、使用CSS设计页面、使用CSS样式化文本2教学目标了解CSS的概念;了解如何在XML文件上直接应用CSS;了解如何在XML上使用CSS和XSLT;了解如何在XSLT样式表中设置样式;掌握如何使用CSS设计页面;掌握如何使用CSS样式化文本。3. 重点与难点使用CSS对元素进行定义和设置、使用CSS对表格、文本和图片进行设置、使用CSS样式化文本第七章 XML与数据库1课程内容数据存储、XML与数据库的转换、SQL Server对XML的支持、Oracle对XML的支持2教学目标了解关系数据库中信息的存储与查询;掌握XML数据中信息的存储与查询;掌握数据库到XML文档的信息传送;掌握XML文档到数据库的信息传送;了解如何从SQL Server数据库从提取XML数据以及如何把XML数据插入到数据库;了解Oracle对XML的支持。3. 重点与难点XML数据中信息的存储与查询、数据库到XML文档的信息传送、XML文档到数据库的信息传送位第八章 XML的数据源对象(数据岛)1课程内容数据岛的一般概念、数据岛的数据显示、通过记录集管理数据岛、数据源对象的属性和方法、项目应用使用数据岛实现数据库查询的分页显示2教学目标掌握内嵌的数据岛和外部调用数据的数据岛的表示方法;掌握如何通过表格显示数据岛数据;了解记录集的创建、操作、遍历和分页的方法;掌握数据源对象的属性和方法。3. 重点与难点XML文档的创建和加载、XML文档的遍历、XML元素的添加、删除和内容修改第九章 JAVA DOM程序设计1课程内容JAVA处理XML的技术、使用DOM技术访问XML文档节点、节点(Node)对象的属性、节点和属性的创建、保存DOM文档对象、复制某一个子节点、节点的删除和编辑、节点的XPATH查询、基于DOM的XSLT转换、基于DOM的合法性验证2教学目标了解JAVA处理XML的技术;掌握使用DOM技术访问XML文档节点;节点和属性的创建及节点的删除和编辑;了解节点的XPATH查询;掌握基于DOM的XSLT转换和DOM的合法性验证。3. 重点与难点使用DOM技术访问XML文档节点、节点和属性的创建及节点的删除和编辑、基于DOM的XSLT转换和DOM的合法性验证第十章 Java SAX和JDOM程序设计1课程内容SAX解析基本原理、SAX解析XML的模式、SAX解析属性数据、使用处理指令、处理SAX解析过程中的错误信息、SAX过滤器(Filter)、JDOM概述、XML文档解析、JDOM对XML的合法性验证、使用JDOM创建XML文件、JDOM节点的导航和枚举、JDOM进行XSLT转换、JDOM和DOM及SAX接口的转换。2教学目标掌握SAX解析基本原理;掌握SAX解析XML的模式和属性数据;了解处理XML数据的SAX处理指令;了解SAX解析过程中的错误信息;了解SAX过滤器、了解JDOM、掌握JDOM对XML的合法性验证、掌握使用JDOM创建XML文件、掌握JDOM进行XSLT转换、了解JDOM和DOM及SAX接口的转换。3. 重点与难点SAX解析基本原理、SAX解析XML的模式和属性数据、使用JDOM创建XML文件、JDOM节点的导航和枚举、JDOM的XSLT转换。第十一章 Web服务1课程内容Web服务的定义和特点、Web服务的架构、Web服务协议、如何实现Web服务、基于XML的Web服务描述语言WSDL、WSDL的用途、WSDL的工作机制、WSDL文档的组成、编写以及WSDL的未来发展2教学目标了解Web服务的定义和特点;掌握Web服务中服务提供者、服务请求者以及服务注册中心的概念、作用和三者组成的Web服务架构;掌握Web服务的三个行为,了解Web服务相关协议,掌握怎样实现一个Web服务;掌握WSDL的工作机制,掌握WSDL文档的组成、编写,了解WSDL的未来发展。3. 重点与难点Web服务的架构、WSDL的工作机制、WSDL文档的组成、编写第十二章 简单对象访问协议SOAP1课程内容SOAP的定义和框架、SOAP的用途和解决方案、SOAP的工作原理、如何编写SOAP消息、一个具体实例2教学目标了解SOAP的定义和框架;了解SOAP的用途和解决方案;掌握SOAP的请求和响应;掌握SOAP消息的编写。3. 重点与难点SOAP的工作原理、SOAP消息的编写第十三章 语义Web1课程内容什么是语义Web、基于XML的资源描述框架RDF、如何编写RDF文件、语义Web的未来发展前景2教学目标了解语义Web的相关概念、体系结构以及语义Web与数据、数据库的关系;了解元数据的概念,掌握RDF的基本概念和思想以及RDF模型;掌握RDF文件的编写;了解语义Web的未来发展。3. 重点与难点语义Web的相关概念和体系结构、RDF的基本概念和思想以及RDF模型、RDF文件的编写第十四章 Web服务和数据集成的有力工具MapForce1课程内容MapForce概述、如何用MapForce进行文件映射、MapForce在创建Web服务中的强大功能、MapForce在企业数据集成中的作用2教学目标了解MapForce的用户界面和主要术语;掌握如何用MapForce进行文件映射;了解MapForce在创建Web服务中的强大功能;了解MapForce与数据库,以及MapForce与EDI的的关系和作用。3. 重点与难点MapForce的主要术语、如何用MapForce进行文件映射、MapForce在相关应用中的作用第一讲 XML概述 一、 教学目标 1. 了解HTML的局限性; 2. 了解XML产生的背景;3. 掌握XML的特点;4. 掌握最基本的XML文档的编写方法;二、 教学内容分析XML由W3C组织指定的用于替代HTML语言的一种新型的标记语言,作为新一代数据交换的标准,它在Internet中的地位已经确立。在本章中,首先要了解XML产生的背景,了解HTML的局限性,进而掌握XML的定义和特点,然后通过一个简单的案例,掌握最基本的XML文档的编写方法。三、 教学内容与教学过程1. 课程简介自我介绍;介绍本课程的学习目标、参考书及资料、学习方法、作业与实验、考核方式、上课时间与地点等情况。内容如下:学习目标:在掌握XML基本知识的基础上,重点掌握基于XML的数据交换和编程技术,了解Web中的最新发展动态、应用趋势和集成化的编程风格,领略XML在跨平台、跨应用程序及跨语言的未来分布式解决方案中的作用。参考资料和深入学习途径:(1)吴洁 编著,XML应用教程(第2版),清华大学出版社,2007年(2)丁跃潮,张涛 主编,XML实用教程北京大学出版社,2006年(3)高怡新 编著,XML基础教程计算机网络技术系列教材,人民邮电出版社,2006年提供滁州学院网上教室网址,其中包括了本课程的参考书籍和学习课件等所有信息。考核方式:理论考试成绩(60%)上机实验(20%)平时作业和上课情况(20%)2. 相关资料展示演示“课程简介”PPT课件3. 进入主题(1)边演示边讲解“XML编程”课件。(2)本课程包含的内容包括:第一章 XML概述第二章 XML数据库的底层结构DTD和XML Schema第三章 XML文件的设计第四章 XML的样式单XSLT第五章 XML的编译、编辑环境和设计工具的运用第六章 层叠样式表CSS第七章 XML与数据库第八章 XML编程原理第九章 基于.NET的XML编程技术第十章 Web服务第十一章 简单对象访问协议SOAP第十二章 语义Web第十三章 Web服务和数据集成的有力工具MapForce(3)讲解本章的学习目标。了解XML产生的背景,了解HTML的局限性,进而掌握XML的定义和特点,然后通过一个简单的案例,掌握最基本的XML文档的编写方法。(4)按以下顺序讲解本章具体内容:第一章 XML概述1.1 HTML的局限(1)HTML缺乏语法检查。(2)HTML缺乏结构。(3)HTML对内容不敏感。(4)HTML不是面向对象的。(5)HTML缺乏健壮的链接机制。(6)HTML是不可重用的。(7)HTML是不可扩展的。1.2 从SGML到XML的产生HTML是SGML的一个子集,仅仅用来格式化数据,是一个不可扩充的标记集合,用户不能够增加有意义的可以让其他人使用的标记。60年代末,IBM公司为了解决不同专用格式创建的法律文件无法在公司的各部门间相互移植的问题,提出了通用标记语言,后建立了标准通用标记语言(Standard Generalized Markup Language , SGML) 。1986年,国际标准化组织ISO采用了SGML。1996年,万维网协会(W3C)开始设计一种可扩展的标记语言,使其能够将SGML的灵活性和强大功能与已经被广泛采用的HTML结合起来。后来称这种语言为XML,它继承了SGML的规范,是后者的一个子集。1998年2月,XML1.0成为了W3C的推荐标准。XML是一种界定文本数据的简便而标准的方法。它曾经被人称作Web上的ASCII码。就好像用户可以使用自己喜爱的编程语言来创建任何一种数据结构,然后同其他人在其他计算平台上使用的其他语言来共享一样。XML的标记用来说明用户所描述的概念,而属性则用来控制它们的结构。所以,用户可以定义自己所设计出的语法并同其他人共享。1.3 XML的定义和特点XML保留了SGML的一些特点,并克服了HTML的局限性。主要特点是:(1)XML可用于现有的Web协议(如HTTP和MIME)和机制(如 URL)。(2)XML支持WEB的各种不同的应用,并使用了一种类属的方法使其具有可扩展性。HTML则不支持,它需要借助使用用于链接HTML和应用的脚本语言。(3)XML与SGML兼容,所以大多数SGML应用可以向XML转化。(4)同HTML文档一样,XML文档易于创建。(5)XML文档内容和结构清晰易懂,所以即使对非专业人员来说也易于阅读和使用。(6)XML的设计严谨而仔细,所以XML中标记的信息可以很容易地被计算机程序所处理。(7)XML标准定义精悍,这就保证了其下载和处理的速度。 XML的具体特征 XML是一种使用标记标记内容以传输信息的简单方法。标记用于界定内容,允许自行定义任意复杂度的结构。这一切都是使用普通的文本。 自描述数据。界定XML内容的标记会给所界定的数据中的每一个元素命名。在标记中,可以定义特定的属性,它们会为所描述的元素提供某些附加信息。 XML中的“扩展”一词指的是定义新的标记及其用途的标准机制。由于这一切均是标准化的,所以新的标记可以采用固定不变的途径来描述,并可以同其他XML用户交流。对于在标记中使用的属性来说,情况也是如此。 XML用来描述数据结构,而HTML只是用来描述数据的显示,并不能给出有关于数据的信息。XML并非HTML的替代品,XML中没有与可视化表现形式有关的内容,与注重数据及其表达方式的HTML不同,XML只关心数据本身。 文档的数据库化和数据的文档化是XML走向成功的主要推动力之一。在XML之前,即使对于不太复杂的数据,Web也没有标准的数据交换格式。XML文档在很多方面与传统的关系和对象数据库数据相似,掌握了XML,就能够像处理其他类型的数据一样来处理文档了。 W3C为XML标准化了一套应用程序编程接口(Application Programming Interface, API),用户可以轻松地编制读写XML的程序。 XML的数据描述机制意味着它将成为一种在Internet上共享信息的强大途径,因为:1) 它是开放的:XML能够在不同的用户和程序之间交换数据,而不论其平台如何。2) 它的自描述的特性使其对于B2B和企业内部网解决方案来说是一种有效的选择。3) 无需事先协调,我们就可以在程序之间共享数据。 数据发布和交换XML是数据库信息交换方面的一个重要工具。典型情况下,数据库用来进行信息交换的文件格式是很简单的,比如每行一个记录,记录的域之间用分号隔开。但这种方法对于数据库产生的面向对象的新信息是不够的,因为对象可能有其内部结构,对象之间还可能有链接。XML可以用元素和属性来表示这种信息,它为在数据库之间传送记录提供了一种公共格式。 电子商务XML将使电子商务更加易于标准化、具有更高的可扩展性、并能够与Internet的其他主要技术更好地结合起来。这种软件和标准的易用性使更多小组织可以使用电子商务。 元数据(metadata) 元数据就是关于信息的信息,定义了一套创建标记语言的语法,开发者可以使用它们来定义自己的标记语言。元数据在Web上的下一个发展趋势是在XML之上形成一个标准化层,称为资源描述框架结构(Resource Description Frame)。 Web上的科学研究 万维网协会制定了一种新的基于XML的语言,称为MathML,主要用于在Web上进行数学研究,描述数学公式等。1.4 一个简单的XML 案例 David Calder 56 McMahons Rd Frankston Vic 3199 9903 4567 9903 4444 040 8887 7777 .au 1.5 XML 文档的编写1.5.1 XML标记的编写XML是一种可扩展标记语言,以结构化的方式描述各种类型的数据,它的语法与HTML相似,但HTML只允许使用固定的标签,而XML允许创建新标签来更具体地描述数据。 XML和HTML的结构基本相同,均可分为:元素、属性、值1.5.2 XML的规则参见书P4 例1.2XML声明 元素嵌套根元素 空元素元素 属性1.5.3 注释的添加 XML中注释的添加与HTML中相同,表示结束。XML解析器将花略在之间的所有数据,这样可以为自己或者别人进行注释,或者临时注释掉没有准备好的文档部分。1.5.4 五个特殊的符号XML文档可以分为标记和内容两部分。元素 A Heading 标记 属性内容标记XML用如下规则区分其标记与内容: 标记的开始由“” 、单引号“”、双引号“”; 需要避免直接将上述符号作为普通字符输入; 其它部分则看成内容。 将上面规则中提到的字符称为“标记字符”。XML解析器会将这些字符当作标记进行处理,即使它是出现在XML的内容中。字符实体名称>&“"'1.5.5 CDATA段 CDATA段是一种用来包含文本的方法,它内部的所有内容都会被XML解析器忽略,所以任何符号都不会被认为是标记符。一个CDATA段以“”标记结束。需要注意,CDATA段不能嵌套。 1.5.6 工具的使用 XML应用广泛,在它诞生之后,即有许多公司开发出了不少XML工具。如Adobe公司的FrameMaker可以用来书写XML文档;Microsoft公司的IE4.0已经可以显示、处理和编辑XML文档;Netscape、Sun公司也纷纷在它们的Web工具中加入对XML的支持。 由于XML文件,如同HTML文件一样,仅仅是一个普通的文本文件,所以任何一个文本编辑器都可以用来编写XML文件。为了使XML的编写更为简单方便,常用的工具有XML writer、XmlSpy等。四、 作业布置1. 书面作业(1)简述XML和HTML有哪些异同?(2)试述XML的特点和优越性。2.上机作业(1)使用记事本编辑如下XML文档,并保存文件名为CODE1.xml,然后在IE浏览器中浏览。(2)使用记事本编辑如下XML文档,并保存文件名为CODE2.xml,然后在IE浏览器中浏览。五、 后记第二讲 DTD(1)一、 教学目标 1. 了解DTD的相关概念;2. 熟练掌握DTD的编写语法;3. 掌握XML文档和DTD的匹配;二、教学内容分析本讲重点是DTD的编写语法,包括元素的声明和类型;属性的声明和类型等。三、教学内容与教学过程1. 简要复习第一讲的内容。2. 演示“第二章 XML数据的底层结构DTD和XML Schema(一)”的课件。3. 按以下顺序讲解本讲内容:第2章 XML数据的底层结构DTD 和XML Schema2.1 XML类型定义语言DTD 文档类型定义(Document Type Definition,DTD )是一套关于标记符的语法规则,它定义了可用在文档中的元素、属性和实体,以及这些内容之间的相互关系。例2.1 以XML文档保存一个通讯录的信息(原始信息见P11 ) 。需要经过以下几个步骤:1) 对相关信息项进行命名,将其映射为相应的元素或属性。分析可得的元素有:Name、Address、Street等,属性有:Sex。2) 确定XML文档的层次结构,各元素之间的关系如下: Directory Person(属性:Sex) Name Address City Street State ZipCode Phone Email 3) 根据此层次结构构造DTD为: 4) 根据此DTD编写相应的XML文档 Fred Bloggs London 22 Chancery Lane London SW17 4QP 44 1 800 345144 fbloggshk.co.uk 2.1.1 DTD的编写语法 元素定义1. 元素声明 DTD中所用的第一种声明是元素声明。其形式如下: 其中,name是一个标准的XML标记的名字。Content由以下三种之一组成:关键字EMPTY、关键字ANY和描述包含在本元素中的子元素的顺序和重复次数的内容模型。 参见书P13的例2.2,使用XML文档的形式来描述Email信息所建立的DTD。从例2.2可见,文档中的每一个元素在DTD中都有一个相应的声明。只有DTD中定义的元素才能出现在文档。 在DTD中声明元素时应注意如下几个问题: (1)声明以关键字ELEMENT开头,后面是元素名和包含元素中的子元素列表;(2)数据类型不是DTD的一个特征。如,元素不能被指定为包含一个数字或日期;(3)DTD中所定义的每个元素,在对应的XML文档中有且仅有一个。如需要,课使用元素出现次数指示符;(4)XML是区分大小写的,关键字必须用大写字母。2. 元素内容类型(Element content model) 元素内容通常有五种情况: EMPTY、ANY、#PCDATA、子元素型和混合型。(1)EMPTY类型 EMPTY用于定义空元素,即该元素只可能有属性而不会有字符数据或子元素 声明空元素的语法是: (2)ANY类型 这种类型的元素声明是: 这表明该元素可以包含DTD中定义的其它任何元素或已编译的字符数据。(3)PCDATA类型 不包含其他子元素而只包含字符数据的元素(如),用关键字#PCDATA进行定义,它代表“已编译的字符数据”(parsed character data)。 PCDATA可以包含除标记以外的一切字符,包括数字、字母和符号等。被定义为包含PCDATA的元素不能包含任何其他的子元素。 (4)子元素类型 元素可以包含一系列的子元素,子元素内容模型用于指定某个元素可以包含哪些子元素. 根据子元素间的关系,子元素内容模型可以有两种可能的结构:序列和选择(序列和选择可结合使用)。其中:1)序列,指声明中的所有子元素必须出现且仅出现一次,而且要依次出现。 使用序列时应注意: 序列中不能出现PCDATA; 子元素自身还可以包含其他子元素。 2)选择,元素间的选择可以进行如下声明:(5)混合类型 若某元素既包含子元素又包含已编译的字符数据,则该元素具有混合内容。其声明的语法如下: 注意:1) 该声明以#PCDATA开始,后面是混合内容中可能出现的子元素类型,每种只需声明一次,“*” 必须放在右括号之后。2) 在可能的情况下,应尽量避免使用混合类型。3. 元素出现次数指示符(Element occurrence indicator)?字符 它说明元素可以出现0次或1次。* 字符 它说明元素可以不出现,或出现1次或多次。+ 字符 它说明元素必须出现至少一次,或者说可以出现一到多次 参见例2.4(P17),其中的: 属性定义1属性声明 属性声明的语法如下: 其中,ATTLIST关键字用来定义元素所具有的属性,Element_name是元素名,Attribute_name是该元素所具有的属性名,Type是属性的类型,最常用的类型是CDATA ,Default_value是属性的默认值。例2.5(P18)中,date元素被进一步分解成day、month和year子元素。对year元素定义了一个属性。声明属性时应注意以下几点:(1)属性名称遵循的规则与有效的元素名称相同。(2)在一个给定的元素中不能有两个属性同名。(3)若属性值中含有双引号,则该属性值应用单引号括起来。2属性的类型(1)CDATA属性类型 此类型的属性值只能是文本串,它的声明与#PCDATA元素的声明类似。例如: (2)枚举属性类型 枚举属性的值为指定的文本串列表中的某一个文本串。声明时用括号把这些文本串括起来,并用竖线分隔。例如:(3)ID属性类型 该类型用于标识文档中的元素。ID属性的值必须是一个合法的XML名称,并且该值在文档中必须是唯一的。同时,每个元素最多只能有一个ID类型的属性。例如:(4)IDREF/IDREFS类型 IDREF类型的属性用来引用同一文档中的另一个元素的ID属性。IDREF属性的值必须是文档中某个元素的ID属性值。通过使用IDREF,可使一个元素和另一个元素发生联系。 IDREFS类型是IDREF的复数形式。该类型的属性值是若干个ID属性的值,之间用空格分开。 具体使用见例2.6 (P20)(5)NMTOKEN/NMTOKENS属性类型 NMTOKEN类型属性的值必须为一个有效的XML名称,即必须以字母或者下划线开始,之后是字母、数字、下划线、短横线或圆点,且不能含有空格。 NMTOKENS是NMTOKEN的复数形式,该类型的属性值可以包含若干个有效的XML名称,每个名称之间用空格分隔。具体使用见例2.7 (P22)(6)ENTITY和ENTITYS属性类型 用来引用文档中的不可解析的外部实体,其属性值必须为一个有效的XML名称,而NMTOKENS属性的值可以是空格分隔的名称列表。(7)NOTATION类型 用于将属性值和DTD中的声明关联起来。例如: 其中,type属性的值可以为png、jpg和gif之一,且每个值均与一个相应声明相对应。3属性的默认值 属性声明可以给属性指定一个默认值,使得当在XML文档中未明确地指定该属性的值时,XML处理器会将此默认值作为该属性的值。属性的默认值可以分别用下面三个关键字进行定义: #REQUIRED、#IMPLIED、#FIXED。 其中:(1)REQUIRED:当一个元素的属性被声明为#REQUIRED之后,那么这个元素在使用时必须具有该属性,否则XML文档就是无效的。(2)IMPLIED:若将一个元素的属性声明为IMPLIED,则该属性可以出现在指定的元素中,也可以缺省,即该属性不是必须使用的。(3)FIXED:将一个属性声明为FIXED之后,在相应XML文档中可以不用明确地指定该属性的值,处理器会自动地给出其值;但如果要明确地指出属性值,该值必须是属性定义时给出的默认值。具体使用见例2.9(P24) ,各种属性的综合使用见例2.10(P25) 四、 作业布置1. 书面作业DTD的作用表现在哪几个方面?2. 上机作业网上教室中的实验一:XML基本结构、基本语法。五、 后记第三讲 DTD(2)一、教学目标1. 掌握XML文档和DTD的匹配;2. 了解Schema与DTD的区别和优势;二、教学内容分析本讲重点是DTD的编写语法、Schema的基本结构、简单类型的定义和种类、复杂类型的种类和定义三、教学内容与教学过程1. 简要复习上一讲的内容。2. 演示“第二章 XML数据的底层结构DTD和XML Schema(二)”的课件。3. 接着上一讲继续介绍以下内容第2章 XML数据的底层结构DTD 和XML Schema2.1 XML类型定义语言DTD2.1.2 XML文档和DTD的匹配 每个有效的XML文档必须指定它对于哪个DTD是有效的。这个DTD可以包含在相应的XML文档中,或XML文档也可以通过一个外部URL链接到DTD,这样的外部DTD可以由不同的文档和Web站点共享。 内部DTD声明内部DTD的语法是:其中与XML文档的根元素名相同。例如: 外部个人DTD如果有多个文档要使用同一个DTD,则该DTD可被置于一个单独的文当中(注意DTD文件的文件扩展名为dtd),并在每个使用它的文档中放入一指向它的链接。最简单的方式是提供一个指向该文件的URL。下例是一个引用外部DTD的例子: Michael Calder 44 McMahons Rd Frankston 外部公用DTD(External Public DTD) 如果某个外部个人(SYSTEM)DTD很通用,可供其他的很多XML共享的话,可以给它一个正式的公用的标识符。首先是给该DTD一个正式的公用的名称。名称的格式是: -/Big Bank/DTD sustomer_support/EN/名称的各个部分是:(1)名称以加号(+)或减号()开头。加号表示该DTD已经通过像ISO这样的标准组织的批准。减号表示该DTD未经标准化。(2)“/Big Bank/DTD”表示编写和维护该DTD的个人或组织。(3)“sustomer_support”是对此DTD的描述,/EN/表示该DTD所用的语言,本例中是英语。DTD具有一个名称的优点是查找该DTD的应用程序可通过名字来查找,并且可以引用其最新版本,而不是在某一特定服务器(使用URL的情况)上的某一特定版本(可能已经过期)。具体使用见例2.14(P28) 实体的定义 实体有各种类型,如下面所示的分类。但它们所起的作用是相同的。实体是包含XML文档特殊部分的存储单元。它可以是文件文件、数据库记录或任何其他包含数据的项目。实体使用了一种替代机制,在文档中放入一个实体引用,当对文档进行解析时,实体引用被实体内容所替代。实体有各种类型,如下面所示的分类。但它们所起的作用是相同的。1 内部一般实体 参见例2.15(P29)的一个简单实体的例子。 ! DOCTYPE message &bwfc;此例是内部一般实体的例子,因为: 它是在XML文档内的DTD中进行定义的; 它加载数据到XML文档本身。在实体中可以使用标记字符,但有几个限制: 任何标记字符必须双重转义,例: !ENTITY name “black 3) 处理器插入替换文本,结果代码为: This is not a black & white choice.4) 处理器试图解析“&”,结果报告错误,因为“&”未被声明为一个实体,而双重转义将会在解析阶段为“&”保留一个转义字符。解决方法:使用标记字符的双重转义。例如: 假设XML文档为: The job was left to &name; to fix则解析过程是正确的。 第二个限制是:XML文档的逻辑结构与物理结构必须一致。 逻辑结构是由XML文档和替换文本中的元素组成;物理结构是由文档实体(包含实体引用的XML文档根实体)和内部实体(替换文本)组成;这两个对象是XML中不相关联的物理对象,即使在同一个文件中。 为达到这一要求,替换文本中的任何元素必须在替换文本中开始和结束。2. 外部一般实体 外部一般实体除了实体的定义在一个单独的文件中之外,与内部一般实体相似。参见例2.17(P32)3. 参数实体 参数实体总是可解析的。它既有内部类型也有外部类型。参数实体为书写组成DTD的文本块提供了捷径,而一般实体是为书写XML文档本身的文本块提供了捷径。参见例2.18(P33)4. 不可解析实体 上面的实体都是可解析的实体,但有些实体包含不可解析数据,如二进制文件、图像文件等,称之为不可解析的实体。它们可用于将非文本或非XML内容嵌入到XML文档中。参见例2.19(P34),该代码实现了将图片嵌入到Email的XML文档中。四、 作业布置1. 书面作业为下图的系统设计标记语言。2. 上机作业网上教室中的实验一:DTD的基本结构、基本语法。五、 后记第四讲 Schema(1)一、教学目标1. 了解Sche

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论