jspchapter09

上传人:第*** 文档编号:48859831 上传时间:2018-07-21 格式:PPT 页数:49 大小:582KB
返回 下载 相关 举报
jspchapter09_第1页
第1页 / 共49页
jspchapter09_第2页
第2页 / 共49页
jspchapter09_第3页
第3页 / 共49页
jspchapter09_第4页
第4页 / 共49页
jspchapter09_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《jspchapter09》由会员分享,可在线阅读,更多相关《jspchapter09(49页珍藏版)》请在金锄头文库上搜索。

1、第9章 JSP操作XML文件内容提要n可扩展标记语言(eXtensible Markup Language,XML)是目前应用开发领域中的 热门技术。n本章主要讲述XML基本概念, XML的三种显 示样式:CSS(Cascading Style Sheet,层 叠式样式表单)、XSL(Extensible Style Language,扩展的标记语言)和Data Island (数据岛)n如何利用JSP操作XML文件。XML的概念 nXML即可扩展的标记语言,可以定义语义标记 ,是元标记语言。XML不像超文本标记语言 HTML,HTML只能使用规定的标记,对于XML ,用户可以定义自己需要的标

2、记。nXML(eXtensible Markup Language)和HTML (Hyper Text Markup Language)师出同门, 都是从SGML(Standard Generalized Markup Language)延伸而出的标记语言 XML文档的结构 n案例名称:元标记语言n程序名称:9-01.xmlnnnzhourunfanmalenTeacher Peking Univ.n定义基本元素 案例名称:定义基本元素 程序名称:9-02.xml周润发 北京大学 计算机系老师 2000使用属性 案例名称:添加属性 程序名称:9-03.xml周润发 北京大学 计算机系教师 20

3、00典型的XML文档结构案例名称:典型的XML文档结构 程序名称:9-04.xml周润发 教师None唱歌、跳舞XML声明 nXML声明是以“nXML声明的作用是告诉浏览器将要处理的文档是XML文 件。一个XML文档最好是以一个XML声明作为开始。n之所以说“最好”是因为XML声明在XML文档中是可选内 容,可加可不加,但XML标准强烈推荐加入这一行声 明。XML声明中可以包含version,encoding和 standalone三个属性。字符和实体引用 n字符和实体引用可以向XML文档中引入其他信 息,而不需要直接在文档中输入它们。字符和 实体引用通常用于以下情况。n(1)字符不能直接出现

4、在文档中,因为它们会被 解释为标记。n(2)由于输入设备的限制,字符不能直接输入到 文档中。n(3)由于单字节字符的限制,字符不能可靠地经 过处理程序。n(4)相同的字符串或文档片断在文档中多次使用 。XML常用的实体引用 实 体实 体 引 用意 义lt(大于 )amp(单引号 )quot“(双引号 )使用特殊字符案例名称:使用特殊字符 程序名称:9-05.xml周润发 北京大学 教师 2000XML的三种显示格式 n显示XML文件常见的有三种方式:n使用CSS样式表n使用XSL样式单n使用XML的数据岛技术 CSS样式表 案例名称:CSS样式表 程序名称:9-06.cssGREETING f

5、ont-size: 48pt; font-weight: bold; 案例名称:调用CSS的XML文件 程序名称:9-07.xmlChinaXSL样式语言 案例名称:调用XSL的XML文件 程序名称:9-08.xml案例名称:XSL文件 程序名称:9-09.xslXML数据岛技术 案例名称:使用XML文件数据岛 程序名称:9-10.htmXML的两种语法规则 n在XML文档规则方面,目前有两种:nW3C的DTD技术n微软公司Scema技术 DTD文档类型定义 n为文档类型定义(Document Type Definition),简 称DTD。DTD可以包含在XML文档中,也可以独立为 一个文件

6、。根据DTD定义的位置,可以分成内部DTD 和外部DTD n内部DTD 案例名称:内部DTD 程序名称:9-13.xml外部DTD 案例名称:外部DTD 程序名称:9-15.DTD案例名称:外部DTD 程序名称:9-16.xmlSchema文档规则 案例名称:使用Schema 程序名称:9-18.xmlhello案例名称:使用Schema 程序名称:9-17.xml字符集概述 n常见的字符集包括:nASCII字符集、ISO8859字符集、Unicode字 符集合、UCS字符集和常用的中文字符集: GB2312、GBK和Big5 ASCII字符集 nASCII码的全称是American Stan

7、dard Code for Information Interchange(美国标准信息交换码), 它是一种单字节的7位二进制编码。在ASCII码字符集 中,每个数字,字母或特殊字符都对应于一个7位二进 制数,这个7位二进制数是以一个字节(8位)来表示 的(其中最高位为0)。从而定义了书写英语所需要的 全部字符以及部分控制字符。n由于ASCII码的最高位为0,因此,在ASCII码字符集中 一共定义了128(27)个字符编码,所定义的这些字符 的编码都在0-127之间。 ISO 8859字符集 nASCII码在定义之初只是为了表示英语(更严格来说是美式英语),对于象 、等其他语言或地区所需要的字

8、符则没有定义其表示方式。n随着计算机应用的扩展,人们对其他字符表示的需求越来越迫切。1987年, 国际标准组织ISO(International Organization for Standardization)发布了字 符集标准:ISO8859-1字符集。ISO8859-1通常也被叫做Latin-1字符集。Latin -1字符集在ASCII码的基础上增加了对西欧语言的支持。nISO8859字符集是单字节的8位二进制编码字符集,一共定义了256(28)个 字符编码,其中,0-127之间的字符与ASCII码的定义相同,128-255之间的字 符则是为了提供对其他语言的支持而对ASCII码进行的扩

