XML:Extentsible Markup Language(可扩展标记语言)的缩 写,是用来定义其它语言的一种元语言,其前身是SGML(标准通用标记语言)。它没有标签集(tag set),也没有语法规则(grammatical rule),但 是它有句法规则(syntax rule)。任何XML文档对任何类型的应用以及正确 的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。 XML文档可以是有效的(valid),但并非一定要求有效。所谓有效文档是指其符合其文档类型定义(DTD)的文档。如果一个文档符合一个模式(schema)的规定 ,那么这个文档是"模式有效的(schema valid)"。XML是计算机系统之间交换数据的增长很快的标准,微软采用这种版权语言(或称标准)来描述微软许多应用程序的XML数据。正象HTML一样,可扩展置标语言XML(eXtensible Markup Language)也是一种置标语言。它同样依赖于描述简嫌陪一定规则的标签和能够读懂这些标签的应用处理工具来发挥它的强大功能。这一点,从XML的命名上也可窥见一斑。“关于此规范的正确题目,亦即XML的正确全名,应该是Extensible Markup Language, eXtensible Markup Language只不过是一个拼写错误罢了。但是,现在简写XML不仅正确,而且正如它在本规范的标题中一样,是Extensible Markup Language的官方名称。这个名称和简写是由James Clark最先提出的,其它可供选择的名称还包括小型标准置标语言MGML (Minimal Generalized Markup Language), 标准置标语言的小型结构MAGMA (Minimal Architecture For Generalized Markup Applications), 以及互联网置标结构语言SLIM (Structured Language for Internet Markup)。——Extensible Markup Language (XML) 1.0 Specs, The Annotated Version. ”从对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标记的简洁性并不重要(你不必再去费尽心机减少标记)。——Extensible Markup Language (XML) 1.0 Specs, The Annotated Version.”让我们来考虑一个非常简单的例子。如果我们需要定义一个新的置标语言,叫做FCLML(F_company s Client List Markup Language)——F公司的客户列表置标语言。这个语言应该定义一些标签来代表可联系的客户和有关他们的信息。这组标签很简单,它们的优点是代表了一定的语意。让我们回想一下上一节中这些信息在HTML中是如何用标签〈UL〉和〈LI〉表示的。与之相比,下面这一段代码,显然更加清晰易读:<联系人列表><联系人><姓名>张三姓名>001<公司>A公司公司>