什么是置标语言? ---------------------- 我们日常书写的语言,被称为书面自然语言。如果在书面自然语言中为了标识某些信息,而加入一些标记,这种书面自然语言就可被称为置标语言(英语为:Markup Language)。比如在一段书面语言中,为了说明某一句话的重要,在这句话下面画上底划线。但是,我们在这里解释的置标语言,实际上是一种为了计算机处理而设计的置标语言,其中所用到的标记,往往使用代表一定含义的文字或数字表示。通常的做法是,根据需要,先定义一套助意的标记,然后将这套标记添加到书面语言中去,使书面语言变成置标语言。 例如,我们为了让计算机了解,一段书面语言中,那一部分是标题,那一部分是作者名,那一部分是正文,我们定义如下一套标记: <标题>、</标题>;<作者>、</作者>;<正文>、</正文> 那么,我们就可以将上面这段书面语言改写成置标语言: <标题>什么是置标语言?</标题> <作者>xml.net.cn</作者> <正文>我们日常书写的语言,被称为书面自然语言。… …</正文> 置标语言,不同于一般的控制流程序设计语言,基本上可以被视为是一种数据流的文档结构描述语言。在计算机处理过程中,置标语言的标记既可以作为数据,也可以作为控制语句来使用。 在计算机程序语言中,一般把一种语言的定义整体称为某某程序设计语言,而把用这种语言编写的文字段落,称为某某语言程序。套用这个习惯,我们把置标语言的定义整体称为某某置标语言,而把用这种置标语言编写的文字段落,称为某某语言文档。如果我们把上面定义的那套标记叫做"文章置标语言"的话,那么下面那段置标语言,就可称为"文章置标语言文档"。 ----------------------
什么是SGML? ---------------------- 从字面上看,SGML(Standard Generalized Markup Language--标准的通用置标语言)是一种置标语言,实际上它是一种通用的文档结构描述置标语言,主要用来定义文献模型的逻辑和物理类结构。SGML是ISO组织于1986年发布的ISO 8879国际标准。 一个SGML语言程序,要由三部分组成,即语法定义、文件类型定义(简称DTD--Definition Type Document)和文件实例。语法定义,定义了文件类型定义和文件实例的语法结构;文件类型定义,定义了文件实例的结构和组成结构的元素类型。文件实例是SGML语言程序的主体部分。 SGML的实际使用中,每一个特定的DTD都定义了一类文件。例如,所有的新闻稿件都可以使用同一个DTD。因此,人们习惯上把具有某一特定DTD的SGML语言,称为某某置标语言。例如用于国际互联网的HTML语言。这样SGML就成为那些派生语言的元语言。 ----------------------
什么是XML? ---------------------- XML是eXtensible Markup Language(可扩展的置标语言)的缩写,是W3C组织于1998年2月发布的标准。W3C组织制定XML标准的初衷是,定义一种互联网上交换数据的标准。W3C采取了简化SGML的策略,在SGML基础上,去掉语法定义部分,适当简化DTD部分,并增加了部分互联网的特殊成分。因此,XML也是一种置标语言,基本上是SGML的一个子集。因为XML也有DTD,所以XML也可以作为派生其它置标语言的元语言。 ---------------------- 什么是HTML? ---------------------- HTML是Hypertext Markup Language(超文本置标语言)的缩写,是SGML的一个实例,是W3C组织发布的标准,是专门为在互联网上发布信息而设计的置标语言。 ---------------------- XML、SGML、HTML之间是什么关系? ---------------------- HTML是SGML的一个实例,它的DTD作为标准被固定下来,因此,HTML不能作为定义其它置标语言的元语言。XML是SGML的一个子集,严格地讲,XML也还是SGML。与HTML不同的是,XML有DTD,因而也可以象SGML那样,作为元语言,来定义其它文件系统,或称其它置标语言。如果把置标语言分为元置标语言和实例置标语言的话,SGML和XML都是元置标语言,而HTML和由XML派生的XHTML都是实例置标语言。 ---------------------- XML的用途是什么? ---------------------- 在国际互联网上,服务器与服务器之间、服务器与浏览器之间有大量的数据需要交换,特别是在电子商务中。这些被交换的数据,都被要求对数据的内容和表现方式有所说明,用置标语言担当这个重任是再合适不过了。应该说SGML完全可以扮演这个国际互联网上数据交换标准语言的角色,然而由于SGML对互联网应用来讲太复杂了,因而需要一种即能象SGML那样作为元语言使用,又能比较简单地进行处理的置标语言,来担此重任。在这种背景下XML就应运而生了。因此在互联网世界XML的用途主要有两个,一是作为元置标语言,定义各种实例置标语言标准;二是作为标准交换语言,担负起描述交换数据的作用。 ---------------------- HTML已经这样流行了,为什么还要发展XML? ---------------------- 简单地讲,HTML不能完成,我们希望XML所要完成的任务。原因很简单,XML所要完成的任务,必须由元置标语言来完成,而HTML只是一个实例置标语言。 在XML发布之前,国际互联网的发展受到HTML如下几个问题的束缚: 1) HTML无法描述数据内容,而这一点恰恰是数据检索、电子商务所必须的。 2) HTML对数据表现的描述能力是十分不够的,如HTML还不能描述矢量图形、 科学符号等对象,目前只能通过图象来表现这些对象。 3) HTML实例置标语言的地位,完全不能适应对新标记需求的发展需要。 XML的出现,使上述问题都得到很好的解决。 ----------------------
XML怎样简化SGML? ---------------------- 为简单化SGML,XML重新定义了一些SGML的内部值和参数,并删去了大量繁杂的、不常用的、使编程复杂的特征(见http://www.w3.org/TR/NOTE-sgml-xml-971215)。 ---------------------- |