一、xml产生的背景
xml同html一样,都来自standard generalized markup language, 即标准通用标记语言,简称sgml。早在web未发明之前,sgml就早已存在。正如它的名称所言,sgml是一种用标记来描述文档资料的通用语言,它包含了一系列的文档类型定义(简称dtd),dtd 中定义了标记的含义,因而 sgml 的语法是可以扩展的。sgml十分庞大,既不容易学,又不容易使用,在计算机上实现也十分困难。鉴于这些因素,web的发明者–欧洲核子物理研究中心的研究人员根据当时(1989年)计算机技术的能力,提出了html语言。
html只使用sgml中很小一部分标记,例如html 3.2定义了70种标记。为了便于在计算机上实现,html规定的标记是固定的,即html语法是不可扩展的,它不需包含dtd。html这种固定的语法使它易学易用,在计算机上开发 html的浏览器也十分容易。正是由于html的简单性,使 web 技术从计算机界走向全社会,走向千家万户,web的发展如日中天。
近年来,随着 web的应用越来越广泛和深入,人们渐渐觉得html不够用了,html过于简单的语法严重地阻碍了用它来表现复杂的形式。尽管html推出了一个又一个新版本,已经有了脚本、表格、帧等表达功能,但始终满足不了不断增长的需求。另一方面,这几年来计算机技术的发展也十分迅速,已经可以实现比当初发明创造html时复杂得多的web浏览器,所以开发一种新的web页面语言既是必要的,也是可能的。
有人建议直接使用sgml 作为web语言,这固然能解决html遇到的困难。但是sgml太庞大了,用户学习和使用不方便尚且不说,要全面实现sgml的浏览器就非常困难,于是自然会想到仅使用sgml的子集,使新的语言既方便使用又实现容易。正是在这种形势下,web标准化组织w3c建议使用一种精简的sgml版本–xml应运而生了。