精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>XML>>(1)XML基本概念>>XML的显示大家庭(转)

主题:XML的显示大家庭(转)
发信人: webpk(蒸的英雄)
整理人: leitiger(2001-06-27 14:46:58), 站内信件
自XML1.0标准诞生以来,短短两年,面向不同应用领域的基于XML的标准便层出不穷。仔细研究一下这些标准,无非是两大类别,一类是面向信息存储与信息交换的,制定这一类标准的目的主要是规范系统信息,为将来实现不同系统间的信息交换做准备。另一类则是面向信息发布与信息显示的,这一类标准的制定主要是为了改善和促进互联网上的信息发布,是面向信息显示的。人们把后一类标准统称为XML的显示语言,其中的代表有XHTML、VML、PGML、SVG、SMIL、OEB、XSL-FO、WML、HDML,可以算是一个大家庭了。下面我们就对这些显示家庭成员逐一做个简单的介绍。

1. XHTML(eXtensible Hyper Text Markup Language)

 XHTML由W3C制定,已于2000年1月正式成为W3C的推荐标准。XHTML从名称上看有点"超级HTML"的意思,当然它的"X"指的是XML的"X",是extensible可扩展的英文缩写,但无论如何它与HTML是有渊源的。

 我们现在所使用的HTML语言是用SGML语言定义的,是SGML的一个应用实例。XHTML是用XML语言重新定义了HTML,是HTML的XML版本,有人称其为"HTML  in XML"。

 那么为什么要用XML语言重新定义已经广泛使用了的HTML语言呢,究其原因不外是HTML自身的缺陷和XML的优势,我们将从以下几个方面来解释这个问题。

1) 语义表达。

 HTML本身是面向内容表现的,也就是讲它的主要功能在于将内容显示出来,至于显示的内容所具有什么样的内含,就不是它所关心的事了。因此,HTML不具备语义表达能力,而这恰好是XML的强项。而且互联网发展到今天,简单地显示内容已不再满足人们的需要,随着电子商务及网络合作的开展,信息交换是一个必须的功用。让缺乏语义表达的HTML来担此重任显然是不合适的,这也是XML诞生的一个很重要的原因。

2) 语法规范。

 由于实际操作的需求以及商业竞争的结果,HTML发展到现在可以说越来越不标准了。我们在制作主页的时候,不得不考虑同一网页在不同浏览器的显示效果。另一方面,浏览器厂商之间的竞争,使得浏览器的容错率越来越高。这一方面造成越来越多的不规范的HTML文件出现,另一方面也使得浏览器本身的体积越来越臃肿,庞大的浏览器不适应网络工具小型化的发展趋势。XML就不存在这些问题,它的语法规范特别的严格,这使得XML解释器的体积可以非常的小,更加具有互通性。

3) 表现力。

 虽然HTML是面向内容表现的,但它的表现力离人们的期望还相差甚远,对于图形、数学公式、科技符号等它都无法支持。而对于XML来讲,这些问题都可以通过它的扩展性来解决。因为XML本身是元数据语言,它可以针对不同的需要制定出特定的语言,它较HTML语言要高一个层次。

4) 扩展性。

 XML语言可以制定出不同应用领域的应用实例,也就是说可以制定出基于XML的各种语言。由于XML有很好的自相容性,各种语言可以互相嵌套,随意组合与拆分,而且在组合之后,整个文档还是XML的,可用同一个XML解释器进行解释。

 上述的几条都对HTML的生存与发展很不利,那么是不是干脆把HTML扔掉,用XML取而代之呢。事情并不是那么简单,考虑到实际上确有很多网络上的内容仅仅是为了显示,HTML已经够用,XML学起来又比HTML有一定的难度。本着又能使得创建的文档可以与XML有兼容性,又能照顾对HTML熟练掌握的制作者,W3C用XML重新定义了HTML,这就是XHTML。

 XHTML中的tag定义与HTML中的相同,这样一来,原本熟悉HTML的人员对XHTML很容易上手,不会对其有强烈的抵触,但它的语法较HTML要严格得多。由于它是基于XML语言的,所以很容易与XML的其它规范相融合。

 XHTML的一个更大的好处在于它的模块化,目前提供了三种DTD可供人们选择:

1)Strict(严格式):将&ltfont>、&ltcolor>等代之以CSS。

2)Transitional(过渡式):允许使用&ltfont>。

3)Frameset(分割式):允许使用&ltframe>。

DTD模块化更适合小型浏览器,人们可根据系统需求确定选用哪种DTD。

[关闭][返回]