XML即为可扩展的标记语言(eXtensible Markup Language)。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。
XML是标记语言。理解XML,首先要理解标记。先说说HTML的标记(Markup),通俗地讲,它就是一种用来给文本添加标记的语言。在HTML里每个标志都是有确切含义的。例如,在HTML 中,标签〈B〉的含义是要求HTML浏览器将一段文本加粗表示,而标签〈CENTER〉的含义是告诉浏览器将这段文本在一行的中间显示。
而XML并非象HTML那样,提供了一组事先已经定义好了的标签,而是提供了一个标准,利用这个标准,你可以根据实际需要定义自己的新的置标语言,并为你的这个置标语言规定它特有的一套标签。准确的说,XML是一种源置标语言,它允许你根据它所提供的规则,制定各种各样的置标语言。
XML有两个先驱——SGML和HTML,这两个语言都是非常成功的标记语言,SGML的全称是标准通用化标记语言,它从80年代初开始使用。正如XML一样,SGML也可用于创建成千上万的标记语言,它为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此在分类和索引数据中非常有用。目前,SGML多用于科技文献和政府办公文件中。SGML 非常之复杂,其复杂程度对于网络上的日常应用简直不可思议。不仅如此,SGML非常昂贵。HTML免费、简单,而且它获得了广泛的支持。它是一个非常简单的SGML语言,可以方便普通人的使用。1996年人们开始致力于描述一个置标语言,它既具有SGML的强大功能和可扩展性,同时又具有HTML的简单性。W3C于1998年2月批准了XML的1.0版本,一个崭新而大有前途的语言诞生了。
1.XML允许各种不同的专业(如音乐、化学、数学等)开发与自己的特定领域有关的标记语言。这就使得该领域中的人们可以交换笔记、数据和信息,而不用担心接收端的人是否有特定的软件来创建数据。
2.XML具有较好的保值性.过去40年来的大多数计算机数据都丢失了,不是因为自然损害或是备份介质的磨损,而只是因为没有人来写出如何读取这些数据介质和格式的文档。以不常用的格式保存的二进制数据,数据也许会永远地消失了。XML在基本水平上使用的是非常简单的数据格式。可以用100%的纯ASCII文本来书写,也可以用几种其他定义好的格式来书写。ASCII文本是几乎不会"磨损"的。
3.应用间交换数据.由于XML是非专有的并易于阅读和编写,就使得它成为在不同的应用间交换数据的理想格式.XML使用的是非专有的格式,不受版权、专利、商业秘密或是其他种类的知识产权的限制。XML的功能是非常强大的,同时对于人类或是计算机程序来说,都容易阅读和编写。因而成为交换语言的首选。
此外,相对于HTML,XML具有先天的优越性。
为了自己的浏览器增加一些特殊的显示效果,HTML加入了一些特殊的标记。日益增多的标签不但使HTML越来越庞大,浏览器的开发越来越复杂,还降低了不同浏览器之间的兼容性。尽管HTML的标签越来越多,其显示力却还远远不够。如果你希望非常精确地表现一些你自己的数据,可能你需要一些现在在HTML中尚不存在的标签。现在HTML内部结构的条理性越来越差。你写的HTML文件,甚至是那些专门的所见即所得工具自动生成的HTML文件,可能在语法上会错误百出,不过没关系,浏览器照样能读它。
现在有了XML,你终于可以自由地制定你自己的置标语言,而不必再念念不忘微软、 Netscape、W3C的首肯了。实际上,现在许多行业、机构都利用XML定义了自己的置标语言。比较早而且比较典型的是下面两个实例:
- 化学置标语言CML (Chemistry Markup Language)
- 数学置标语言MathML (Mathematical Markup Language)
标记有三类意义:结构、语义和样式。结构将文档分成元素树。语义将单个的元素与外部的实际事物联系起来。而样式指定如何显示元素。
结构只是表达文档的形式,而不管单个标记和元素间的差别。它们都指定文档具有一个非空的基本元素。标记的不同名称没有结构上的意义。语义的意义存在于文档之外,在作者的心中或是读者或是某些生成或读取这些文件的计算机程序中。例如,理解HTML但不理解XML的Web浏览器,可能会将段落的意义赋给<P>和</P>标记。讲英语的人可能会比<FOO>和</FOO>或<P>或</P>更容易理解<GREETING>和</GREETING>或是 <DOCUMENT>和</DOCUMENT>的意义。
正如"美丽"的意义存在于观察者心中。自然地,使标记的名称能够尽可能反映其包含的意义更好一些。许多学科,如数学和化学正在创建该学科的工业标准和标记集。
可以与标记相联系的第三类意义是样式意义。样式意义指定标记的内容如何在计算机屏幕上或是其他输出设备上展示。样式意义说明特定的元素是否是用粗体、斜体、绿色的24磅的字体还是其他字体加以表示。计算机在理解样式时比理解语义意义要好一些。在XML中,样式意义是通过样式单来施加的。
xml文件包括三部分:XML声明、处理指示(可选)、XML元素。XML文档的一个基本要求是形式良好的(well formed),一个形式良好的XML文档要包含这三个部分。
形式良好的XML
为了使一个文档"形式良好",XML文档中的所有置标和字符数据必须遵守前几节中给出的规则。而且有几条关于如何把置标和字符数据相互联系起来的规则。这些规则总结如下:
- 文档的开始必须是XML声明。
- 含有数据的元素必须有起始标记和结束标记。
- 不含数据并且仅使用一个标记的元素必须以/>结束。
- 文档只能包含一个能够包含全部其他元素的元素。
- 元素只能嵌套不能重叠。
- 属性值必须加引号。
- 字符<和&只能用于起始标记和实体引用。
- 出现的实体引用只有&、<、>、'和"。