9、充。n除了ISO 8859-1,ISO 8859标准中还定义了10个用于不同文字的字符集( 8859-2到8859-10以及8859-15),另外还有4个字符集(8859-11到8859-14 )正在开发过程中 Unicode字符集 nUnicode是由美国各大电脑厂商所组成的Unicode协会创建的。其 目的在于推广一个统一的编码方案,将世界上所有的常用文字都 包含进去。它涵盖了美国、欧洲、中东、非洲、印度、亚洲和太 平洋等地区的绝大多数语言。Unicode在创建之初希望能够方便地 交换、处理和显示多种文字,就象数学符号一样地通用。它希望 能够解决使用多种字符标准的计算机国际化问题n为了将成

10、千上万的文字统一到同一个编码机制之下,在兼顾经济 的原则下,不管是东方文字还是西方文字,在Unicode中一律用两 个字节来表示。也就是说,Unicode是一种双字节编码机制的字符 集,使用0-65535之间的双字节无符号整数对每个字符进行编码 。这样,在Unicode字符集中,至少可以定义65536个不同的字符 ,足以应付目前绝大多数场合的需要。中文字符集 n中文简体和繁体,常用的字符集有三种 :nGB2312、GBK和Big5 GB2312字符集nGB码的全称是GB2312-80信息交换用汉字编码字符 集 基本集,1980年发布,是中文信息处理的国家标 准,在中国大陆及海外使用简体中文的地

11、区(如新加 坡等)是强制使用的唯一中文编码。P-Windows3.2和 苹果OS就是以GB2312为基本汉字编码的,Windows 95/98则以GBK为基本汉字编码,但兼容支持GB2312 。nGB码共收录了6763个简体汉字、682个符号。其中, 汉字部分:一级字3755个,以拼音排序;二级字3008 个,以偏旁排序。该标准的制定和应用为规范、推动 中文信息化进程起了很大作用。GBK字符集nGBK编码是中国大陆制订的、等同于UCS 的新的中文编码扩展国家标准。GBK工 作小组于1995年12月完成的GBK规范。 该编码标准兼容GB2312,共收录了汉字 21003个、符号883个,并提供了

12、1894个 造字码位,简、繁体字融于一库。BIG5字符集nBIG5编码是由台湾制定的、目前在台湾 、香港地区普遍使用的一种繁体汉字的 编码标准,包括符号440个,一级汉字 5401个、二级汉字7652个,共计13060 个汉字。UTF-8字符集 nUTF是Unicode/UCS Transformation Format的 缩写。由于Unicode/UCS 使用多字节表示一个 字符,因此使用Unicode/UCS的英文文本文件 比使用ASCII码或Latin-1码的文件要大得多, 因此出现了压缩版本的Unicode/UCS:UTF-8 。UTF-16字符集 nUTF-16也是ISO/IEC 1

13、0646-1和Unicode的变形表示方 式的一种。它的目的是维持双八位的编码方式,同时 也用一些特殊的双八位来表示非基本多文种平面( BMP)中的一些字符。这种用来表示非BMP字符的方 法在Unicode中称作代理对机制。nISO 10646 使用四个字节来编码,因此要应付未来的 扩充需求可以说是绰绰有余。相对地,Unicode 只用 两个字节,不但空间很容易用尽,而且如果要在未来 继续和ISO 10646 保持兼容,需要用一种机制来弥补 两个字节的不足。代理对(surrogate pairs)的设计便 在这个背景下应运而生。在XML中使用HTML 案例名称:使用HTML标记 程序名称:9-

14、19.xmlTommale在XML中使用JavaScript代码 案例名称:使用JavaScript标记 程序名称:9-20.xmlXML的三种应用程序接口 n在Java中对XML的解析接口有3大类:n基于DOM(Document Object Model)的解 析接口n基于SAX(Simple API for XML)的解析接口n基于JDOM(Java Document Object Model )技术的解析接口 解析接口nDOM即文档对象模型。在应用程序中,基于DOM的 XML分析器将一个XML文档转换成了一个对象模型的集 合(这个集合通常被称为DOM树),应用程序可以通 过对该对象模型的

15、操作,实现对XML文档中数据的操 作。nSAX即XML简单应用程序接口。SAX提供了一种对XML 文档进行顺序访问的模式,这是一种快速读写XML数 据的方式。当使用SAX分析器对XML文档进行分析时, 会触发一系列事件,并激活相应的事件处理函数,从 而完成对XML文档的访问,所以SAX接口也被称作事件 驱动接口。nJDOM的处理方式是与DOM类似的操作。是SUN公司发 布的一种简单方便的XML处理接口。解析器 n解析器实际上就是一段代码,它读入一个 XML文档并分析其结构。我们在这里介绍的 是基于Java的解析器。n目前主流的解析器有:JAXP(Java API for XML Process

16、ing)、Xerces(Apache)、 XML4J(IBM)和xalan等,主流的解析器都 支持SAX和DOM。支持JDOM的解析器目前只 有SUN公司发布的jdom包。 DOM解析接口 案例名称:DOM树结构 程序名称:9-21.xml张三李四DOM读取XML文件 n第一步:建立一个解析器工厂。nDocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();n第二步:以利用这个工厂来获得一个具体的解析器对象。nDocumentBuilder builder=dbf.newDocumentBuilder();n第三步:利用DocumentBuilder的parse()方法接受一个XML文档名作为输入参数, 返回一个Document对象。Document对象代表了一个XML文档的树模型。nDocument doc=builder.parse(“candidate.xml“)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号