鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 网站制作教程 > XML/RSS > >

XML的四个神话:XML属于世界(1)

来源:互联网 作者:佚名 时间:2015-03-02 14:48
当XML被W3C批准后迅速在1998年2月进入历史舞台,被称为"当年突然涌现的技术"。它被称为HTML的继任者,还被有些人称为结构化数据交换的未来混合语。 由于XML是从它W3C开始的阴暗处涌现出来的,也许不可避免地,这一新数据格式将象它吸引狂热爱好者一样快地开

当XML被W3C批准后迅速在1998年2月进入历史舞台,被称为"当年突然涌现的技术"。它被称为HTML的继任者,还被有些人称为结构化数据交换的未来混合语。

由于XML是从它W3C开始的阴暗处涌现出来的,也许不可避免地,这一新数据格式将象它吸引狂热爱好者一样快地开始产生错误概念。在本文中,我将在一些关于XML的神话成为永久性错误理解前澄清它们。

神话1:XML是由微软领导的共同成果

XML是一个共同成果,但不是微软的。实际上,XML是由一个Sun微系统公司组织的标记语言专家小组提出的,以开发历史悠久的ISO标准SGML用于Web的一种形式。

微软确实是XML工作中的一个主要参与者,但是其它一些大公司也是如此(Sun,惠普,Netscape, Adobe和富士及施乐),还有主要的SGML厂商和系统集成商(ArborText,Inso, SoftQuad,Grif,Texcel和Isogen),学术团体的代表(NCSA和Text Encoding Initiative),早期使用者(DataChannel 和Vignette),和世界上最主要的SGML专家之一James Clark,他是W3CSGML的技术领袖。

关于XML,令人惊异的是所有这些人和组织都将个人和公司议事日程放在一边,合作建立一个天生开放的标准,完全由用户需求驱动。这些需求包括:

◆可扩展性,以定义需要的新标记。

◆结构,以表示任意复杂程度的数据。

◆校验,以检查数据的结构正确性。

◆媒体无关性,以用多种格式发布内容。

◆厂商和平台中立,以用标准的商业软件甚至简单的文本工具处理任何满足标准的文档。

虽然我不得不钦佩微软对XML概念的熟练使用和推销,但是XML并不属于微软。XML属于世界。

神话2:XML是HTML的一个扩展

早期对XML的概括已导致许多人相信XML仅仅是一种通过增加新标记来扩展HTML的方法。实际上,XML和HTML在标记语言中处于完全不同的层次。HTML是一种标记语言--一套具有标准意义的标准分隔符,可放到文档中以指示文档中特定部分的角色。例如,在一个HTML文档中<H2>和 </H2>之间的任何东西都被理解为一个第二级文档标题。

◆标记语言

对标记语言的经验只局限于Web的人们经常惊讶地得知HTML只是许许多多标准标记语言中的一种,这些语言在特定行业内已被开发多年。例如,航空业有一种飞机维护手册的标记语言,称为ATA-2100,半导体行业有一种用于电路数据的标记语言,称为PCIS,而计算机行业有一种用于软件文档的标记语言,称为DocBook。

这些标记语言中有些比HTML使用得更久,其中许多面向的是要解决的问题不同的方面。例如,考虑这段HTML:

<H2>Second-level heading</H2>

这是一段很可能属于上面标题的文本。</P>

一段类似的DocBook可能看起来象这样:

<SECT2>

<TITLE>二级标题</TITLE>

<PARA>这是一段肯定属于上面标题的文本。

我们知道这一点是因为它们都包含在同一个SECT2元素内。

</PARA>

</SECT2>

虽然这些不同的标记语言有它们的不同之处,所有这些,包括HTML,在三方面都是类似的。

◆每一个都定义了一套有标准化含义和标准化使用规则的标准标记--换句话说,一个标准化的语法。

◆每一个都设计为对某一特定类型的文档或数据工作得最好。

◆都使用有12年历史的国际文本处理标准SGML定义它们的标准标记集和语法。

所有这些语言看起来也相似,因为它们都使用熟悉的尖括号,继承自SGML的具体引用句法。

◆SGML层

根据上面的描述,应该很清楚SGML本身属于一个不同于任何用SGML定义的个别标记语言的概念层,SGML和特定标记语言的区别经常被总结为SGML是一种元语言而不是一种语言。这是一个很不精确的概括。SGML不象真正的元语言那样抽象,如巴克斯/纳尔范式(BNF),它是用于定义程序设计语言的。不过,称SGML为元语言确实使人抓住了关键:SGML不是一种特定的标记语言;它是一种定义标记语言的语言。

理解XML的关键因素是它属于SGML层,而不是HTML层。XML是SGML的一种简化形式,而不是HTML的一种扩展形式。XML和SGML的区别是XML的设计者去除了许多SGML的高级特性,这些特性使得难以在一个Web浏览器中实现一个SGML的完全解析器。

但是基本思想是一样的:XML是一种允许创建无限种不同用途的不同标记语言的技术。XML的关键--和它变得如此普及的原因--是所有可用它定义的不同的特殊用途语言都能被一个标准化的处理程序解析,这一程序小得可以内嵌入每一个Web浏览器中。

不理解这一区别的人们往往得出一个结论,认为一个对XML敏感的应用将允许他们简单地在他们的HTML文档中到处撒上新的标记。试图用这种方式"扩展"HTML将使我们已得到的一团糟更加混乱。

神话3:XML可以自己驱动Web浏览器

记住HTML概念是一种包含相对小标准标记集的标记语言,与一些多少标准化的行为相关。XML概念是一个无限大的可能标记的集合,相关的行为根本没有标准。行为的规范必须来自其它某个地方。在发布时,这通常是一个样式表,但是在其它领域可以象JavaBeans一样柔性,或者象一种行业标准协议一样专门,程序员在其上编写标准化应用。

网友评论
<