从HTML到XML

原创 2000年12月04日 17:14:00
(作者:廖家序 2000年12月04日 12:46)

  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办不到,并且,由于计算机体系、操作系统以及所使用的数据库不同,不同的计算机之间要想互相理解对方的数据库格式是相当困难且非常麻烦的,为了使各种不同的计算机之间能够互相交换信息,似乎HTML又必不可少。怎样来解决这个难题呢?

  迎接XML
  使用XML可以解决上述的难题。W3C对XML作了如下描述:“XML描述了一类被称为XML文档的数据对象,并部分描述了处理它们的计算机程序的行为。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能够在多种行业的信息交换中一显身手,根据不同行业来提供具有各自特色的解决方案。

从HTML到XML

2000年12月04日 17:14:00 (作者:廖家序 2000年12月04日 12:46)  XML(eXtensible Markup Language,可扩展标记语言),是当前最热门的...
  • softart
  • softart
  • 2007年10月27日 07:42
  • 228

XML三部曲之HTML的孪生兄弟

HTML的孪生兄弟是谁?毫无疑问要说的是XML,作为一对孪生兄弟它们两个基本的语法类似,但外表和内在是不等价的。虽然XML很像HTML,但它们两个之间却有着本质的区别。XML(eXtensible M...
  • zhang_xinxiu
  • zhang_xinxiu
  • 2013年11月18日 08:38
  • 3004

XML 从入门到精通(一)XML基础

本文为XML基础,其中着重强调了XML与HTML的区别。
  • lantingxv_jing
  • lantingxv_jing
  • 2013年12月03日 20:22
  • 1619

XML与HTML的关系

看完XML视频已经有一段时间了,一直没有抽空总结,感觉麦子都要荒到地里了,今天想起来,还是把它收回来吧,能捞多少捞到少吧!         之前我一直弄不明白,XML和HTML到底有什么区别,感觉都...
  • u013034286
  • u013034286
  • 2015年09月16日 21:18
  • 1129

HTML、CSS、JavaScript网页制作从入门到精通

这大概是我第一次写博客吧,自从大一开始写代码,至今也有5年的光景了,很遗憾并没有养成写博客的习惯,一方面因为我平时很少有阶段性的总结,另一面也确实不知道该分享些什么。归根结底还是功夫不到家,没有一些让...
  • luchengbing0120
  • luchengbing0120
  • 2017年09月19日 19:42
  • 482

在 HTML中显示XML数据的策略

一、 数据绑定( Data Binding )技术   数据绑定技术适用于结构规则的 XML 文档,它对 XML 文档的数据用类似于关系数据库的技术进行处理。   例如,有一个关于产品目录的 XML ...
  • hongxiang_ECJTU
  • hongxiang_ECJTU
  • 2007年09月18日 18:09
  • 2930

在Html中调用XML数据

  file.xml文件XML   xml file   jimmy   lnsyhy521@163.com   2008...
  • lnsyhy521
  • lnsyhy521
  • 2008年03月28日 09:26
  • 461

用html显示xml中的数据

1.将下面文件存为myfile.dtd2.然后建立XML文档myfile.xml:XML轻松学习手册ajie3.建立HTML文档myfile.htmlvar xmlDoc = new ActiveXO...
  • changemyself
  • changemyself
  • 2006年03月23日 17:50
  • 4211

【从入门到放弃】WEB前端之HTML+CSS基础01

最近几年WEB 前端很是火热,各种框架更是层出不穷,这个博文是一个系列,从0开始,一步一步进阶,从初级静态页面布局,到JS/Jquery动态交互、最后迈向各种框架node bootstrap vue ...
  • yanwydxf
  • yanwydxf
  • 2017年07月03日 17:17
  • 374

html读取xml数据实例一

花了一天的时间了解xml感觉还不是很懂,不过也写了一个实例,呵呵~```page1:1.xml                    ]>            《钢铁是怎么炼成的》        (...
  • fkedwgwy
  • fkedwgwy
  • 2008年05月09日 16:51
  • 4964
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从HTML到XML
举报原因:
原因补充:

(最多只允许输入30个字)