一、追根溯源(XML的产生)
1.1,SGML
@H_301_0@1969年,IBM的研究人员:Ed Mosher、 Ray Lorie、Charies F.Goldfarb发明了第一种标记语言——GML(Generalized Markup Languge,通用标记语言)。GML是一种资参考的语言,它可以用于标记任何数据集合的结构,同时它也是一种元语言(Meta-language),即能够描述其他语言及其语法和词汇表的语言。 @H_301_0@1974年,Goldfarb提出了在GML中实现的语法合法性分析器的概念,即在处理一个文档之前,先读取改文档的类型定义,然后由此检查标记语言使用的正确性,而不必实际处理这个文档。此后,GML发展成了SGML(Standard Generalized Markup Language,标准通用标记语言)。此后,在Goldfarb的带领下,SGML得到发展。 @H_301_0@1986年,SGML被国际标准化组织(ISO)接受为国际性的数据存储和交换的标准,收录在ISO-8897中。 @H_301_0@注意:标记,是一种传输元数据(机关与数据集本身的信息)的方法。标记语言,使用文字串或标记来界定和描述这些数据。标记文档的过程实际上就是标识出文档的某些部分具有特殊含义的过程。 @H_301_0@@H_301_0@SGML为了适应各种复杂应用的需求,在其成为国际标准时,已经变得异常庞大和错综复杂,它的复杂性及其实现 限制了它的用户范围,并没有得到普及。
1.2,HTML
@H_301_0@1989年,Tim BernersLee的研究人员提出,用超链接的文本文档实现在欧洲原子能研究所(CERN)内部的信息共享。在anders Berglund的建议下,Tim采用SGML形式的语法,他们从SGML的一种简单文档类型入手,开发出了一种超文本格式——HTML(Hypertext Markup language,超文本标记语言) @H_301_0@HTML的简易性和平台无关性,使得它的应用遍及WWW的各个角落。但是,随着网络应用的发展,HTML的简单易用的优点也逐渐成为它的缺点,表现在:1.2.1,HTML扩展困难
@H_301_0@HTML采用一部分GML思想,即文档表示应该标准化,所以它只使用了一个固定的元素类型集。它不能扩展,用户也不能在其中增加有意义的并能供他们使用的标记。1.2.2,HTML的交互性差
@H_301_0@频繁的请求处理使Web服务器不堪重负,以HTML作为数据标准,网络上的应用程序依赖服务器上CGI(公共网关接口)脚本来处理网页上的数据,这样的结构非常清晰,但HTML却使得服务器要处理的数据非常大,降低了处理效率。1.2.3,HTML的语义性差
@H_301_0@<H2>Apple</H2>,这条代码在网络浏览器上有特定的表现,但是HTML却没有告诉我们它到底是什么,水果、手机。。。。。。 @H_301_0@@H_301_0@其他表现:单项的超链接、缺乏对双字节或多国文字的支持。 @H_301_0@
1.3,XML
@H_301_0@1998年2月10日,W3C正式批准公布XML1.0标准,从此XML(eXtensible Markup Language,可扩展标记语言)诞生了。 @H_301_0@XML,是根据SGML制定出来,使用于标记电子文件使其具有结构性的语言。XML是SGML的一个子集,是一个精简的SGML,它将SGML的丰富功能与HTML的易学易用性结合到了Web的应用。 @H_301_0@二、XML的体系结构
@H_301_0@数据结构,命名空间。命名空间是用URL加以区别的,在XML文件的元素和属性中出现的所有名称的集合。 @H_301_0@解析XML,XSL样式表。对于一个XML文档来说,内容和表现形式是分开的,在XML中,可以通过两种方式来表现XML。其一:CSS(Cascading Style Sheets,层叠样式表);其二:XSL(eXtensible Style Language,可扩展样式语言)。XSL是将XML转换为HTML的手段,专用于XML。 @H_301_0@XML DOM(Document Object Model,文档对象模型)。DOM实际上是一个应用编程接口,用来定义一种标准方法。通过该方法,开发人员能够处理XML文档结构树中的元素,对象模型控制着用户如何同结构树交流,并且把所有树的元素作为对象暴露出来。 @H_301_0@@H_301_0@了解更多,请看博客:【HTML/XML 2】XML基础知识点总结 @H_301_0@
三、XML与SGML的比较
@H_301_0@XML是SGML的一个子集,所有的XML文档都是有效的SGML文档,但并不是所有的SGML文档,都是有效的XML文档。 @H_301_0@四、XML与HTML的比较
@H_301_0@HTML只是Web显示数据的通用方法,而XML提供了直接处理Web数据的通用方法。 @H_301_0@HTML着重描述Web页面的显示格式,而XML着重描述Web页面的内容。 @H_301_0@在外观上,HTML和XML差不多,但是XML却有着HTML文档无法比拟的语义性。注:XML文档可以转换为HTML文档。 @H_301_0@@H_301_0@注意:关于XML与HTML的比较,将在下一篇博客中,通过实例进行深入说明。 @H_301_0@