1、是什么:
XML是一种可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
2、怎样工作的 :
XML的特点主要包括四个方面:
a、 可扩展性(Extensibility)——XML 允许使用者创建和使用他们自己的标记而不是 HTML 的有限词汇表。
b、 灵活性(Flexibility)——XML 提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据。所以,Web 用户所追求的许多先进功能在XML环境下更容易实现。
c、 自描述性(Self-describing)——不仅人能读懂XML文档,计算机也能处理。XML表示数据的方式真正做到了独立于应用系统,并且数据能够重用。
d、简洁性(Simplicity)——它只有 SGML 约 20% 的复杂性,但却具有 SGML 约 80% 的功能。XML 比完整的 SGML 简单得多,易学、易用并且易实现。
XML的工作原理:包括服务器端解析与客户端解析。
服务器端解析是通过XSLT转换工具(如Xalan)将XML和XSL合成为HTML,送到客户端。客户端解析是把XML和XSL都显现给客户端,把解析的任务交给浏览器
3、可以做什么:
XML应用面主要分为两种类型,文档型和数据型。下面介绍一下几种常见的XML应用:
a、自定义XML+XSLT=>HTML,最常见的文档型应用之一。XML存放整个文档的XML数据,然后XSLT将XML转换、解析,结合XSLT中的HTML标签,最终成为HTML,显示在浏览器上。典型的例子就是CSDN上的帖子。
b、XML作为微型数据库,这是最常见的数据型应用之一。我们利用相关的XML API(MSXML DOM、JAVA DOM等)对XML进行存取和查询。留言板的实现中,就经常可以看到用XML作为数据库。同时,这里要告诉一些新人, 数据库和数据库系统,这两个概念是不同的。这里顺便提一下XML对数据库系统的影响。在新版本的传统数据库系统中,XML成为了一种数据类型。和“传统”相对的就是一种新形态的数据库,完全以XML相关技术为 基础的数据库系统。目前比较知名的eXist。
c、作为信息传递的载体。为什么说是载体呢?因为这些应用虽然还是以XML为基本形态,但是都已经发展出具有特定意义的格式形态。最典型的就是WEB SERVICE,将数据包装成XML来传递,但是这里的XML已经有了特定 的规格,即SOAP。不过这里还不得不说AJAX,AJAX的应用中,相信也有一部分的应用是以自定义XML为数据,不过没有成为工业标准,这里不做详述。
d、应用程序的配置信息数据。最典型的就是J2EE配置WEB服务器时用的web.XML。这个应用估计是很容易理解的了。我们只要将需要的数据存入XML,然后在我们的应用程序运行载入,根据不同的数据,做相应的操作。 这里其实和应用2,有点类似,所不同的在于,数据库中的数据变化是个常态,而配置信息往往是较为静态,缺少变化的。
e、其他一些文档的XML格式。如WORD、EXCEL等。
f、保存数据间的映射关系。如Hibernate。
这几种常见应用中,我们还可以根据其应用广泛程度,分为:自定义XML和特定意义XML。在1和2就是属于自定义XML的范畴;3至6则属于特定意义XML,或者说是XML的延伸。
这里介绍的6种应用,基本涵盖了XML的主要用途。总之,XML是一种抽象的语言,它不如传统的程序语言那么具体。要深入的认识它,应该先从它的应用入手,选择一种你需要的用途,然后再学习如何使用。
(上面的能做什么转至:http://blog.csdn.net/cds27/article/details/743409)
我个人的理解可以把XML看成一个微型的数据库
4、发展前景:
主要应用到下面几个方面:
a、网络服务领域
b、EDI(electronic data interchange)
c、电子商务领域
d、数据库领域
e、Agent(智能体)
f、软件设计元素的交换(现在json有逐渐取代的趋势)