使用XSL表现XML的几种方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

了使用 XSL 样式表显示 XML 文档的三种方法, 及各自的优点。
关键词: 可扩展标记语言; 可扩展风格语言; 数据岛; 转换
中图分类号: TP312
文献标识码: A
The Several Methods to Perform XML Data by Using XSL
ZHOU Shun ping, WANG Hai long, YU Hai yan
0引言
在当今 的 IT 业 中, XML ( Extensible Markup Lan guage, 可 扩展标识 语言) 越 来越成为 一个热门 的话 题。XML 是由 W3C( 万维网联合组织) 制定 的标准, 它突破了 HTML 固定标记集合的约束, 具有良好的数 据存储格式、可扩展性、高度结构化和便于网络传输 等特点, 从而成为了新一代的 Web 语言。XML 提供 了直接处理数据的通用方法, 为基于 Web 的应用提 供一个描述数据和交换数据的有效手段, 有利于信息 的表达和结构化组织。因此, 可以更好地满足网络时 代在电子商务、远程教育、数据库与搜索引擎等领域 的多态信息的交互、传输和再现的需求。
< TR> < TD> 出版社< TD> < TD> 书名< TD> < TD> 作者< TD> < TD> 价格< TD>
< TR> < xsl: for each select= 图书信息 书 order by= 价格 > < TR>
< TD> < xsl: value of select= 出版社 > < T D> < TD> < xsl: value of select= 书名 > < TD> < TD> < xsl: value of select= 作者 > < TD> < TD> < xsl: value of select= 价格 > < TD>
每个 XSL 样式表描述了呈现一类 XML 源文档的 规则。呈现的过程包括两个步骤: 第一步, 由源树建 立结果树; 第二步, 解释结果树, 并在显示器、纸张上
收稿日期: 2001 11 09 作者简介: 周顺平( 1967 ) , 男, 云南人, 中国地质大学信息工程学 院副教授, 博士, 研究方向: 地理信息系统、空间数据库。
这个 XSL 样式表开头部分的 < xsl: stylesheet> ! 元素指定了这是一个样式表文件, 并且提供了一个定 义 XSL 名域 ( name space) 的定位 xmlns: xsl = http: www. w3. org TR WD xsl > !。这个 XSL 样式表, 定义 了数据的显示形式为表格, 并通过语句 order by = 价格 !, 将 图书信息 书!的内容按价格降序排列。
8
计算机与现代化
Biblioteka Baidu
2002 年第 5 期
输出或以语音等其他媒体的格式化形式输出。在第 一步构造结果树过程中, 可以对源树进行排序和过滤 等操作, 还可以增加任意的结构。第二步格式化是用 该 XSL 文档 规定的 格式化 词汇表 实现结 果树 的解 释。也可以不使用格式化词汇表, 如使用 HTML 定义 的元素类型和属性来将 XML 转化为结构良好的 HT ML, 这样, 就可 以使用 浏览 器表 现 XML 源 文件 了。 使用 XSL, 还可以 产生各 种各样 的文件, 比 如 TXT、 RTF 等格式的文件。
下面的例子使用了上面例子中定义的 XML 文档 books. xml 和 XSL 样式表 books. xsl, 并定义了一个新 的 XSL 样式表 books2. xsl。
< ? xml version= 1. 0 encoding= gb2312 ? > < xsl: stylesheet xmlns: xsl= http: www. w3. org TR WD xsl > < xsl: template match= > < HTML> < BODY> < TABLE BORDER= 2 >
为了将样式表 books. xsl 与 XML 源 文档关联 起 来, 只需在 books. xml 文件的第一句下面加入如下一 句 代 码: < ? xml stylesheet type = text xsl href = books. xsl ? > !。 xml stylesheet! 告 诉解析 器需要 使 用样式表, type= text xsl !告诉解析器样式表文件的 类型是 XSL, href= books. xsl ! 告诉解析器 XSL 文件 名是 books. xsl。再在浏览器中直接打开 books. xml, 显示效果如图 1。
( Faculty of Information Engineering , China University of Geosciences, Wuhan 430074, China)
Abstract: XML is an extensible market language which is most used for data management. XSL is a language for expressing style sheets, which defines the performance of the XML data. Introduces three methods of using XSL style sheet to display XML data, and their advan tages . Keywords: extensible market language; extensible style language; data islands; transformation
2002 年第 5 期
周顺平等: 使用 XSL 表现 XML 的几种方法
9
了 HTML 页面的语义信息, 使得一个 HTML 页面可以 包含有关这一页主题的特殊数据。例如, 一个介绍一 本新书的页面, 可以同时将有关作者的一些信息( 比 如出生年月、籍贯等) 放在一个 XML 文件中, 这些信 息显示与否并不重要, 重要的是这些信息可被获得和 理解。
在这个 XML 文件中, 包含了两本书的信息, 这些 信息包括书名、作者、出版社、价格和摘要, 其中价格 的数据类型为数字型 number。这些数据只提供了有 关书的一些信息, 并没有定义这些数据的显示形式。 为了能在浏览器上 显示这些数 据, 我 们定义了 XSL 样式表文件 books. xsl:
1 XSL 介绍
XSL 是为 XML 文件定义的一种标记语言, 已于 2001 年 10 月正式成为 W3C 的推荐标准。一个 XSL 样式表集合了一系列的设计规则, 用以从 XML 文件 中提取信息, 并将其转换成 HTML 等其它格式。XSL 具有十分强大的功能, 可以对 XML 源文档中的内容 进行排序、过滤、重新构造等。使用 XSL 还可以进行 关系运算、逻辑运算, 并且, XSL 还提供了多种脚本语 言的通道, 可以 与 DOM ( Document Object Model, 文档 对象模型) 结合使用, 以满足更加复杂的应用需求。
< ? xml version= 1. 0 encoding= gb2312 ? > < 图书信息 xmlns: dt= urn: schemas microsoft com: data types > < 书>
< 书名> XML 学 习指南< 书名> < 作者> 马后炮< 作者> < 出版社> 电子工业出版社< 出版社> < 价格 dt: dt= number > 39. 00< 价格> < 摘要> 这本书介绍了使用 XML 的基本知识。< 摘要> < 书> < 书> < 书名> HTML 学习指 南< 书名> < 作者> 无名氏< 作者> < 出版社> 机械出版社< 出版社> < 价格 dt: dt= number > 79. 00< 价格> < 摘要> 这本书介绍了 HTML 的基本知识。< 摘要> < 书> < 图书信息>
通过改变 XSL 样式表, 同 一个文档可以 以不同 形式显示, 如: 可以改变数据的显示顺序, 或将某些隐 含的信息显示出来, 也可以过滤掉某一些信息, 使其 隐藏起来。
2 使用 XSL 直接显示 XML 文档
如果没有样式表的解释, 用浏览器直接打开一个 XML 文件, 将会以源码的形式显示 XML 源文档的所 有内容。为了演示如何使用 XSL 样式表来表现 XML 源文档, 我们定义了如下的一个构造良好的图书信息 XML 源文档 books. xml:
< ? xml version= 1. 0 encoding= gb2312 ? > < xsl: stylesheet xmlns: xsl= http: www.w3. org TR WD xsl >
< xsl: template match= > < HTML> < BODY> < TABLE BORDER= 2 >
但是, 由于 XML 的内容与表现形式是分开的, 在 一个 XML 的源文件中并 没有关于它 表现形式 的信 息。这就要求我们必须使用其它方法来显示 XML 数 据。样式表( style sheet ) 就是用来解决这个问题的, 样 式表文件负责 XML 文件的表现形式。通过使用不同 的样式表文件, 可以把同一个 XML 源文件以不同的 形式表现出来。目前有两种常用的样式表格式:
( 1) CSS( Cascading Style Sheets, 层叠样式表单) ; ( 2) XSL ( Extensible Style Language, 可扩展 风格语 言) 。 其中 XSL 具有比 CSS 更加强大的功能, 并且 XSL 本身也是一个 XML 文件, 因而学习、使用起来更加方 便。
< TR> < TD> 书名< TD> < TD> 作者< TD> < TD> 价格< TD> < TD> 出版社< TD> < TD> 摘要< TD>
< TR> < xsl: for each select= 图书信息 书 order by= 价格 > < TR>
< TD> < xsl: value of select= 书名 > < TD> < TD> < xsl: value of select= 作者 > < TD> < TD> < xsl: value of select= 价格 > < TD> < TD> < xsl: value of select= 出版社 > < TD> < TD> < xsl: value of select= 摘要 > < TD> < TR> < xsl: for each> < TABLE> < BODY> < HTML> < xsl: template> < xsl: stylesheet>
3 使用 XSL 转换数据岛内容
W3C 定义了一种格式, 用来把基于 XML 的数据 放到 HTML 页面中, 这就是数据岛( data islands) 。通 过使用数据岛扩展 HTML, 允许很大范围的应用软件 使用 HTML 作为主要文档和显示格式。这样, 不但可 以使用 HTML 中内含的 XML 保存数据, 同时 还增加
图 1 使用 books. xsl 解析 books. xml
数据岛提供了一种方便的方法从 HTML 页面中 访问 XML 数据。由于 XSL 本身也使用 XML 语法, 因 此数据岛也提供了一种方便的 方法来加载样 式表。 通过加载 XML 数据源和 XSL 样式表, 并结合 DOM 方 法 transformNode 可以 方便 地将 XML 源文 档转换 成 HTML 格式, 进而在浏览器上显示。
2002 年第 5 期 文章编号: 1006 2475( 2002) 05 0007 10
计算机与现代化 JISUANJI YU XIANDAIHUA
使用 XSL 表现 XML 的几种方法
周顺平, 王海龙, 于海燕
( 中国地质大学信息工程学院, 湖北 武汉 430074)
总第 81 期
摘要: XML 是进行数据组织的、可扩展的标记语言, XSL 则是一种样式表语 言, 定 义了 XML 内 容的表现形 式。本文介绍
相关文档
最新文档