浏览器内核引擎——SGML族语言

selt 2012-09-05

SGML(Standard Generalized Markup Language,标准通用标记语言,ISO/ANSI/ECMA的一个标准,一种用来注释文本文档,提供文档片断的类型信息的规范。 ),是一种定义电子文档结构和描述其内容的国际标准语言,是所有电子文档标记语言的起源,早在Web发明之前SGML就已存在。

SGML是1986年出版发布的一个信息管理方面的国际标准(ISO8879)。该标准定义独立于平台和应用的文本文档的格式、索引和链接信息,为用户提供一种类似于语法的机制,用来定义文档的结构和指示文档结构的标签。其中Markup的含义是指插入到文档中的标记。

标记分为两种:

   一种称为procedardmarkup,用来描述文档显示的样式;

   另一种称为descriptive markup,用来描述文档中的文字的用途。

制定SGML的基本思想是把文档的内容与样式分开。  SGML规定了在文档中嵌入描述标记的标准格式,指定了描述文档结构的标准方法,目前在WEB上使用的HTML格式便是使用固定标签集的一种SGML文档。由于SGML可以支持无数的文档结构类型,并且可以创建与特定的软硬件无关的文档,因此很容易与使用不同计算机系统的用户交换文档。

工作原理:

一个典型的文档可被分成3个层次:结构(structure)、内容(content)和样式(style)。SGML主要是处理结构和内容之间的关系。

(1)结构

为了描述文档的结构,SGML定义了一个称为“文档类型定义(DocumentTypeDefinition,DTD)”的文件(file),它为组织文档的文档元素(例如章和章标题,节和主题等)提供了一个框架。此外,DTD还为文档元素之间的相互关系制定了规则。例如,“章的标题必须是在章开始之后的第一个文档元素”,“每个列表至少要有两个项目”等。DTD定义的这些规则可以确保文档的一致性。

(2)内容

这里指的内容就是信息本身。内容包括信息名称(标题)、段落、项目列表和表格中的具体内容,具体的图形和声音等。确定内容在DTD结构中的位置的方法称为“加标签(tagging)”,而创建SGML文档实际上就是围绕内容插入相应的标签。这些标签就是给结构中的每一部分的开始和结束做标记。

优劣分析

使用SGML对多媒体的创作将带来许多好处。

首先,由于其规范性,它可以使创作人员更集中于内容的创作,可提高作品的重复使用性能、可移植性能以及共享性能。

其次,由于SGML的独立性,使得它在许多场合都有用武之地。

同XML相比,定义的功能很强大,缺点是SGML非常之复杂,其复杂程度对于网络上的日常应用简直不可思议。不仅如此,SGML非常昂贵

。还有最关键的一点,几个主要的浏览器厂商都明确拒绝支持SGML,这无疑是SGML在网上传播遇到的最大障碍。

使用领域

  SGML它从80年代初开始使用。正如XML一样,SGML也可用于创建成千上万的置标语言,它为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此在分类和索引数据中非常有用。目前,SGML多用于科技文献和政府办公文件中。例如,在超媒体和超文本文档、万维网页面的制作、数据库、电子邮件、专家系统、CD-ROM出版物、交互式电子技术手册等方面都大有用武之地

以下是外文翻译部分:有点哽塞,可参考上面理解

广义的标记建立在在以下两个假设的基础上:

标记应当被声明,它应当可以描述文档的结构和其他属性,而不是强调过程,声明的标记尽可能的减少与未来需求或技术的冲突;

标记应当是严格的以便于该技术可以用来处理严格定义的对象类程序,和方便的被数据库处理

标准版本:3个主要版本

OriginlSGML:在一个很小的技术性更正后与1986年10月被接受。

SGML(ENR):要添加允许任意语言和脚本语言的额外拓展命名在1996年做的技术性修改

SGML(ENR+wwworWebSGML):在1998年为了更好的支持XML和3W而做的技术性修改

文件的有效性:

根据修订后的条款和IS8879的定义,SGML(ENR+WWW)定义了两种有效期

符合SGML的文档必须是一个类型有效的或者标签有效的SGML文档,或者两者兼是,注意:用户可能希望执行额外的限制文件,文档实体是否一体式存储或者实体引用

类型有效的SGML:每一个文档实例有一个相关文档定义的DTD

标签有效的SGML:文档实例全部被标记,不需要相关文档的DTD

术语:

术语引入SGML(ENR+WWW)是为了支持文档没有被声明DOCTYPE但是可以被解析的XML,和有DOCTYPE声明但是没有XML贡献的文档,标准要求这个充分标记,整体存储反映在XML要求元素开始与结束在同一个实体中,无参考反映了实体引用特殊字符,并且不包含标记的HTML要求,SGML强调有效性,支持广义的标记,标记应严格求

语法:

SGML文档可能有三部分组成

1.SGML声明

2.序章,包含一个DOCTYPE声明,它们一起组成了一个文档类型定义的各种标记声明

3.该实例本身,包含一个最顶端的元素及其内容

SGML文档可以由许多实体(不连续的文本块)组成,在SGML中,实体和元素类型可以被指定一个DTD文档,不同的字符集,功能,分隔符集和关键字中指定的可以创建文件的具体语法SGML声明虽然完整的SGML允许隐式的标记和一些其他类型的标签,XML规范(s4.3.1):

每个XML文档同时具有逻辑和物理结构。在物理上,组成文件的单位称为实体,一个实体可以参考实体导致在文件中实体相互包含,文件以root或者根实体开始,在逻辑上,该文件由声明,元素,注释,字符引用和处理指令组成,所有

的这些都会明显的在文档中标记。

相关推荐

玫瑰余香000 / 0评论 2013-05-30