XML 编程与应用教程13章.ppt_第1页
XML 编程与应用教程13章.ppt_第2页
XML 编程与应用教程13章.ppt_第3页
XML 编程与应用教程13章.ppt_第4页
XML 编程与应用教程13章.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

第1章xml概述,目标,了解xml的起源、目标和优势了解xml的应用范围掌握xml开发工具altovaxmlspy2007的安装与使用,1.1什么是xml,extensiblemarkuplanguage可扩展标记语言可扩展标记语言xml是sgml的子集,其目标是允许普通的sgml在web上以目前html的方式被服务、接受和处理。xml被设计成易于实现,且可在sgml和html之间互相操作(w3cxml工作组对xml的定义)。它是internet环境中跨平台的、依赖于内容的技术,是这个时代中处理分布式结构信息的选择工具,用它来简化通过internet的文档信息传输。,xml的设计目标,可扩充性语义与表现形式的分离在internet上的可用性简单性国际化和sgml的协作性,xml,xml是一种类似于html的标记语言xml是用来描述数据的xml的标记不是在xml中预定义的,而是自定义的标记xml使用dtd或者schema后就是自描述的语言,1.2xml的产生背景电子数据交换介绍,定义:edi,即电子数据交换,是指在两个计算机系统之间以标准格式交换文档的过程。一般来说,交换出现在贸易伙伴之间。edi是electronicdatainterchange的缩写,它是一种利用计算机进行商务处理的新方法。,传统贸易过程和edi过程,edi的好处,减少数据输入错误消除代理方和客户间的通信延迟时间改善客户的服务传输信息的成本最少减少订购时间,xml产生背景,随着上网人数的激增,上网已不再局限于浏览网页,而是数据传递、交换.。sgml过度复杂,无法在web上普及、应用;html过度简单缺乏弹性,无法满足web各方位上的需求。xml继承sgml优点又不太复杂,且能弥补html的不足,文件数据经过xml标记后,能够很容易在web上传递、交换和使用。xml是一个交叉平台,独立于硬件和软件的发送信息工具。,xml和html主要区别,xml是被设计用来描述数据的重点是:什么是数据,如何存放数据html是被设计用来显示数据的重点是:显示数据以及如何更好地显示数据,xml相对edi的优势,低成本:xml不需要van高额费用,中小商业单位也分受益。定制商业规则:xml允许用户创建自己的商业规则和格式。容易解释:edi需要翻译软件映射贸易伙伴的格式,而xml通过免费下载解析器很容易解释xml文档。平台独立:不管什么平台,都能进行交易。,1.3xml的优越性,(1)更有意义的搜索。(2)开发灵活的web应用软件。(3)不同来源数据的集成。(4)多种应用得到的数据。(5)本地计算和处理。(6)数据的多样显示。(7)粒状的更新。(8)在web上发布数据。(9)升级性。(10)压缩性。,1.4xml的应用综述,数据交换,web服务,内容管理,web集成,系统配置,.,xml,xml可以从html中分离数据,通过xml,可以在html文件之外存储数据。在不使用xml时,html用于显示数据,数据必须存储在html文件之内;使用了xml,数据就可以存放在分离的xml文档中。可以集中精力去到使用html做好数据的显示和布局上,并确保数据改动时不会导致html文件也需要改动。这样可以方便维护页面。,xml用于交换数据,通过xml,我们可以在不兼容的系统之间交换数据。在现实生活中,计算机系统和数据库系统所存储的数据有nn种形式,对于开发者来说,最耗时间的就是在遍布网络的系统之间交换数据。把数据转换为xml格式存储将大大减少交换数据是的复杂性,并且还可以使得这些数据能被不同的程序读取。,xml和b2b(businesstobusiness),使用xml,可以在网络中交换金融信息。xml正在成为遍布网络的商业系统之间交换金融信息所使用的主要语言。许多与b2b有关的完全基于xml的应用程序正在开发中。,xml可以用于存储和共享数据,通过xml,纯文本文件可以用来存储和共享数据。xml提供了一种与软件和硬件无关的存储和共享数据方法。大量的数据可以存储到xml文件中或者数据库中。应用程序可以读写和存储数据,一般的程序可以显示数据。,xml可以充分利用数据,使用xml,你的数据可以被更多的用户使用。xml是与软件、硬件和应用程序无关的,所以可以使数据可以被更多的用户、更多的设备所利用,而不仅仅是基于html标准的浏览器。别的客户端和应用程序可以把你的xml文档作为数据源来处理,就像他们对待数据库一样,你的数据可以被各种各样的“阅读器”处理。,xml可以用于创建新的语言,xml是wap和wml语言的母亲。无线标记语言(wml,thewirelessmarkuplanguage),用于标识运行于手持设备上(比如:手机)的internet程序。wml采用了xml的标准。,1.5xml开发工具,altovaxmlspy2007的安装与使用,1.6小结,xml技术的起源、发展与应用xml开发工具altovaxmlspy2007的安装和使用。,第2章xml语法,目标,基本的xml语法(格式良好的xml文档)xml文档结构xml文档规则元素和属性字符和实体引用,2.1xml文档结构,2.2xml文档规则,必须有xml声明语句所有的xml文档必须有一个结束标记xml标记都是大小写敏感的所有的xml元素必须合理包含所有的xml文档必须有一个根元素属性值必须使用引号使用xml,空白将被保留在xml中注释的语法基本上和html中的一样。,符合语法的xml文档称为格式良好的xml文档。通过dtd或是xmlschema验证的xml文档称为有效的xml文档。,2.3xml声明,xml文档以xml声明作为开始,它向解析器提供了关于文档的基本信息xml声明由“”结束。例如:,实例1:,张三03/11/1961医生tom,xml声明,根元素,元素,文本,程序说明,声明区:整份文件的第一行必须是xml文件的声明。1.:表示该行命令结束。数据区:和构成的区块,紧临在声明区之后,区内只能有一个根元素。,用ie查看xml,要查看一个xml文档,可以点击一个链接,在地址栏键入url,或在文件夹中双击一个xml文件名。如果在ie中打开一个xml文档,它将用颜色显示文档编码的根和子元素。可以点击元素左边的一个加号(+)或减号(-)来展开或收缩元素的结构。如果想查看原始的xml源文件,必须从浏览器菜单中选择“viewsource”。,查看一个无效的xml文件,如果用ie打开一个错误的xml文件,ie就会报告这个错误。如果你点击note_error.xml,ie就会显示一个错误信息。,2.4xml文档内容,元素元素是xml文件的基本构造块,作为主要的标注成分,用来描述文件的内容内容在xml文件中,由元素表示的信息就称为元素的内容属性属性提供元素的补充属性注释xml中的注释同样使用来表示,xml文档根元素,每个xml文档必须有且只有一个根元素。根元素是一个完全包括文档中其他所有元素的元素。根元素的起始标记要放在所有其他元素的起始标记之前。根元素的结束标记要放在所有其他元素的结束标记之后。,xml文档元素2-1,aptech,元素title,开始标记,结束标记,内容,空元素title,空元素title,元素之间的关系:子元素/父元素、祖先/后代元素内容的类型:嵌套元素/字符数据/实体引用/cdata节/处理指令/注释,xml文档元素2-2,所有的xml文档必须有一个根元素xml文档中的第一个元素就是根元素xml元素是相互关联的xml元素之间是父元素和子元素的关系xml元素有不同的内容xml元素内容指的是从该元素的开始标签到结束标签之间的这部分xml元素可以拥有一个或更多的属性xml属性或属性值可以是强制的或可选择的,xml元素的命名规则,名字中可以包含字母、数字以及其它字母名字不能以数字或“_”(下划线)开头元素的名字不能以xml(或者xml,xml,xml.)开头元素的名字不能包含空格要避免在名字中使用“-”和“.”。在元素名中不能使用:,因为它是为一种成为“名字空间”(namespaces)的东西预留的。,xml文档属性,tom属性是用来提供有关元素的附加信息的。属性所提供的信息通常不是数据的一部分属性值用双引号()或单引号()分隔(如果属性值中有,用分隔;有,用分隔)一个元素可以有多个属性,它的基本格式为:特定的属性名称在同一个元素标记中只能出现一次属性值不能包括,&,元素与属性,使用属性带来几个问题:#属性不能包含多个值(而子元素可以)#属性不容易被扩充(为将来的修改)#属性不能描述结构(而子元素可以)#属性更难被程序代码所操作#属性值不容易进行dtd测试如果将属性作为一个数据的容器使用,那么最终的结果是,文档将难以阅读和维护。应该尽量用元素去描述数据。只在提供与数据无关的信息时才使用属性。,xml专用标记注释,注释内容中不要出现-;不要把注释放在标记中间;tom注释不能嵌套;可以在除标记以外的任何地方放注释。,内部实体,一些字符有特殊含义,”)符号用来显示双引号(“)符号,2.5命名空间,xml命名空间提供了一种避免元素名称冲突的方法。命名冲突两个不同的xml文档使用同一个名字来描述不同类型的元素的情况往往会导致命名冲突。命名空间常用于模式文件的定义中。,这个xml文档在table元素中携带了水果的信息:,苹果香蕉,这个xml文档在table元素中携带了桌子的信息,桌子80120如果上面两个xml文档片断碰巧在一起使用的话,那么将会出现命名冲突的情况。因为这两个片断都包含了元素,而这两个table元素的定义与所包含的内容又各不相同。,解决方法,使用前缀解决名称冲突问题苹果香蕉桌子80120,什么是命名空间,w3c名称规范声明命名空间本身就是一个统一资源标示符,uniformresourceidentifier(uri)。命名空间是阻止具有相同名字元素间的冲突的一种方法。在xml中,命名空间是被统一资源标识符uri分配或识别的一个虚拟空间。uri是从不同模式中唯一标识元素和属性的一个字符串。命名空间uri和weburi不同,它不是实际指向因特网上的一个资源,它只是用来解决具有相同名字元素间的冲突的一个唯一标识符。,确保uri的唯一性,我们可以分配任何名称或字符串作为一个uri。为了确保其一致性,应注意:1.使用一个被开发者控制的uri2.一般的,每个xml模式必须包括名称空间uri/2001/xmlschema,使用它来确保按照w3c规定的标准来使用基本xsd文档特征。,声明命名空间,命名空间的声明一般放置在元素的开始标记处,其使用语法如下所示:xmlns:prefix=“uri”(prefix为定义的命名空间的前缀,是可选的。有两种命名空间的声明:缺省的和明确的。),缺省声明,缺省命名空间,不需要指定前缀。使用缺省声明命名空间的所有元素和属性不需要任何前缀。如:.,明确声明,xmlns关键字与一个命名空间uri的一个前缀相关联.,2.6本章小结,在本章中,我们介绍了所有xml文档中必需的基本语法,包括:xml文档的结构及文档规则,xml声明语句的写法,元素及属性的定义,字符和实体的引用,xml中的命名空间的定义及使用,等等。其中最为重要的是xml的文档规则,因为只有符合xml文档规则的xml文档才是well-formed,即格式良好的xml文档,在书写xml文档时一定要特别注意这一点。,第3章xml文档类型定义-dtd,目标,理解文档类型定义dtd声明元素声明属性声明实体声明,xml确认-确保xml文档中数据的一致性,符合语法的xml文档称为结构良好的xml文档。通过dtd验证的xml文档称为有效的xml文档。,3.1dtd概述,文档类型定义-documenttypedefinitiondtd用来描述xml文档的结构,dtd定义了xml文档中可用的合法元素。用dtd指定:可以在文档中存在的元素、元素可以具有的属性、在元素内部元素的层次结构以及元素在整个文档中出现的顺序。,3.2dtd声明,dtd可以是一个完全独立的文件,也可以在xml文件中直接设定。dtd分为外部dtd(在xml文件中调用另外已经编辑好的dtd)和内部dtd(在xml文件中直接设定dtd)两种。,3.2.1内部dtd,内部dtd是在xml文件的文件序言区域中定义的。内部dtd的xml文档的结构为:文档数据区.,3.2.1内部dtd(续),王维鹿柴空山不见人,但闻人语声.返景入深林,复照青苔上.,注意:例中的定义关键字一定要大写,如doctype、element、#pcdata,且元素名称与数据类型之间也要有空格。,内部dtd示例,3.2.2外部dtd,外部dtd是一个独立于xml文件的文件,实际上也是一个文本文件,只是使用.dtd为文件扩展名。外部dtd的好处是:它可以方便高效地被多个xml文档所共享。外部dtd的创建方式、语法和内部dtd是一样的。,3.2.2外部dtd(续2-1),使用外部dtd的xml文档的结构为:文档数据区.,3.2.2外部dtd(续2-2),王维鹿柴空山不见人,但闻人语声.返景入深林,复照青苔上.,外部dtd使用示例,3.3dtd语法,一个dtd文档包含元素(element)的定义规则元素之间的关系规则属性(attlist)的定义规则可使用的实体(entity)或符号(notation)规则,3.3.1元素声明确定元素及其类型,元素有三种不同的类型数据型(即字符内容)hello元素型(即包含的内容是元素)quithelloeverybody!混合型(包含的内容既有元素又有内容)helloeverybodyquit,3.3.1元素声明元素的定义(1/5),语法,关键字,元素名称,empty该元素不能包含子元素和文本,但可以有属性(空元素)any该元素可以包含任何在dtd中定义的元素内容#pcdata可以包含任何字符数据,但是不能在其中包含任何子元素pcdata代表字符数据,为防止与关键字混淆,加#前缀纯元素类型只包含子元素,并且这些子元素外没有文本混合类型包含子元素和文本数据的混合体,元素类型,3.3.1元素声明元素的定义(2/5),empty示例-空元素xml示例:皮诺曹皮诺曹爸爸,3.3.1元素声明元素的定义(3/5),any示例xml示例:皮诺曹皮诺曹爸爸将根元素设为any类型后,元素出现的次数和顺序不受限制。,3.3.1元素声明元素的定义(4/5),#pcdata示例皮诺曹皮诺曹爸爸,xml示例:,3.3.1元素声明元素的定义(5/5),组合类型示例xml示例:,注意1:,在元素设置中,如果元素包含多个子元素,如:!element书籍(名称,作者,价格)这种含多个子元素的声明,那么“名称”、“作者”、“价格”这些标记在xml文件中必须以上面排列的顺序出现,每个标记必须而且只能够出现一次。,注意2:,如果在设定元素时,按照!element书籍any,这样在元素下就可以包含任意被设定过的元素,出现的次数和顺序也不受限制,并且在该元素下,除了可以包含子元素以外,还能够包含一般的文字。,注意3:,在xml文件中,一个标记可能多次出现(或者不出现),除了在它们的父元素中用any关键字之外,还可以在元素的旁边加上特定的符号来控制标记出现的次数。,修饰符号-无符号:只能出现一次,3.3.2属性声明,在dtd中定义属性时,我们使用下面的格式来给一个元素定义一组合适的属性,同时指定这些属性的类型和缺省值:其中:元素名是属性所属的元素的名字。属性名是属性的命名。值类型是给属性分配的值。缺省值是属性的初值。,属性的定义,语法,cdataididref/idrefsnmtoken/nmtokensenumerated,#required#implied#fixedvaluedefaultvalue,属性类型cdata,属性值可以是任何字符(包括数字和中文),xml示例:,属性类型nmtoken/nmtokens,nmtoken是cdata的一个子集,表示属性值必须是英文字母、数字、句号、破折号、下划线或冒号(不能是中文!)。nmtokens与nmtoken

温馨提示

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

评论

0/150

提交评论