信息组织第5章XML语言.ppt_第1页
信息组织第5章XML语言.ppt_第2页
信息组织第5章XML语言.ppt_第3页
信息组织第5章XML语言.ppt_第4页
信息组织第5章XML语言.ppt_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

1,第5章,XML,2,置标语言,“markup language” 给文本添加标记的语言 标准通用置标语言 SGML 超文本置标语言 HTML 可扩展的置标语言 XML,3,SGML,Standardized Generalized Markup Language SO/ANSI/ECMA的一个标准,一种用来注释文本文档,提供文档片断的类型信息的规范。标准通用置标语言是一种通用的文档结构描述置标语言,为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此在数据分类和索引中非常有用。但SGML复杂度太高,不适合网络的日常应用,加上开发成本高、不被主流浏览器所支持等原因,使得SGML在Web上的推广受到阻碍。HTML和XML都是SGML的子集。,4,HTML,HTML(超文本置标语言,HyperText Markup Language)是为网页创建和其它可在网页浏览器中看到的信息设计的一种置标语言。HTML被用来结构化信息例如标题、段落和列表等等,也可用来在一定程度上描述文档的外观和语义。由蒂姆伯纳斯李给出原始定义,由IETF用简化的SGML(标准通用置标语言)语法进行进一步发展的HTML后来成为国际标准,由万维网联盟(W3C)维护。,5,HTML,HTML是Hypertext Marked Language的英文缩写,即超文本标记语言,是一种用来制作超文本文档的简单标记语言(就是网页制作的最基本的语言标记语言). HTML语言是一种标记语言,它不需要编辑,可以直接由浏览器执行. 在标准网页设计中HTML负责填充网页的内容.,6,HTML,HTML文件也可以说是一个文本文件,它包含了一些HTML元素,标签等.HTML文件必须使用html或htm为文件名后缀. HTML编写的超文本文档(文件)称为HTML文档(网页),它能独立于各种操作系统平台,如UNIX,WINDOWS等,并且可以通知浏览器显示什么.自1990年以来HTML就一直被用作互联网的信息表示语言,用于描述网页的格式设计和它与互联网上其它网页的连结信息.,7,HTML,HTML语言描述的文件(网页),需要通过浏览器显示出效果,如HTML文件也可以说是一个文本文件,它包含了一些HTML元素,标签等.HTML文件必须使用html或htm为文件名后缀. HTML编写的超文本文档(文件)称为HTML文档(网页),它能独立于各种操作系统平台,如UNIX,WINDOWS等,并且可以通知浏览器显示什么.自1990年以来HTML就一直被用作互联网的信息表示语言,用于描述网页的格式设计和它与互联网上其它网页的连结信息.,8,HTML,HTML语言描述的文件(网页),需要通过浏览器显示出效果,如FireFox, IE. HTML是大小写不敏感的,HTML与html是一样的.,9,HTML,包含HTML内容的文件最常用的扩展名是.html,但是像DOS这样的旧操作系统限制扩展名为最多3个字符,所以.htm扩展名也被使用。虽然现在使用的比较少一些了,但是.htm扩展名仍旧普遍被支持。编者可以用任何文本编辑器或所见即所得的HTML编辑器来编辑HTML文件。,10,HTML,早期的HTML语法被定义成较松散的规则以有助于不熟悉网络出版的人采用。网页浏览器接受了这个现实,并且可以显示语法不严格的网页。随着时间的流逝,官方标准渐渐趋于严格的语法,但是浏览器继续显示一些远称不上合乎标注准的HTML。使用XML的严格规则的XHTML(可扩展超文本置标语言)是W3C计划中的HTML的接替者。虽然很多人认为它已经成为当前的HTML标准,但是它实际上是一个独立的、和HTML平行发展的标准。W3C目前的建议是使用XHTML 1.1、 XHTML 1.0或者HTML 4.01进行网络出版。,11,HTML,标准的版本历史 超文本置标语言(第一版)在1993年6月发为互联网工程工作小组 (IETF)工作草案发布(并非标准). HTML 2.01995年11月作为RFC 1866发布,在RFC 2854于2000年6月发布之后被宣布已经过时 HTML 3.21996年1月14日,W3C推荐标准 HTML 4.01997年12月18日,W3C推荐标准,12,HTML,HTML 4.01(微小改进)1999年12月24日,W3C推荐标准 ISO/IEC 15445:2000(“ISO HTML”)2000年5月15日发布,基于严格的HTML 4.01语法,是国际标准化组织和国际电工委员会的标准 XHTML 1.0发布于2000年1月26日,是W3C推荐标准,后来经过修订于2002年8月1日重新发布。 XHTML 1.1, 于2001年5月31日发布 (XHTML 2.0, W3C工作草案),13,HTML,HTML没有1.0版本是因为当时有很多不同的版本。有些人认为蒂姆伯纳斯李的版本应该算初版,这个版本没有IMG元素。当时被称为HTML+的后续版的开发工作于1993年开始,最初是被设计成为“HTML的一个超集”。第一个正式规范在为了和当时的各种HTML标准区分开来,使用了2.0作为其版本号。HTML+的发展继续下去,但是它从未成为标准。,14,HTML,HTML3.0规范是由当时刚成立的W3C于1995年3月提出,提供了很多新的特性,例如表格、文字绕排和复杂数学元素的显示。虽然它是被设计用来兼容2.0版本的,但是实现这个标准的工作在当时过于复杂,在草案于1995年9月过期时,标准开发也因为缺乏浏览器支持而中止了。3.1版从未被正式提出,而下一个被提出的版本是开发代号为Wilbur的HTML 3.2,去掉了大部分3.0中的新特性,但是加入了很多特定浏览器,例如Netscape和Mosaic的元素和属性。HTML对数学公式的支持最后成为另外一个标准MathML。,15,HTML,HTML 4.0同样也加入了很多特定浏览器的元素和属性,但是同时也开始“清理”这个标准,把一些元素和属性标记为过时的,建议不再使用它们。HTML的未来和CSS结合会更好。,16,HTML,标记元素类型 html元素 标记HTML内容的开始和结束。 head元素 标记HTML文件头,包含不在正文中显示的关键字、标题、脚本等等。 title元素 标记HTML文件的标题。 body元素 标记HTML文件正文的开始和结束。,17,HTML,呈现性标记。描述文字的外观,例如 boldface 将“boldface“显示为粗体文字。但是为了统一网站的风格,很多网络出版者使用CSS而不是重复使用呈现性标记。对于bold和italic,也有通常更加明确的等价呈现性标记,例如strong emphasis和emphasis。 超文本标记。将文档的一部分关联到其他文档。例如 Wikipedia 将会把Wikipedia显示为一个超链接URL。,18,除了HTML内容之外,经常也有人在代码中加入注释: 注释不被浏览器解释,仅仅起到说明代码含义或者隐藏部分代码的作用。,19,XML产生的背景,XML同HTML一样,都来自Standard Generalized Markup Language, 即标准通用标记语言,简称SGML。早在Web未发明之前,SGML就早已存在。正如它的名称所言,SGML是一种用标记来描述文档资料的通用语言,它包含了一系列的文档类型定义(简称DTD),DTD 中定义了标记的含义,因而 SGML 的语法是可以扩展的。SGML十分庞大,既不容易学,又不容易使用,在计算机上实现也十分困难。鉴于这些因素,Web的发明者-欧洲核子物理研究中心的研究人员根据当时(1989年)计算机技术的能力,提出了HTML语言。,20,HTML只使用SGML中很小一部分标记,例如HTML 3.2定义了70种标记。为了便于在计算机上实现,HTML规定的标记是固定的,即HTML语法是不可扩展的,它不需包含DTD。HTML这种固定的语法使它易学易用,在计算机上开发 HTML的浏览器也十分容易。正是由于HTML的简单性,使 Web 技术从计算机界走向全社会,走向千家万户,Web的发展如日中天。,21,XML产生的背景,近年来,随着 Web的应用越来越广泛和深入,人们渐渐觉得HTML不够用了,HTML过于简单的语法严重地阻碍了用它来表现复杂的形式。尽管HTML推出了一个又一个新版本,已经有了脚本、表格、帧等表达功能,但始终满足不了不断增长的需求。另一方面,这几年来计算机技术的发展也十分迅速,已经可以实现比当初发明创造HTML时复杂得多的Web浏览器,所以开发一种新的Web页面语言既是必要的,也是可能的。,22,有人建议直接使用SGML 作为Web语言,这固然能解决HTML遇到的困难。但是SGML太庞大了,用户学习和使用不方便尚且不说,要全面实现SGML的浏览器就非常困难,于是自然会想到仅使用SGML的子集,使新的语言既方便使用又实现容易。正是在这种形势下,Web标准化组织W3C建议使用一种精简的SGML版本-XML应运而生了。,23,HTML的局限性 缺乏语法检查 缺乏结构 对内容不敏感 不是面向对象的 缺乏健壮的链接机制 不可重用 不可扩展,24,XML的定义,XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的应用中。XML保留了SGML的可扩展功能,这使XML从根本上有别于HTML。XML要比HTML强大得多,它不再是固定的标记,而是允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。HTML只是Web显示数据的通用方法,而XML提供了一个直接处理 Web 数据的通用方法。HTML着重描述Web页面的显示格式,而XML着重描述的是Web页面的内容。,25,26,XML的定义,XML并不是HTML的替代产品。XML不是HTML的升级,它只是HTML的补充,为HTML扩展更多功能。我们仍将在较长的一段时间里继续使用HTML。(但值得注意的是HTML的升级版本XHTML的确正在向适应XML靠拢。),27,XML的定义,XML来源于SGML,一种比HTML更早的标志语言标准。 SGML全称是“Standard Generalized Markup Language”(通用标识语言标准)。看名称就知道:它是标志语言的标准,也就是说所有标志语言都是依照SGML制定的,当然包括HTML。SGML的覆盖面很广,凡是有一定格式的文件都属于SGML,比如报告,乐谱等等,HTML是SGML在网络上最常见的文件格式。而XML就是SGML的简化版,只不过省略了其中复杂和不常用的部分。和SGML一样,XML也可以应用在金融,科研等各个领域。,28,XML的定义,XML保留了SGML的一些特点,并克服了HTML的局限性。主要特点是: XML可用于现有的Web协议和机制。 XML支持Web的各种不同的应用,并使用了一种类属的方法使其具有可扩展性。HTML则不支持,它需要借助使用用于链接HTML和应用的脚本语言才支持Web的各种不同的应用。 XML与SGML兼容,所以大多数SGML应用可以向XML转化。 XML文档易于创建。,29,XML的定义,XML文档内容和结构清晰易懂,所以即使对非专业人员来说,也易于阅读和使用。 XML的设计严谨,所以XML中标记的信息可以很容易地被计算机程序所处理。 XML标准定义精炼,这就保证了其下载和处理的速度。,30,XML与HTML,有了HTML,为什么还需要用XML? 因为现在网络应用越来越广泛,仅仅靠HTML单一文件类型来处理千变万化的文档和数据已经力不丛心,而且HTML本身语法十分不严密,严重影响网络信息传送和共享。 人们早已经开始探讨用什么方法来满足网络上各种应用的需要。使用SGML是可以的,但SGML太庞大,编程复杂,于是最终选择了“减肥“的SGML-XML作为下一代web运用的数据传输和交互的工具。,31,XML和HTML的区别,XML和HTML都来自于SGML,它们都含有标记,有着相似的语法,HTML和XML的最大区别在于:HTML是一个定型的标记语言,它用固有的标记来描述,显示网页内容。比如标记可同时表示20磅的Helvetica字体的粗体、第一级标题和页面标题。 相对的,XML则没有固定的标记,XML不能描述网页具体的外观,内容,它只是描述内容的数据形式和结构。 这是一个质的区别:网页将数据和显示混在一起,而XML则将数据和显示分开来。正是这种区别使得XML在网络应用和信息共享上方便,高效,可扩展。,32,XML与HTML,例如,在HTML中,一首歌可能是用定义标题、定义数据、无序的列表和列表项来描述的。但是事实上这些项目没有一件是与音乐有关的。用HTML定义的歌曲可能如下: Hot Cop by Jacques Morali Henri Belolo and Victor Willis Producer: Jacques Morali Publisher: PolyGram Records Length: 6:20 Written: 978 Artist: Village People ,33,XML与HTML,而在XML中,同样的数据可能标记为: Hot Cop Jacques Morali Henri Belolo Victor Willis Jacques Morali PolyGram Records 6:20 978 Village People 在这个清单中没有使用通用的标记如和,而是使用了具有意义的标记,如、和等。这种用法具有许多优点,包括源码易于被人阅读,使人能够看出作者的含义。,34,更复杂的XML实例: 陈伯钧 陈国懋 523173918.jpg 1910年11月26日 1974年2月6日 四川省达县河市乡 北京高等军事学院院长 上将 1955年 1955年一级解放勋章 陈 伯 钧 (1910-1974) 陈伯钧,原名陈国懋,字少达。中国人民解放军高级将领。1955年被授予上将军衔,荣获一级八一勋章、一级独立自由勋章、一级解放勋章。 ,35,XML与HTML,XML标记还使自动机器人易于找出文档中的所有歌曲。在HTML中,机器人只能告诉我们这个元素是dt。机器人不能决定dt到底代表一首歌的题目还是定义,抑或只是一些设计者喜爱的缩进文本格式。事实上,单一文档中可以很好地包括带有三种意义的各种dt元素。 可以选择XML的元素名称,以便使其在附加的上下文中具有额外的意义。例如,元素名称可以是数据库的域名。XML比HTML更为灵活而且适用于各种应用,因为有限数目的标记不必用于许多不同的目的。,36,XML的严格格式,吸取HTML松散格式带来的经验教训,XML一开始就坚持实行“良好的格式“。 我们先看HTML的一些语句,这些语句在HTML中随处可见: 1. sample 2.sample 3.sample 4.sample 在XML文档中,上述几种语句的语法都是错误的。因为: 1.所有的标记都必须要有一个相应的结束标记; 2.所有的XML标记都必须合理嵌套; 3.所有XML标记都区分大小写; 4.所有标记的属性必须用“括起来;,37,XML的严格格式,1. sample 2.sample 3.sample 4.sample 另外,XML标记必须遵循下面的命名规则: 1.名字中可以包含字母、数字以及其它字母; 2.名字不能以数字或“_“ (下划线) 开头; 3.名字不能以字母 xml (或 XML 或 XML ) 开头; 4.名字中不能包含空格。,38,XML的严格格式, XML Quick Start ajie 20010115 ,39,XML的严格格式,1.这段代码仅仅是代码,让你初步感性认识一下XML,并不能实现什么具体应用; 2.其中类似,的语句就是自己创建的标记(tags),它们和HTML标记不一样,例如这里的是文章标题的意思,HTML里的是页面标题。,40,XML的特点,XML从诞生之日起,就显示了其强大的生命力。它吸收了HTML简易性的优点,克服了其局限性,开拓了新领域。它具备许多特点 。,41,XML的特点,使用XML有什么好处? XML使得在网络上使用SGML语言更加“简单和直接“: 简化了定义文件类型的过程,简化了编程和处理SGML文件的过程,简化了在Web上的传送和共享。 1.XML可以广泛的运用于web的任何地方; 2.XML可以满足网络应用的需求; 3.使用XML将使编程更加简单; 4.XML便于学习和创建; 5.XML代码将清晰和便于阅读理解;,42,XML的特点, XML Quick Start ajie 20010115 第一行是一个XML声明,表示文档遵循的是XML的1.0 版的规范。 第二行定义了文档里面的第一个元素(element),也称为根元素: 。这个就类似HTML里的开头标记。注意,这个名称是自己随便定义的。 再下面定义了四个子元素:title,author,email,和date。分别说明文章的标题,作者,邮箱和日期。,43,XML的特点, XML轻松学习手册 ajie 20010115 ,44,XML的特点,XML(Extensible Markup Language),一种扩展性标识语言。 扩展性-使用XML,你可以为你的文档建立自己的标记(tags)。 XML的第一个词是“扩展性”,这正是XML强大的功能和弹性的原因。 在HTML里,有许多固定的标记,我们必须记住然后使用它们,你不能使用HTML规范里没有的标记。而在XML中,你能建立任何你需要的标记。你可以充分发挥你的想象力,给你的文档起一些好记的标记名称。比如,你的文档里包含一些游戏的攻略,你可以建立一个名为的标记,然后在下再根据游戏类别建立,等标记。只要清晰,易于理解你可以建立任何数量的标记。,45,XML的特点,扩展性使用户有更多的选择和强大的能力,但同时也产生一个问题就是用户必须学会规划。用户自己要理解自己的文档,知道它由哪几部分组成,相互之间的关系和如何识别它们。 关于建立标识还需要说明一点,标识是描述数据的类型或特性,比如,年龄,姓名等,而不是数据的内容,比如:,,这些都是无用的标记。,46,XML的特点,标识-使用XML你可以识别文档中的元素。 XML的第二个词是“标识“,这表明了XML的目的是标识文档中的元素。 不论是HTML,还是XML,标识的本质在于便于理解,如果没有标识,文档在计算机看来只是一个很长的字符串,每个字看起来都一样,没有重点之分。 通过标识,文档才便于阅读和理解,可以划分段落,列明标题。XML中,更可以利用其扩展性 来为文档建立更合适的标识。 不过,有一点要提醒大家注意:标识仅仅是用来识别信息,它本身并不传达信息。,47,XML的特点,例如这样的HTML代码: first step 这里表示粗体,只用来说明是用粗体来显示“first step“字符,本身并不包含任何实际的信息,在页面上你看不到,真正传达信息的是“first step “。,48,XML的特点,语言-使用XML要遵循特定的语法来标识文档。 XML第三个词是“语言”。这表明了作为一种语言XML必须遵循一定的规则。虽然XML的扩展性允许用户创建新标识,但它仍然必须遵循特定的结构,语法和明确的定义。 在计算机领域,语言常常表示“XX程序语言”,用来编程实现一些功能和应用,但不是所有的“语言”都是用来编程的,XML就只是一种用来定义标识和描述信息的语言。,49,XML的特点,结构化-XML促使文档结构化,所有的信息按某种关系排列。 结构化就是为你的文档建立一个框架,就象写文章先写一个提纲。结构化使文档看起来不会杂乱无章,每一部分都紧密联系,形成一个整体。 结构化有两个原则: 1.每一部分(每一个元素)都和其他元素有关联。关联的级数就形成了结构。 2.标识本身的含义与它描述的信息相分离。,50,XML的特点, XML轻松学习手册 XML快速入门 什么是XML 使用XML的好处 XML的概念 扩展性 标识 ,51,XML的特点,标识分三级关联,非常清晰: . 上面这样的文档结构,我们又称之为“文档树“,主干是父元素,如,分支和页是子元素,如和,52,XML的特点,显示 单独用XML不能显示页面,我们使用格式化技术,比如CSS或者XSL,才能显示XML标记创建的文档。 XML是将数据和格式分离的。XML文档本身不知道如何来显示,必须有辅助文件来帮助实现。(XML取消了所有标识,包括font,color,p等风格样式定义标识,因此XML全部是采用类似DHTML中CSS的方法来定义文档风格样式。),XML中用来设定显示风格样式的文件类型有: XSL 、CSS 、Behaviors 。,53,XML的相关技术,CSS XSL,54,XML的相关技术,1.XSL XSL全称是Extensible Stylesheet Language(可扩展样式语言), 是将来设计XML文档显示样式的主要文件类型。它本身也是基于XML语言的。使用XSL,你可以灵活的设置文档显示样式,文档将自动适应任何浏览器和PDA(掌上电脑)。 XSL也可以将XML转化为HTML,那样,老的浏览器也可以浏览XML文档了。 2.CSS CSS大家很熟悉了,全称是Cascading Style Sheets(层叠样式表),是目前用来在浏览器上显示XML文档的主要方法。 3.Behaviors Behaviors现在还没有成为标准。它是微软的IE浏览器特有的功能,用它可以对XML标识设定一些有趣动作。,55,XML文档结构, QUICK START OF XML ajie 其中第一行就是一个XML文档的声明,第二行说明这个文档是用filelist.dtd来定义文档类型的,第三行以下就是内容主体部分。,56,XML文档结构,1.Element(元素): 元素在HTML我们已经有所了解,它是组成HTML文档的最小单位,在XML中也一样。一个元素由一个标识来定义,包括开始和结束标识以及其中的内容,就象这样:ajie 唯一不同的就是:在HTML中,标识是固定的,而在XML中,标识需要你自己创建。,57,元素嵌套元素必须完全包含在另一个元素中。 25th December 2010 me You Happy Christmas Best wishes for Christmas Ho Ho Ho Brought to you by Santa ,58,XML文档结构,2.Tag(标识) 标识是用来定义元素的。在XML中,标识必须成对出现,将数据包围在中间。标识的名称和元素的名称是一样的。例如这样一个元素: ajie 其中就是标识。,59,XML文档结构,3.Attribute(属性): 什么是属性?看这段HTML代码:word。其中color就是font的属性之一。 属性是对标识进一步的描述和说明,一个标识可以有多个属性,例如font的属性还有size。XML中的属性与HTML中的属性是一样的,每个属性都有它自己的名字和数值,属性是标识的一部分。举例: ajie XML中属性也是自己定义的。,60,XML文档结构,4.Declaration(声明) 在所有XML文档的第一行都有一个XML声明。这个声明表示这个文档是一个XML文档,它遵循的是哪个XML版本的规范。一个XML的声明语句就象这样: ,61,XML文档结构,DTD(文件类型定义) DTD是用来定义XML文档中元素,属性以及元素之间关系的。 通过DTD文件可以检测XML文档的结构是否正确。但建立XML文档并不一定需要DTD文件。,62,XML文档结构,DTD可以看作一个和多个文件的模板。它包含XML文档中的元素、元素的属性、元素的排列方式/顺序,元素能包含的内容等,都必须符合DTD的定义。 DTD有内部DTD和外部DTD之分。一个内部DTD位于XML声明之后和任何文档元素之前。 1.包含文档声明结构 2.包含外部DTD描述结构,63,XML文档结构,DTD是一种保证XML文档格式正确的有效方法,可以比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。 DTD文件也是一个ASCII的文本文件,后缀名为.dtd。例如:myfile.dtd。 为什么要用DTD文件呢?它满足了网络共享和数据交互,比如,两个相同行业不同地区的人使用同一个DTD文件来作为文档创建规范,那么他们的数据就很容易交换和共享。网上有其他人想补充数据,也只需要根据公用的DTD规范来建立文档,就立刻可以加入。,64,XML文档结构,目前,已经有数量众多的写好的DTD文件可以利用。针对不同的行业和应用,这些DTD文件已经建立了通用的元素和标签规则。你不需要自己重新创建,只要在他们的基础上加入你需要的新标识。当然,如果愿意,你可以创建自己的DTD,它可能和你的文档配合的更加完美。建立自己的DTD也是很简单的一件事,一般只需要定义4-5个元素就可以了。,65,XML文档结构,调用DTD文件的方法有两种: 1.直接包含在XML文档内的DTD 在DOCTYPE声明中插入一些特别的说明就可以了 XML轻松学习手册 ajie ,66,XML文档结构,在第一行后面插入下面代码就可以: ,67,XML文档结构,2.调用独立的DTD文件 将DTD文档存为.dtd的文件,然后在DOCTYPE声明行中调用,例如,将下面的代码存为myfile.dtd 然后在XML文档中调用,在第一行后插入: ,68,了解如何根据原始信息进行建模和构造XML文档 例如,一个通讯录信息用XML文档的形式来保存。原始信息如下: Fred Blogs Male 22 Chancery Lane London SW17 4QP England 44 1 800 3451 fbloggshk.co.uk John F. Spencer Male El Camino Real 44621 Sunnyvale 95144 California USA 1 650 445 1273 ,69,要将上述信息保存为XML文档的形式,一般经过以下几步。 第一步是对相关的信息项进行命名,将其映射为相应的元素或属性。 如对上述信息进行分析后可得如下元素名:NameAddressStreetCityStateCountryZipcodePhoneEmail。还有属性名:Sex,70,第二步是确定文档的层次结构,即各元素之间的嵌套关系。 Directory Person(SEX) Name Address Street City State Country Zipcode Phone Email,71,接下来根据此层次关系结构构造DTD为: ,72,XML文档, Fred Bloggs London 22 Chancery Lane London England SW17 4QP 44 1 800 3451 fbloggshk.co.uk ,73, John F. Spencer Sunnyvale El Camino Real 44621 California USA 95144 1 650 445 1273 ,74,XML文档结构,元素类型声明 属性表声明 XML数据建模方法 XML Schema XSL,75,XML语法规则,XML的文档和HTML的原代码类似,也是用标识来标识内容。创建XML文档必须遵守下列重要规则: 规则1:必须有XML声明语句 声明是XML文档的第一句,其格式如下: 声明的作用是告诉浏览器或者其它处理程序:这个文档是XML文档。声明语句中的version表示文档遵守的XML规范的版本;standalone表示文档是否附带DTD文件,如果有,参数为no;encoding表示文档所用的语言编码,默认是UTF-8。,76,XML语法规则,规则2:是否有DTD文件 如果文档是一个“有效的XML文档“,那么文档一定要有相应DTD文件,并且严格遵守DTD文件制定的规范。DTD文件的声明语句紧跟在XML声明语句后面,格式如下: “!DOCTYPE“是指你要定义一个DOCTYPE; “type-of-doc“是文档类型的名称,由你自己定义,通常于DTD文件名相同; “SYSTEM/PUBLIC“这两个参数只用其一。SYSTEM是指文档使用的私有DTD文件的网址,而PUBLIC则指文档调用一个公用的DTD文件的网址。 “dtd-name“ 就是DTD文件的网址和名称。所有DTD文件的后缀名为“.dtd“。 ,77,XML语法规则,规则3:注意大小写 在XML文档中,大小写是有区别的。和是不同的标识。注意在写元素时,前后标识大小写要保持一样。例如:ajie,写成ajie是错误的。 最好养成一种习惯,或者全部大写,或者全部小写,或者大写第一个字母。这样可以减少因为大小写不匹配产生的文档错误。,78,XML语法规则,规则4:给属性值加引号 在HTML代码里面,属性值可以加引号,也可以不加。例如:word和word都可以被浏览器正确解释。 但是在XML中则规定,所有属性值必须加引号(可以是单引号,也可以是双引号),否则将被视为错误。 规则5:所有的标识必须有相应的结束标识 在HTML中,标识可能不是成对出现的。而在XML中规定,所有标识必须成对出现,有一个开始标识,就必须有一个结束标识。否则将被视为错误。,79,XML语法规则,规则6:所有的空标识也必须被关闭 空标识就是标识对之间没有内容的标识。比如,等标识。在XML中,规定所有的标识必须有结束标识,针对这样的空标识,XML中处理的方法是在原标识最后加/,就可以了。例如: 应写为; 应写为; 应写为,80,X LINK与X POINTER .X Link ( XML Linking Language )是XML的规范之一,它的链接功能远远超过HTML。X Link有标准链接和扩展链接两种功能。标准链接只有一个Locator, 即只能指令一个Resource作为链接对象,它与HTML的链接锚( anchor ) 很相似。 2.XPointor ( XML Pointor Language )为XML指针语言。利用它,可以指定XML文档中的任何一部分。它提高了定位的精度,是寻址的常用方法。通过XPoint计数功能,可以方便地指定各个元素和元素中的一部分文字,即特定的元素、特定的文字列。,81,XML的应用,XML驱动的Web不仅更快、更友好、更适合进行数据传递与资源共享,而且能定义复杂的数据结构、构建多层次独立的DTD系统、数据树、超链接结构、元数据和样式表。因此。XML为第二代Web构建奠定了健壮的基础结构。,82,XML的应用,XML在不同领域有着广泛的应用,比如在科技领域的MathML,无线通信应用的WML,在网络图象方面的SVG等等,我们这里侧重讨论XML在web上的应用。XML在web上应用主要是利用其强大的数据操作能力。一般用XML配合Javascript和asp等服务器端程序,可以实现网络上几乎所有的应用需求。,83,XML的应用,在网络上显示公式对在线教育非常重要。今天的浏览器还不能支持直接的公式表示和显示。人们普遍采用一些图形方法在网页中显示公式。但是这种方法往往不能产生理想的公式排版效果,也就影响了在线教育内容的整体质量。那么公式显示的难点在哪里?根本问题在于今天的HTML并没有定义公式这种特殊排版格式。从HTML的标准来看,如果考虑公式的定义(必然还要考虑显示其他特殊的功能),那么整个标准的内容将变得繁复不堪。在HTML定义中已经存在了天然的局限性,这个问题注定要留给XML技术来解决。 MathML就是这样的一种XML语言,它的定义就是为了解决在网络技术文档中如何表示公式标记。现在XML已经成为了W3C (/Math/)的一个标准。MathML在基于网络的教育、出版和信息交换中正在发挥越来越重要的作用。MathML完全采用XML的定义规范,可以表示几乎所有类型的公式。 例如,下面一段MathML:,84,XML的应用,85,XML的应用,就是以下一个简单公式的内部描述: MathML还可以用于表示集合、矩阵等非常复杂的数学表达式,86,XML的应用,(1)应用于客户需要与不同的数据源进行交互时。数据可能来自不同的数据库,他们都有各自不同的复杂格式。但客户与这些数据库间只通过一种标准语言进行交互,那就是XML。由于XML的自定义性及可扩展性,它足以表达各种类型的数据。客户收到数据后可以进行处理,也可以在不同数据库间进行传递。总之,在这类应用中,XML解决了数据的统一接口问题。但是,与其他的数据传递标准不同的是,XML并没有定义数据文件中数据出现的具体规范,而是在数据中附加tag来表达数据的逻辑结构和含义。这使XML成为一种程序能自动理解的规范。,87,XML的应用,(2)应用于将大量运算负荷分布在客户端,即客户可根据自己的需求选择和制作不同的应用程序以处理数据,而服务器只须发出同一个XML文件。如按传统的“客户/服务器“工作方式,客户向服务器发出不同的请求,服务器分别予以响应,这不仅加重服务器本身的负荷,而且网络管理者还须事先调查各种不同的用户需求以做出相应不同的程序,但假如用户的需求繁杂而多变,则仍然将所有业务逻辑集中在服务器端是不合适的,因为服务器端的编程人员可能来不及满足众多的应用需求,也来不及跟上需求的变化,双方都很被动。应用XML则将处理数据的主动权交给了客户,服务器所作的只是尽可能完善、准确地将数据封装进XML文件中,正是各取所需、各司其职。XML的自解释性使客户端在收到数据的同时也理解数据的逻辑结构与含义,从而使广泛、通用的分布式计算成为可能。,88,XML的应用,(3)应用于将同一数据以不同的面貌展现给不同的用户。它类似于同一个剧本,我们却可以用电视剧、电影、话剧、动画片等不同形式表现出来。这一应用将会为网络用户界面个性化、风格化的发展铺平道路。 (4)应用于网络代理对所取得的信息进行编辑、增减以适应个人用户的需要。有些客户取得数据并不是为了直接使用而是为了根据需要组织自己的数据库。比方说,教育部建立一个庞大的题库,考试时将题库中的题目取出若干组成试卷,再将试卷封装进XML文件,接下来便是最精彩部份,在各个学校让其通过一个过滤器,滤掉所有的答案,再发送到各个考生面前,未经过滤的内容则可直接送到老师手中,当然考试过后还可以再传送一份答案汇编。此外,XML文件中还可以包含进诸如难度系数、往年错误率等其他相关信息,这样只需几个小程序,同一个XML文件便可变成多个文件传送到不同的用户手中。,89,XML优势,(1)更有意义的搜索 数据可被XML唯一的标识。没有XML,搜索软件必须了解每个数据库是如何构建的。这实际上是不可能的,因为每个数据库描述数据都是不同的。有了XML,书就可以很容易以标准的方式按照作者、标题、ISBN序号或其他的标准分类。搜索书就变得十分方便。 (2)开发灵活的Web应用软件 数据一旦建立,XML能被发送到其他应用软件、对象或者中间层服务器做进一步地处理。或者它可以发送到桌面用浏览器浏览。XML和HTML、脚本、公共对象模式一起为灵活的三层Web应用软件的开发提供了所需的技术。,90,XML优势,(4)不同来源数据的集成 现在搜索多样的不兼容的数据库实际上是不可能的。XML能够使不同来源的结构化的数据很容易的结合在一起。软件代理商可以在中间层的服务器上对从后端数据库和其他应用处来的数据进行集成。然后,数据就能被发送到客户或其他服务器做进一步的集合、处理和分发。 (5)多种应用得到的数据 XML的扩展性和灵活性允许它描述不同种类应用软件中的数据,从描述搜集的Web页到数据记录。同时,由于基于XML的数据是自我描述的,数据不需要有内部描述就能被交换和处理。,91,XML优势,(6)本地计算和处理 XML格式的数据发送给客户后,客户可以用应用软件解析数据并对数据进行编辑和处理。使用者可以用不同的方法处理数据,而不仅仅是显示它。XML文档对象模式(DOM)允许用脚本或其他编程语言处理数据。数据计算不需要回到服务器就能进行。分离使用者观看数据的界面,使用简单灵活开放的格式,可以给Web创建功能强大的应用软件,这些软件原来只能建立在高端数据库上。 (7)数据的多样显示 数据发到桌面后,能够用多种方式显示。通过以简单开放扩展的方式描述结果化的数据,XML补充了HTML,被广泛的用来描述使用者界面。HTML描述数据的外观,而XML描述数据本身。由于数据显示与内容分开,XML定义的数据允许指定不同的显示方式,使数据更合理地表现出来

温馨提示

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

评论

0/150

提交评论