博文
XML技术系列讲座(3)XML的显示——XSL样式单(上)(2006-04-30 13:01:00)
摘要:本文出自:http://www.computerworld.com.cn 作者: 北京邮电大学 张剑 (2002-02-07 06:15:00)
一、XML文档转换原理
数据格式转换的重要思想是要把XML文档视为一种树结构,转换的过程就是从源树生成结果树的过程。XSL样式单定义了源树和结果树中对应部分的转换规则,每条规则中包含了一个模板,并对应着一种模式。模板定义了转换的结果,而模式则规定了需要进行转换的元素或属性对象。
XML中引用XSL的语法格式如下:
<?xml-stylesheet type=“text/xsl” href=“Employees.xsl” ?>
如果在声明部分引用了多个XSL样式单,则只有第一个样式单会生效,其余的都会被忽略掉。
XSL的格式转换功能在复杂的电子商务解决方案中大有用武之地。比如,A公司和B公司都是生产机器零件的厂家,在货物清单中都包含了产品序列号以及质量等级评分。A公司的文件格式如下:
<Order>
<OrderItem>
<ItemID>12980-235</ItemID>
<Quantity>200</Quantity>
</OrderItem>
</Order>
而B公司的文件格式有所不同,相关信息都出现在元素的属性中:
<Order>
<OrderLine PartNo=“12980-235” NumRequired=“200”/>
</Order>
这样,虽然两个公司的产品完全一样,但由于文档格式的差异给双方的贸易往来设置了障碍。而使用XSL样式单可以轻松地把A公司的文档转换成B公司的格式,反之亦然。
二、XML文档转换步骤
XML文档的转换过程分为两步:
● 首先是根据XML文档构造源树,然后根据XSL规则将源树转换为结果树。目前,这种转换协议已经日趋完善,并从XSL中独立出来,成为W3C正式......
XML技术系列讲座(2)XML技术预览(2006-04-30 13:00:00)
摘要:本文出自:http://www.computerworld.com.cn 作者: 北京邮电大学 张剑 (2002-02-06 07:15:00)
一、显示XML
XML文档本身只描述数据内容,它的显示功能由样式单来完成。利用样式单技术时,输出平台不局限于显示器,可以是打印机、绘图仪或者是多媒体播放器。使用独立的样式单文件制定显示格式的一大优势在于:对同一份数据文件可以制定不同的样式风格,应用在不同的场合,使数据能够更合理、更有针对性地表现出来,提高了数据的重用性。
目前,W3C正式推荐的样式单标准有两种: 一种是层叠样式单CSS(Cascading Style Sheets);另一种是可扩展样式单语言XSL。
CSS最初是用于制定HTML文档显示格式的,现在也可用来对XML文档进行简单的样式规划。CSS在HTML中的应用极为广泛,但它在文本置换、依据文本内容而决定显示方式、对数据进行排序等智能化的显示功能上略显不足。
而XSL则较好地解决了CSS的这些问题,它最常用的功能是将XML的置标转换成为HTML的置标并显示输出。而且XSL还可以将XML文档向任何其他格式的结构文档进行转换。这种功能在B2B的商务模式中有着很好的应用前景。
XSL利用模式匹配的方法,选择XML文档中需要处理的元素/属性,再针对这些特定的对象制定相应的转换规则。借助XSL,我们还可以添加新的元素/属性,对所有元素/属性进行重新排序、循环处理、条件判断等程序化的控制,使其适应各种复杂的需求。
在XML文档中引用XSL的格式如下:
<?xml-stylesheet type=“text/xsl” href=“Employees.xsl” ?>
一个XML文档只能引用一个XSL样式单。XML解析器在处理XML文档时,遇到处理指令后,会载入指定的XSL样式单,然后根据其中的规则进行相应的转换处理。
二、绑定XML
Web服务器与客户机之间的数据传递方式有三种: HTML页面、XML文档以及XML数据岛。其中,XML数据岛通过特定的标签把XML数据直接嵌入到HTML文档中。采用数据岛作为交互手段,不仅可以使数据具备一定的语义信息,同时还能......
XML技术系列讲座(1)XML技术入门(2006-04-30 12:59:00)
摘要:本文出自:http://www.computerworld.com.cn 作者: 北京邮电大学 张剑 (2002-02-06 06:15:01)
XML与HTML的比较
Internet提供了全球范围的网络互连与通信功能,Web技术的发展更是一日千里,其丰富的信息资源给人们的学习和生活带来了极大的便利。特别是应运而生的HTML(超文本置标语言),以简单易学、灵活通用的特性,使人们发布、检索、交流信息都变得非常简单,从而使Web成了最大的环球信息资源库。然而,电子商务、电子出版、远程教育等基于Web的新兴领域的全面兴起使得传统的Web资源更加复杂化、多样化,数据量的日趋庞大对网络的传输能力也提出更高的要求。同时,人们对Web服务功能的需求也达到更高的标准,比如: 用户需要对Web进行智能化的语义搜索和对数据按照不同的需求进行多样化显示等个性化服务; 公司和企业要为客户创建和分发大量有价值的文档信息,以降低生产成本,以及对不同平台、不同格式的数据源进行数据集成和数据转化等等,这些需求越来越广泛和迫切。
传统的HTML由于自身特点的限制,不能有效地解决上述问题:作为一种简单的表示性语言,它只能显示内容而无法表达数据内容。而这一点恰恰是电子商务、智能搜索引擎所必需的。另外,HTML语言不能描述矢量图形、数学公式、化学符号等特殊对象,在数据显示方面的描述能力也不尽如人意。最重要的是:HTML只是SGML(Standard Generalized Markup Language,标准通用置标语言)的一个实例化的子集,可扩展性差,用户根本不能自定义有意义的置标供他人使用。这一切都成为Web技术进一步发展的障碍。
SGML是一种通用的文档结构描述置标语言,为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此在数据分类和索引中非常有用。但SGML复杂度太高,不适合网络的日常应用,加上开发成本高、不被主流浏览器所支持等原因,使得SGML在Web上的推广受到阻碍。在这种情况下,开发一种兼具SGML的强大功能、可扩展性以及HTML的简单性的语言势在必行。由此诞生了XML语言。
XML(eXtensible Markup Language,可扩展置标语言)是由W3C于1998年2月发布的一种标准。它同样是SGML......