WonderCSS

XML正在进入WEB开发者的工作中

作为一个对SEO有研究的WEB开发者,google的sitemap.xml一定再熟悉不过,在接触sitemap.xml的制作过程中,不禁有这样的疑问,XML是做什么的?他和HTML有什么关系,为什么google的网站地图不用HTML格式而用XML格式的等等问题。其实在网站寻找并了解XML之后,我们难免会得出这样的一个判断:XML是不是会成为WEB开发者的“必修课”之一呢。

什么是XML?

正象HTML一样,可扩展置标语言XML(eXtensible Markup Language)也是一种置标语言。它同样依赖于描述一定规则的标签和能够读懂这些标签的应用处理工具来发挥它的强大功能。这一点,从XML的命名上也可窥见一斑。

“关于此规范的正确题目,亦即XML的正确全名,应该是Extensible Markup Language, eXtensible Markup Language只不过是一个拼写错误罢了。但是,现在简写XML不仅正确,而且正如它在本规范的标题中一样,是Extensible Markup Language的官方名称。

从对XML的最初命名可以看出,XML的核心归根结底还是置标。不过,XML这个置标语言可比HTML的功能要强大的多了。

“人”如其名,XML的强大功能来自于“X”。也就是说,XML不但是置标语言,而且是可扩展的(eXtensible)置标语言。XML并非象HTML那样,提供了一组事先已经定义好了的标签,而是提供了一个标准,利用这个标准,你可以根据实际需要定义自己的新的置标语言,并为你的这个置标语言规定它特有的一套标签。准确的说,XML是一种源置标语言,它允许你根据它所提供的规则,制定各种各样的置标语言。这也正是XML语言制定之初的目标所在。

XML的制定目标

  • XML应该可以在互联网上直接使用(*就象HTML那样好用)。
  • XML应该支持各种不同的应用方式(*不但包括浏览,还包括对内容的分析)。
  • XML应该与SGML兼容(*子承父业嘛,后面我们会讲到,SGML是XML的直接先驱)。
  • 处理XML文件的应用程序应该容易编写(*计算机系的研究生花上两周的工夫就该差不多了)。
  • XML中的可选特性的数量应该减到最小,最好减至没有(*可选特性经常造成混淆)。
  • XML文件应该具有良好的可读性,并且比较清晰(*别象HTML那样,如果不借助浏览器,要想读它简直就是对你意志力和耐心的考验)。
  • 用XML设计新的置标语言应该方便快捷(你不必再去经历标准制定的繁琐程序了)。
  • XML设计的置标语言应该正式、简洁(不然怎么易写易读?)。
  • XML文件应该容易编制(想想要用“记事本”写个HTML是一件多么可怕的工作)。
  • XML标记的简洁性并不重要(你不必再去费尽心机减少标记)。

xml与html的根本区别是什么

Xml的语法和HTML类似,都以一对相互匹配的起始和结束标记符号来标识信息。但是二者之间功能不同,HTML是用于显示数据信息,而XML的标记则是用于描述数据的性质和结构,两者之间的区别如下:

1.HTML将数据和其显示效果混在一起,它是一种表现技术,定义如何显示信息的标签;而XML文档只是存储了数据和描述了数据之间的关系,并没有规定如何显示数据,即将数据和其显示进行了分离。

2.HTML的格式要求比较松散,而HTML解析器通常采用尽量解释的机制,这样容易造成同一个页面在不同的浏览器中可能显示出大不相同的结果。而XMlL是非常严格的标记语言,如:严格区分大小写等问题。

3.HTMl的标记集合是固定的,你不能在自己的应用中扩展HTML标记;而XML没有提供一组事先已经定义好的标签,只是提供了一个标准,可以按照这个标准来定义自己专用的标记,所以XML的标记是可以无限的扩展的,它可以用于描述各种应用领域的数据信息。

4.XML允许粒度更新,不必在XML文档每次有局部改变时都发送整个文档的内容,只有改变的元素才必须从服务器发送到客户机,而HTML却不支持这样的功能。

总结:XML不是HTML的升级,也不是HTML的代替产品,虽然两者之间相似,但他们的应用领域和范围完全不同。HTML的最终版本是HTML 4.01,HTMl目前已经不是Web标记的标准,它已经被XHTML所取代,XHTML是HTML和XML的混合物,它全采取的是XML的语法和规则来编写Web页面。XHTML有效的结合了HTML的简单性和XML的可扩展行,它所运用的标记和属性基本上还是HTML中定义的标记。XML可以应用在金融、科研等各个领域,XHTML只是XML在Web领域的一种应用。

几种常见的XML应用

自定义XML+XSLT=>HTML

最常见的文档型应用之一。XML存放整个文档的XML数据,然后XSLT将XML转换、解析,结合XSLT中的HTML标签,最终成为HTML,显示在浏览器上。典型的例子就是CSDN上的帖子。

XML作为微型数据库

这是最常见的数据型应用之一。我们利用相关的XML API(MSXML DOM、JAVA DOM等)对XML进行存取和查询。留言板的实现中,就经常可以看到用XML作为数据库。同时,这里要告诉一些新人,数据库和数据库系统,这两个概念是不同的。这里顺便提一下XML对数据库系统的影响。在新版本的传统数据库系统中,XML成为了一种数据类型。和“传统”相对的就是一种新形态的数据库,完全以XML相关技术为基础的数据库系统。目前比较知名的eXist。

作为信息传递的载体。

为什么说是载体呢?因为这些应用虽然还是以XML为基本形态,但是都已经发展出具有特定意义的格式形态。最典型的就是WEB SERVICE,将数据包装成XML来传递,但是这里的XML已经有了特定的规格,即SOAP。不过这里还不得不说AJAX,AJAX的应用中,相信也有一部分的应用是以自定义XML为数据,不过没有成为工业标准,这里不做详述。

应用程序的配置信息数据。

最典型的就是J2EE配置WEB服务器时用的web.XML。这个应用估计是很容易理解的了。我们只要将需要的数据存入XML,然后在我们的应用程序运行载入,根据不同的数据,做相应的操作。这里其实和应用2,有点类似,所不同的在于,数据库中的数据变化是个常态,而配置信息往往是较为静态,缺少变化的。

其他一些文档的XML格式。

如WORD、EXCEL等。

保存数据间的映射关系。

这几种常见应用中,我们还可以根据其应用广泛程度,分为:自定义XML和特定意义XML。在1和2就是属于自定义XML的范畴;3至6则属于特定意义XML,或者说是XML的延伸。

这里介绍的6种应用,基本涵盖了XML的主要用途。总之,XML是一种抽象的语言,它不如传统的程序语言那么具体。要深入的认识它,应该先从它的应用入手,选择一种你需要的用途,然后再学习如何使用。

By 于湛 发布于 2013.04.25 1,336 次浏览

发表评论

电子邮件地址不会被公开。 必填项已用*标注