Web的新生命——XML
2000-08-16 10:17:19
1996年11月,波士顿SGML世界年会产生一项重大变革:与会代表一致公认将目前InternetHomepage撰写标准HTML宣告终结,取而代之,采用最新电子文件格式化通用标准——可扩展的标识语言XML(Extensible Markup Language)。
根据美国电子商务专家预测,XML可以改善传统网页设计语言HTML的描述方式,未来将可取代HTML成为新一代的网页标示语言,这转变将革命性地改变以Web为基础的电子商业应用型态。利用XML所具有的可扩展性以及自我描述(slef-descriptive)特性,Web文件可以在企业间的应用程序中自动传输、处理及储存,不同厂商的电子商品可以在同一个使用者界面同时展现,资讯的搜寻变得更为精确快速,不同系统间可以流畅的互通,而中小企业也可以轻易享受EDI的好处。
一、从HTML到XML
其实,早就有一个全世界标准的标识语言,可以用来定义某一类文件格式标志,那就是电子通讯文件交换格式标准语言SGML(Standard Generalized Markup Language)。它是一个国际性标准(ISO8879),用来形容和定义结构化的电子文件,在1980年代就制订了。不过,由于SGML太过于详细和复杂,所以一直没有被广泛地采用。
Internet的广泛应用,需要人人都易上手的描述语言。作为SGML的子集,超文本标识语言HTML应运而生。它受到Internet和全球资讯网热潮的推波助澜,很快地就成为在网上制作页面的标准语言。
XML也是从SGML所衍生出来的简化格式,它取名叫做可以延伸的标示语言(ExtensibleMarkupLanguage)的原因主要是有别于HTML那种单一固定的语法,要让制作页面时,有一个更具弹性、更容易添加新功能,而又不失统一标准的语言格式。相对于HTML只是SGML衍生出来的一种文件格式,XML则免除了SGML的繁复但仍保持其威力,这使SGML的优秀品质能方便而直接地被用在Web开发上。
严格说起来,XML本身不是一个单一的标示语言,它是一种元语言(meta-language),可以被用来定义任何一种新的标示语言。像HTML之类的传统标示语言,是用来定义某一类文件的格式,以便于展示或列印;而XML则是可以用来创造类别文件的格式定义,也就是在XML之中可以创造出很多不同的标示语言,用来定义不同的文件类别。
XML继承了SGML具有的可扩展性、结构性及可校验性,与HTML语言相比,区别主要在三方面:
(1)可扩展性方面:HTML不允许用户自行定义他们自己的标识或属性,而在XML中,用户能够根据需要,自行定义新的标识及属性名,以便更好地从语义上修饰数据。(2)结构性方面:HTML不支持深层的结构描述,XML的文件结构嵌套可以复杂到任意程度,能表示面向对象的等级层次。(3)可校验性方面:HTML没有提供规范文件以支持应用软件对HTML文件进行结构校验;而XML文件可以包括一个语法描述,使应用程序可以对此文件进行结构确认。
需要指出的重要一点是,HTML与XML二者相互之间并不是竞争关系,而是互相补充的关系。各种浏览器都将能够处理这两种语言,而且将来的HTML标准可能允许在同一文档中混合使用HTML和XML。
二、XML语言结构
XML有许多部分,但是只需要了解其中的三个就可以了解它是怎样工作的。它们是:文档类型定义(Document Type Definition,DTD),也就是XML的布局语言;可扩展的样式语言(Extensible Style Language:XSL),也就是XML的样式表语言;以及可扩展链接语言(Extensible Link Language:XLL)。
我们以一份菜谱为例子。
Carol Schmidt
Chocolate Chip Bars
DinnerDessert
2/3Cbutter
2Cbrownsugar
1tspvanilla
……
Preheat oven to 350 degrees. Meltbutter;
combine with brown sugar and vanillain large mixing bowl.……
这就是一份可以接受的XML文档,它告诉了你XML是什么:把数据以一种有实际意义的方式进行组织。
表面上看,XML文件与HTML文件比较相似,都以一对相互匹配的起始和结束标记符来标记信息,但二者功能不同,HTML的标记符用来显示数据,XML的标记符则是描述数据对角,后者可以多种方式显示,这和把地址簿的信息放在数据库的字段和记录中而不是放在字处理器产生的清单中的道理一样,数据库可以让你把地址簿中的信息合成到标签、信封、信件或其它任何想要的载体上面。最终,就是把这份XML菜谱文件合成到一种表现语言中,如HTML或CSS上显示出来。
XML的标记符也可以由其他应用软件进行深入的处理,你可以告诉其它程序如何使用这些有意义的标记符;也可以通过编码把标记符中的内容放入数据库的某个域中,然后把它输出到一本书的硬拷贝中;还可以用一个支持XML的字处理器使网页的出版轻而易举;等等。这就是XML的本质:使标记对人和机器都可读。
从例子可以看出,一个XML文件必须满足以下三项基本规则:
(1)文档以XML定义开始。1.0表示其版本编号;(2)有一个包含所有其它内容的根元素,如上面例子中的和标记符;(3)所有元素必须合理地嵌套,不允许交叉嵌套。这在HTML中可能不算什么,因为浏览器已经被设计成可以处理这种问题。但是在XML中却是致命的——应用程序将拒绝处理没有组织好的文件。
三、XML应用范围
XML是一种网络标准,能够简化互联网和企业网上的数据交换,自1996年开发以来已取得了巨大进展。
按照XML工作组的Bosak的看法,XML的应用范围可分为4大类:
(1)要求Web客户机在两个或多个不同的数据库之间传递信息的应用;(2)希望将Web服务器的大量处理负荷转移给Web客户机的应用;(3)要求Web客户机把同一数据以不同的表现方式提供给不同用户的应用;(4)适应特定用户需求的智能Web工具应用。
电子商务属于第一类应用,尤其是以电子数据交换(EDI)为基础的电子商务。XML赋予Web数据的结构使其更容易添加上数字签名,同时更容易对文档或文档的一部分进行加密。W3C数字签名倡议从事的正是XML的安全和认证研究。在要求自动化和信息重复使用的其他应用方面,XML也将对HTML有所补充。将来不管什么时候,从HTML向XML的过渡将是顺畅的,不会给用户带来任何不便。
摘自《赛迪网》 唐进华/文 |
404 Not Found
404 Not Found
nginx
|
|