xml文档的显示.ppt
《xml文档的显示.ppt》由会员分享,可在线阅读,更多相关《xml文档的显示.ppt(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章 XML文档的显示XML实用教程第2页21:45:33要点及主要内容样式单的概念使用CSS创建样式单的方法和特点使用XSL创建样式单的方法和特点CSS和XSL各自的优势第3页21:45:33章节安排:章节安排:4.1样式单基础4.2 CSS样式单 4.3 XSL样式单4.4 两种样式单比较4.5 小结4.6 习题第4页21:45:334.1 样式单基础制定XML标准的目的是让数据结构化,并赋予其明确的语义,使之易于数据的交换,因此,XML不再像HTML那样,将内容标记和外观描述标记混合在一起,而是设计成一种纯粹基于内容的解析式语言,将内容与表现形式相分离,即XML文档中只包含数据信息,并
2、不提供数据的显示功能。但如果不加修饰,XML文档的数据又难免枯燥,本章介绍的样式单就是用来解决XML文档的显示问题,由样式单告诉浏览器该如何显示XML文档中所标记的文本内容。样式单(Style Sheet)是一种专门描述结构文档表现方式的文档,它既可以描述这些文档如何在屏幕上显示,也可以描述它们的打印效果,甚至声音效果。样式单一般不包含在XML文档内部,而以独立的文档方式存在。第5页21:45:33与与HTML描述数据显示方式的传统方法相比,样式单有以下优点:描述数据显示方式的传统方法相比,样式单有以下优点:1)文档体积小。在实际应用中,常常给相同名称标记下的内容定义相同的表现方式,传统的方法
3、需要在每个标记中予以描述,造成大量的重复定义。而在样式单中,对于同一个标记只需进行一次描述,从而大大缩小了需要传输的文件的体积,可提高传输速度,并节约带宽。2)表达效果丰富。样式单可以支持文字和图像的精确定位、三维层技术以及交互操作等,对于文档的表现力远远超过HTML中的标记。更重要的是,样式单的标准规范独立于它所描述的文档,当需要实现更丰富的表达效果时,仅需修改样式单规范即可,不会牵涉到原始的XML文档内容。3)可读性好。样式单对各种标记的显示进行集中定义,且定义方式直观易读。这使得它易学易用,可读性、可维护性都比较好。同时,由于采用内容与表现形式相分离的方式,XML文档也相对简洁、清晰,重
4、点突出对内容本身的描述,而不必考虑文档的显示功能。这样,XML文档就不会重蹈HTML文档结构混杂、内容繁乱的覆辙,XML的编写者也可以集中精力于数据本身,而不受显示方式等细节的影响。4)便于信息检索。样式单可以实现非常复杂的显示效果,由于样式描述与数据描述相分离,显示细节的描述并不会影响到文档中数据的内在结构。因此,网络搜索引擎对文档进行搜索时,不会被各式各样的显示描述标记所干扰。5)实现同一文档的多种显示。样式单的另一大好处在于,定义不同的样式单可以使相同的数据呈现出不同的显示外观,从而适合于不同应用,甚至能够在不同的显示设备上显示。这样,XML数据就可以得到最大程度的重用,满足不同的应用需
5、求。基于以上优点,W3C推荐采用样式单来描述结构文档的显示效果。目前,W3C为XML数据显示发布了两个建议规范:CSS和XSL,下面将分别介绍如何使用这两种样式单来配合XML完成文档的显示。第6页21:45:334.2 CSS样式单样式单 4.2.1 CSS的结构及规则4.2.2关联CSS与XML文档第7页21:45:334.2.1 CSS的结构及规则CSS(Cascading Style Sheets,层叠样式单)是一种样式描述规则,目前W3C有两个推荐标准,CSS1和CSS2。CSS1于1996年12月通过,CSS2则于1998年5月通过。CSS2是在CSS1的基础上制定的,基本上涵盖了C
6、SS1,并在CSS1的基础上增加了媒体类型、特性选择符、声音样式等功能,并对CSS1原有的一些功能进行了扩充。CSS最初是针对HTML而提出的样式单语言,但它同样可以很好地应用于描述XML文档的外观表现。利用CSS,我们可以定义HTML或XML文档中元素的显示效果,包括元素的位置、颜色、背景、边空、字体、排版格式等等。第8页21:45:33例例4-1:一个含有:一个含有CSS样式单的样式单的HTML文档及它在浏览器中的显示结果文档及它在浏览器中的显示结果 H1color:red H1color:red .myclasscolor:greenmyclasscolor:green H2.mycla
7、sscolor:blue H2.myclasscolor:blue#myidcolor:blackmyidcolor:black 这是红色的一号标题。这是红色的一号标题。P class=myclassmyclass 类中的正文类中的正文是绿色的。是绿色的。H2 class=但但 myclassmyclass 类中的类中的二号标题是蓝色的。二号标题是蓝色的。P class=以以 myidmyid 为为标识的正文则是黑色的。标识的正文则是黑色的。第9页21:45:34CSS的基本思想是为结构文档中的标记定义相应的一组显示样式。定义的基本格式为:的基本思想是为结构文档中的标记定义相应的一组显示样式。
8、定义的基本格式为:选择符选择符样式属性样式属性:取值取值;样式属性样式属性:取值取值;.(1 1)选择符)选择符 选择符用于指定样式规则所应用的元素的名称,浏览器在碰到这些元素时,就使用定义好的样式来显示它们。基本的选择符包括标记选择符、类选择符、标识选择符、伪类选择符,下面分别介绍。标记(tag)选择符标记可以是HTML中的标记,也可以是XML中已定义的标记。具体的定义方式是:标记名样式属性:取值;样式属性:取值;.清单4-1为HTML中的标记定义了样式,将该标记下的文本用红色显示,因此,浏览结果中的第一行是红色的。第10页21:45:34类(class)选择符无论是HTML或XML文档,有
9、些内容是可以分类处理的,相应地,对于某一类的内容可以定义不同的样式进行显示。清单4-1定义了一个类“myclass”,并为其定义了绿色显示的样式,所以属于该类的元素,即第二行文本,显示出来是绿色的。定义样式时,class还可以与标记相关联,也就是说class的样式受到包含它的标记的制约。因此,清单4-1为属于myclass类的标记定义了蓝色显示的样式,相应地,第三行文本呈蓝色。与标记不相关的类选择符的定义方法:.类名样式属性:取值;样式属性:取值;.与标记相关的类选择符定义方法:标记名.类名样式属性:取值;样式属性:取值;.注意:在对XML文档中的class定义样式时,该class应该是在DT
10、D中预先声明了的,否则会导致错误。第11页21:45:34标识(id)选择符在HTML或XML文档中,往往需要唯一地标识一个元素,即赋予它一个id标识,以便在对整个文档进行处理时能够较快地找到这个元素。CSS也可以将id标识作为选择符进行样式设定,定义的方法与类大同小异,只要把符号“.”改成“#”就行了。方法是:与标记不相关的标识选择符的定义:#标识名样式属性:取值;样式属性:取值;.与标记相关的标识选择符定义:标记名#标识名样式属性:取值;样式属性:取值;.一般情况下,为标识定义的样式是优先于为类定义的样式的,因此清单4-1中第四行中的文本虽然属于类“myclass”,但显示效果为黑色。第1
11、2页21:45:34 伪类(pseudo-classes)选择符伪类可以看做是一种特殊的类选择符,是能被支持CSS的浏览器所自动识别的特殊选择符。它的最大的用处就是可以对链接在不同状态下定义不同的样式效果。伪类的定义方法是:选择符:伪类 样式属性:取值伪类和类不同,是CSS已经定义好的,不能象类选择符一样随意用别的名字,根据上面的语法可以解释为选择符在某个特殊状态下的样式。我们最常用的是4种A(锚)元素的伪类,它表示链接的4种不同状态:link、visited、active、hover(未访问的链接、已访问的链接、激活链接和鼠标停留在链接上)。可以给它们分别定义不同的效果:A:link col
12、or:red;text-decoration:none A:visited color:green;text-decoration:none A:hover color:blue;text-decoration:underline A:active color:brown;text-decoration:underline 那么,链接未访问时的颜色是红色且无下划线,访问后是绿色且无下划线,激活链接时为蓝色并有下划线,鼠标在链接上时为棕色并有下划线。我们还可以将某个样式同时施加在多个选择符指定的不同元素上,只要将在大括号括起来的样式定义之前的各选择符之间用逗号分隔即可:选择符,选择符,.样式属性
13、:取值;样式属性:取值;.如果选择符之间用空格分隔,则是用前面的父元素来约束后面的子元素:选择符 选择符.样式属性:取值;样式属性:取值;.第13页21:45:34(2 2)样式属性)样式属性 样式属性就是指元素的哪些属性可以在样式单中进行改变,在CSS1和CSS2中有很多的篇幅讲样式属性。其中CSS1中包括字体属性(字形、大小、粗细、倾斜等)、颜色属性、背景属性、文本属性、边框属性(页边空、边框、内空等)、显示属性(独立块、内联、列表、表格、隐藏等)几大类。在CSS2中对显示属性的最大改进就是增加了表格的显示方式,此外还增加了一些与页面排版、跨媒体出版相关的内容。这里我们不加赘述。(3 3)
14、属性值)属性值 在定义样式时,除需指出样式所应用的元素、元素的属性之外,还要给属性赋一个值。根据属性的不同,属性值的选取也有所不同,主要有以下四种:第14页21:45:34长度:在样式中很多的属性都与长度有关,如宽高、字号、字距、行距、边空、线宽等等。需要注意的是:当长度作为一个尺寸的度量,其单位是非常重要的,否则,失之毫厘,谬以千里,显示结果可能就会出乎意料之外了。URL:有时需要给某些属性赋予URL值,如背景图象属性(background-image)。在进行URL赋值时,要将URL放在url()之中,也可以将其用单引号或者双引号括起来。颜色:在CSS中颜色是个很重要的属性,颜色值的赋值有
15、四种形式:颜色名称、十六进制数、RGB十进制数及百分比方式,其中前两种方式较为常用。例如对于红色来讲可以用下面几种方法定义:pcolor:red、pcolor:#ff0000、pcolor:RGB(255,0,0)和pcolor:RGB(100%,0%,0%)。关键字:这里的关键字是指预先定义好的字符型属性值,对于不同的属性有不同关键字值。例如上面提到的颜色名称(red)实际上就属于关键字,其它的又如用于线型的none、solid、dashed、double等等。第15页21:45:344.2.2 关关联联CSS与与XML文档文档 根据XML文档的不同用途,关联CSS与XML文档的方法也有所不
16、同。有些XML文档主要面向数据交换,其表现形式相对简单;有些文档是专门面向Web发布的,它的表现力相对就要强一些。总结起来,使用CSS来显示XML文档的方式有二:引用方式和嵌入方式。第16页21:45:344.2.2.1 引用方式引用方式是指XML文档本身不含有样式信息,而是通过引用一个外部的CSS文档来定义文档的表现形式。大部分XML文档都采用这种方式,这也与XML语言内容与形式分开的原则相一致。使用引用方式关联CSS和XML文档的一个好处是可以将同一个样式单用于多个文档。具体实现的方法是在XML文档的开头部分加上一条处理指令:其中:处理指令的“type”属性是正在使用的MIME类型的样式单
17、。对于CSS来说,其值是“text/css”,对XSL来说,则是“text/xsl”;“href”属性值是一个URL,可以是一个相对地址,也可以是绝对地址,指明在何处可找到样式单。第17页21:45:34例如,使用处理指令,表示样式单mystyle.css放在Web服务器根目录下的style目录中,这里是个相对地址。“href”属性值也可以是指向另一个Web站点上的样式单的绝对URL值,例如:此外,在一个XML文档中还可以使用多个处理指令,以便应用不同样式单中的规则。清单4-2是一个描述图书信息的XML文档books.xml,按照处理指令的指示,该文档在浏览器上的表现方式就由同目录下的样式文件
18、mystyle.css所决定,因此,在文档的XML声明语句(即第一行)之后应添加如下代码:。清单4-3是mystyle.css文件。XML文档的浏览效果如图4-2所示。第18页21:45:34清单清单4-24-2:数据库系统概论 7040195836 王珊 萨师煊 高等教育出版社 30 计算机网络 7505387863 谢希仁 电子工业出版社 40清单清单4-34-3:book font-size:15pt;font-weight:bold;color:blue;display:block;margin-bottom:5pt;ISBN,author,publisher,price font-w
19、eight:bold;font-size:12pt;display:block;margin-left:20pt;title font-weight:bold;font-size:14pt;display:block;color:red;margin-top:5pt;margin-left:8pt;第19页21:45:354.2.2.2 内嵌方式内嵌方式 内嵌方式是指将CSS样式信息直接包含到XML文档中,为元素设置style属性,并在属性值中给出对其样式的定义。这种用法主要出现在一些特殊的XML文档中,一般来讲内嵌CSS样式的XML文档本身就是面向显示的,如SVG、SMIL等。清单4-4是一
20、个内嵌方式的例子,其中单个元素的样式是使用“style”属性声明的。第20页21:45:35清单清单4-44-4:数据库系统概论7040195836 王珊 萨师煊 高等教育出版社 30第21页21:45:354.3 XSL样式单 4.3.1 XSL4.3.1 XSL概述概述 尽管CSS样式单可以解决简单的XML显示问题,然而它最初是为HTML开发的,对处理复杂的XML文档在功能上略显不足,W3C因此为XML制定了专门的样式单语言XSL(可扩展样式单语言,eXtensible Stylesheet Language),XSL其主要用途是将一个XML文档转换为另外的文档(得到的文档可以是XML、H
21、TML、无格式文本或任何其他基于文本的文档)以及定义转换后的文档显示外观,提供了比CSS更为强大的功能。XSL包括三部分内容:XSLT(XSL Transformation):用于将XML文档转换为其他形式的文档的语言;XPath:用于在XML文档中导航的语言,描述如何识别、选择、匹配XML文档中的各个构成元件,包括元素、属性、文字内容等。XSLT使用XPath对XML文档中的具体部分进行访问和引用。FO(Format Object),用于格式化XML文档的语言。用来格式化输出,是一种定义XML显示方式的语言。第22页21:45:35使用XSL定义XML文档显示方式的基本思想是:通过定义转换模
22、板,将XML源文档转换为带样式信息的可浏览文档。最终的可浏览文档可以是HTML格式、FO格式、或者其它面向显示方式描述的XML格式,限于目前浏览器的支持能力,大多数情况下是转换为一个HTML文档进行显示。XSL处理器在进行显示输出时,首先根据XML文档构造源树(由于XML文档是严格的层级结构,所以我们形象地称XML文档为文档树,其中每个元素称作树的一个节点。根元素就是根节点),然后根据给定的XSLT,使用XPath在XML源树进行相关导航,并将源树转换为可以显示的结果树,这个过程称作树转换,最后再按照FO解释结果树,产生一个可以在屏幕上、纸上、语音设备或其它媒体中输出的结果,这个过程称作格式化
23、。第23页21:45:35至今W3C还未能给出FO的一个统一标准,但是XSLT却日趋成熟,其正式推荐标准于1999年11月16日发布,现在一般所说的XSL大都指的是XSLT。XSLT的主要用途就是数据转换应用。由于以XML为基础的电子商务广泛普及,XSLT作为数据转换的角色也越来越重要。例如直接将电视新闻的数据格式转换成报纸新闻需要的数据格式,对EDI(电子数据交换)数据进行统计、排序等等。XSLT是完成这类工作的理想工具。本章着重介绍XSLT对XML文档的显示转换功能,并将XPath作为XSLT的基础进行介绍。对于FO只作简要介绍。第24页21:45:354.3.2 XSLT初步XSLT主要
24、的功能就是转换,它将一个没有外观样式信息的XML文档作为一个源树,将其转换为一个有样式信息的结果树。在XSLT文档中定义了与XML文档中各个逻辑成分相匹配的模板,以及匹配转换方式,通过 XSLT,可以给输出文件添加或移除元素和属性,也可重新排列元素,执行测试并决定隐藏或显示哪个元素等等。XSLT只是一种说明性的计算机语言,需要借助其他工具来实现转换,这个工具就是XSLT处理器。第25页21:45:35XSLT处理器是根据XSLT文档,将源XML文档转换为目标文档的工具。XSLT处理器并非由W3C提供,而是由一些厂商或个人自行开发的。目前最常用的几种XSLT处理器有:Xalan:是Apache公
25、司提供的一款XSLT处理器,开发语言为Java,支持XSLT1.0。Saxon:是由英国的Michael Kay公司开发的XSLT处理器,其新版本支持XSLT2.0。MSXML:是微软开发的XSLT处理器,支持XSLT1.0。MSXML已经被集成到IE浏览器中,但需要IE6.0以上的版本才会支持。我们可以在XML文档中指定所使用的XSLT样式文档,然后使用IE浏览器打开该XML文档,直接查看转换后的结果。下面通过一个XSLT文档的例子,让读者初步掌握XSLT的基本语法和功能。清单4-5是一个XSLT文档,名为mystyle.xsl,用于转换清单4-2的XML文档。这里,为了把XSL样式表链接到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- xml 文档 显示
限制150内