荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Second (石开), 信区: Homepage
标  题: 从HTML到XML (转贴)
发信站: 荔园晨风BBS站 (Tue Sep 18 15:05:58 2001), 转信

xmliao 发表于 2001-9-18 10:20 XML学习 ←返回版面

作者:廖家序  发表日期:2001-08-12  浏览人次 :88

XML(eXtensible Markup Language,可扩展标记语言),是当前最热门的网络技术之一
,被称为“第二代Web语言”、“下一代网络应用的基石”。自它被提出以来,几乎得到
了业界所有大公司的支持,丝毫不逊于当年HTML被提出时的热度。所以,趁现在XML还未
普及的时候,赶快抢先学学,以保住将来的饭碗。

  HTML的缺点
  谈XML,不得不先说说“第一代的Web语言”——HTML。HTML老矣,已经快被淘汰了
(夸张了一点,不过HTML 4.0后就没有了,取而代之的是依据XML定义的XHTML)。可怜
我们这些人,好不容易刚刚能够凑合着会使用HTML了,却又不得不被迫丢弃。为什么呢
?HTML对带动这些年来WWW的蓬勃发展,可谓功不可没。想要在Internet上作点事情,几
乎无HTML不行。但是HTML有一个致命的缺点,就是:只适合于人与计算机的交流,不适
合计算机与计算机的交流。

  大家都知道,HTML是通过一大堆的标记来定义文档内容以什么样的形式显现在我们
面前,也即,HTML是一种“显示描述”语言,它仅仅描述了Web浏览器应该如何在页面上
布置文字、图形等,并没有对Internet上最重要的东西——信息的本身含义进行描述。
这些通过HTML表现出来的文字、图形内容很容易被人理解,而要计算机去理解这些标记
内的文字的含义,就很困难了。

  举个例子来说,我们设计一个程序,它可以自动地到各大网上商场去将最新的价目
抓回来。但问题是,每个网上商场可能在网页中写商品名称和价格时,都有他们自己的
一套写法,如:甲用〈B〉价格〈/B〉,而乙用〈H〉价格〈/H〉,还有更为复杂的表格
。那么我们的程序怎样才知道,哪种标记里面的东西才是要抓的价格信息呢?再比如:
在HTML里,〈B〉Apple〈B/〉只代表了Apple这个单词在Web浏览器里用粗体来表现,并
没有指出Apple代表什么,是苹果?是苹果计算机公司?还是其它什么?这造成了HTML不
能揭示文件中信息的含义。

  另外,HTML的另一个问题就是它的标记的集合是固定的,用户不能增加自己的有意
义的标记。而且各大浏览器的规格不尽相同,要使我们用HTML做的网页能够被所有浏览
器正常显示,我们只能够使用W3C给我们定义好了的标记来创建网页。

  在当今的网络世界里,随着电子商务的蓬勃发展和基于Web的应用日益广泛,大量的
信息需要被快速地处理。实际上,在Internet上的大部分信息,在最初都是被存放在结构
良好的数据库里面,信息按照它的意义被存放在相应的字段里,比如:员工档案,名称
、性别、部门等。对于“张三”这个数据,计算机能够根据它所存放的位置,知道它代
表一个员工的姓名。但是,一旦这些数据被调出来,经过CGI、ASP、JSP、PHP等转换成
HTML后,原本有意义的数据就变成了一些无特定含义的HTML标记的组合。用户必须通过
自己的“头脑”才能解析这些数据,进而“手动”将它们进行记录、处理,显然处理信
息的速度会很慢。如果我们能够将最初保存在数据库中的原始结构的数据在计算机之间
传递,那么肯定会加快信息处理的速度。显然利用HTML办不到,并且,由于计算机体系
、操作系统以及所使用的数据库不同,不同的计算机之间要想互相理解对方的数据库格
式是相当困难且非常麻烦的,为了使各种不同的计算机之间能够互相交换信息,似乎HT
ML又必不可少。怎样来解决这个难题呢?

  迎接XML
  使用XML可以解决上述的难题。W3C对XML作了如下描述:“XML描述了一类被称为XM
