XML 即可扩展标记语言 (eXtensible Markup Language). 标记是指计算机所能理解的信息符号, 通过此种标记, 计算机之间可以处理包含各种信息的文章等. 如何定义这些标记, 既可以选择国际通用的标记语言, 比如 html, 也可以使用象 XML 这样由相关人士自由决定的标记语言, 这就是语言的可扩展性. XML 是从 SGML 中简化修改出来的. 它主要用到的有 XML,XSL 和 XPath 等.
上面这段是对 XML 的一个基本定义, 一个被广泛接受的说明. 简单说, XML 就是一种数据的描述语言, 虽然它是语言, 但是通常情况下, 它并不具备常见语言的基本功能 -- 被计算机识别并运行. 只有依靠另一种语言, 来解释它, 使它达到你想要的效果或被计算机所接受.
假如你是刚接触 XML 的新手, 那么可能并无法从定义上是了解 XML 是什么. 也许, 你可以换个角度来认识 XML 是什么; 从应用面来认识 XML, 从 XML 可以做些什么来认识它, 这应该能比那更空洞的定义对你更有帮助.
XML 应用面主要分为两种类型, 文档型和数据型. 下面介绍一下几种常见的 XML 应用:
1, 自定义 XML+XSLT=>HTML, 最常见的文档型应用之一. XML 存放整个文档的 XML 数据, 然后 XSLT 将 XML 转换, 解析, 结合 XSLT 中的 HTML 标签, 最终成为 HTML, 显示在浏览器上. 典型的例子就是 CSDN 上的帖子.
2,XML 作为微型数据库, 这是最常见的数据型应用之一. 我们利用相关的 XML API(MSXML DOM,JAVA DOM 等) 对 XML 进行存取和查询. 留言板的实现中, 就经常可以看到用 XML 作为数据库. 同时, 这里要告诉一些新人, 数据库和数据库系统, 这两个概念是不同的. 这里顺便提一下 XML 对数据库系统的影响. 在新版本的传统数据库系统中, XML 成为了一种数据类型. 和 "传统" 相对的就是一种新形态的数据库, 完全以 XML 相关技术为基础的数据库系统. 目前比较知名的 eXist.
3, 作为信息传递的载体. 为什么说是载体呢? 因为这些应用虽然还是以 XML 为基本形态, 但是都已经发展出具有特定意义的格式形态. 最典型的就是 web SERVICE, 将数据包装成 XML 来传递, 但是这里的 XML 已经有了特定的规格, 即 SOAP. 不过这里还不得不说 AJAX,AJAX 的应用中, 相信也有一部分的应用是以自定义 XML 为数据, 不过没有成为工业标准, 这里不做详述.
4, 应用程序的配置信息数据. 最典型的就是 J2EE 配置 WEB 服务器时用的 web.XML. 这个应用估计是很容易理解的了. 我们只要将需要的数据存入 XML, 然后在我们的应用程序运行载入, 根据不同的数据, 做相应的操作. 这里其实和应用 2, 有点类似, 所不同的在于, 数据库中的数据变化是个常态, 而配置信息往往是较为静态, 缺少变化的.
5, 其他一些文档的 XML 格式. 如 WORD,EXCEL 等.
6, 保存数据间的映射关系. 如 Hibernate.
这几种常见应用中, 我们还可以根据其应用广泛程度, 分为: 自定义 XML 和特定意义 XML. 在 1 和 2 就是属于自定义 XML 的范畴; 3 至 6 则属于特定意义 XML, 或者说是 XML 的延伸.
这里介绍的 6 种应用, 基本涵盖了 XML 的主要用途. 总之, XML 是一种抽象的语言, 它不如传统的程序语言那么具体. 要深入的认识它, 应该先从它的应用入手, 选择一种你需要的用途, 然后再学习如何使用.
来源: http://www.bubuko.com/infodetail-2590374.html