L文档的数据对象,并部分描述了处理它们的计算机程序的行为。XML是SGML的一个应用
实例或一种受限形式。从结构上说,XML文档遵从SGML文档标准。”同HTML一样,XML也
是一种基于文本的标记语言,都是从SGML(Standard Generalize Markup Language,标
准通用标记语言,是一种老的标记语言,最初用于出版行业,非常复杂,依据SGML开发
的应用非常昂贵,只在少数大公司和政府部门有应用)发展而来的,XML保留了SGML 80%
的功能,降低了20%的复杂程度,这样使得开发有关XML的应用变得很便宜,使XML能够进
入“寻常百姓家”。

  提示:HTML只适合于人与计算机的交流,不适合计算机与计算机的交流。
  XML与HTML的不同在于:XML可以让我们根据我们要表现的文档,自由地定义标记来
表现具有实际意义的文档内容,比如:我们可以定义〈文档名称〉〈/文档名称〉这样具
有实际意义的标记(可以用中文)。在XML中,我们只需要注意文档的内容,而文档的表
现形式则交给CSS(层叠样式表)和XSL(可扩展样式语言)来完成,如果XML文件只用于
计算机与计算机之间交流信息,仅仅需要一个XML文件即可,如果要将XML文件中的信息
以某种形式显示出来,如通过浏览器显示,则可引用一个样式表文件来定义浏览器怎样
来显示XML文件中信息。而且XML不像HTML那样具有固定的标记集合,它实际上是一种定
义语言的语言,也就是说使用XML的用户可以定义无穷的标记来描述文档中的任何数据元
素,突破了HTML固定标记集合的约束,将文档的内容组织成丰富复杂的完整的信息体系
。XML主要有三个要素:Schema(模式)、XSL(eXtensible Stylesheet Language可扩
展样式语言)和XLL(eXtensible Link Language可扩展链接语言)。Schema规定了XML
文档的逻辑结构,定义了XML文档中的元素、元素的属性以及元素和元素的属性之间的关
系,它能够帮助XML的解析器校验XML文档标记是否合法;XSL是用来规定XML文档表现形
式的语言,同CSS类似;XLL则进一步地扩展了当前Web上已有的简单链接。

  XML是一种定义语言的语言,现在已经有几个以XML规范为主所创建的标记语言,如
:Chemical Markup Language(CML:定义怎样描述化学分子式的结构,将它显示在网页
上)、Mathematical Markup Language(MathML:将复杂的数学公式以网页的形式显示
在浏览器中)、Synchronized Multimedia Integration Language(SMIL:如何将多媒
体信息展现在WWW中)。

  XML文件的解析器(一种检查XML文件是否有结构上的错误,将XML文件中的标记剥离
,读出正确信息的工具)大多数是使用Java语言写成的,这样,只要计算机支持Java虚
拟机,都可以支持XML(几乎所有的计算机都支持Java虚拟机)。所以,即使是异构系统
,也不用担心读不懂对方的资料,大家都用XML文件作为传送资料的介质即可,因为只要
对方计算机上有合适的XML解析器,就可以正确地读取信息。现在,几大数据库厂商的数
据库产品,如:Oracle 8i、Informix、IBM DB2等都开始支持XML,输入数据库的数据可
以轻易地转化为XML,甚至可以直接以XML的形式输入数据。有预言称:将来的电子文档
必将是XML的天下。

  提示:XML保留了SGML 80%的功能,降低了20%的复杂程度,这样使得开发有关XML的
应用变得很便宜,使XML能够进入“寻常百姓家”。

  学习XML并不困难,因为XML的规范很简洁,整个标准打印出来也只有几十页,而且
XML的写法和HTML类似,都是把标记用〈 〉符号括起来。更加方便的是,我们能够使用
中文创建XML标记,比如,我们能够创建〈价格〉...〈/价格〉这样的标记,在此标记内
的内容,它的含义就是某件东西的价格。想象一下,如果各大网上商场都用这样的XML标
记来说明他们网页中文字的含义,那么我们就可以一个自动化的软件去抓取我们感兴趣
的东西,比如:我们想了解以下有关XML书籍的信息,这个软件就自动去抓取各个网页中
〈XML书籍〉...〈/XML书籍〉标记内的字段,这该是多么方便。

  XML具有卓越的性能,它具有四大特点:优良的数据存储格式、可扩展性、高度结构
化以及方便的网络传输。因为XML能针对特定用户的应用定义自己的标记,这就使XML能
够在多种行业的信息交换中一显身手,根据不同行业来提供具有各自特色的解决方案。


--
                            既然热爱生命
                            那么,
                            一切都在意料之中。

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.52.239]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店