`

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

阅读更多


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


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

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

工作原理:
  一个典型的文档可被分成3个层次:结构(structure)、内容(content)和样式(style)。SGML主要是处理结构和内容之间的关系。
(1) 结构
  为了描述文档的结构,SGML定义了一个称为“文档类型定义(Document Type Definition,DTD)”的文件(file),它为组织文档的文档元素(例如章和章标题,节和主题等)提供了一个框架。此外,DTD还为文档元素之间的相互关系制定了规则。例如,“章的标题必须是在章开始之后的第一个文档元素”,“每个列表至少要有两个项目”等。DTD定义的这些规则可以确保文档的一致性。
(2) 内容
  这里指的内容就是信息本身。内容包括信息名称(标题)、段落、项目列表和表格中的具体内容,具体的图形和声音等。确定内容在DTD结构中的位置的方法称为“加标签(tagging)”,而创建SGML文档实际上就是围绕内容插入相应的标签。这些标签就是给结构中的每一部分的开始和结束做标记。
优劣分析
    使用SGML对多媒体的创作将带来许多好处。
    首先,由于其规范性,它可以使创作人员更集中于内容的创作,可提高作品的重复使用性能、可移植性能以及共享性能。
    其次,由于SGML的独立性,使得它在许多场合都有用武之地。
    同XML相比,定义的功能很强大,缺点是SGML非常之复杂,其复杂程度对于网络上的日常应用简直不可思议。不仅如此,SGML非常昂贵

。还有最关键的一点,几个主要的浏览器厂商都明确拒绝支持SGML,这无疑是SGML在网上传播遇到的最大障碍。
使用领域
  SGML它从80年代初开始使用。正如XML一样,SGML也可用于创建成千上万的置标语言,它为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此在分类和索引数据中非常有用。目前,SGML多用于科技文献和政府办公文件中。例如,在超媒体和超文本文档、万维网页面的制作、数据库、电子邮件、专家系统、CD-ROM出版物、交互式电子技术手册等方面都大有用武之地

 

 

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

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

标记应当被声明,它应当可以描述文档的结构和其他属性,而不是强调过程,声明的标记尽可能的减少与未来需求或技术的冲突;
标记应当是严格的以便于该技术可以用来处理严格定义的对象类程序,和方便的被数据库处理

标准版本:3个主要版本
Originl SGML :在一个很小的技术性更正后与1986年10月被接受。
SGML(ENR):要添加允许任意语言和脚本语言的额外拓展命名在1996年做的技术性修改
SGML(ENR+www or WebSGML):在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或者根实体开始,在逻辑上,该文件由声明,元素,注释,字符引用和处理指令组成,所有
的这些都会明显的在文档中标记。

分享到:
评论

相关推荐

    网络世界的导航者——浏览器

    HTML(HyperText Markup Language)语言是互联网内容的基础,由CERN提出的SGML演变而来,旨在统一不同文件格式之间的交流。HTML通过标记符号(TAGs)来标注内容,定义其显示方式,如字体、颜色和布局。它的易学性和...

    HTML 35道面试题及答案.docx

    浏览器内核主要分为两部分:渲染引擎(Layout Engine 或 Rendering Engine)和 JS 引擎。渲染引擎负责取得网页的内容、整理讯息、计算网页的显示方式,然后输出至显示器或打印机。JS 引擎则负责解析和执行 ...

    web前端开发面试题汇总.doc

    * 浏览器内核主要分成两部分:渲染引擎(layout engineer 或 Rendering Engine)和 JS 引擎 * 渲染引擎负责取得网页的内容、整理讯息、计算网页的显示方式,然后输出至显示器或打印机 * JS 引擎负责解析和执行 ...

    web前端面试题及答案.pdf

    浏览器内核可以分为两部分:渲染引擎(Layout Engine)和 JS 引擎。渲染引擎负责取得网页的内容、整理讯息和计算网页的显示方式,然后输出至显示器或打印机。JS 引擎则负责解析和执行 JavaScript,以实现网页的动态...

    笔试面试题宝典(前端开发).pdf

    浏览器内核分为两部分:渲染引擎和JavaScript引擎。渲染引擎负责将HTML、XML等格式的文档渲染成可视化页面,而JavaScript引擎则负责执行JavaScript代码,实现网页的动态效果。现代浏览器内核包括Trident、Gecko、...

    xml sgml gml

    SGML是一种复杂的文档描述语言,用于定义文档结构,但在互联网上应用时,其复杂性成为了障碍。因此,XML应运而生,旨在提供一种更加轻量级、灵活且易于解析的语言。 XML的核心特性包括: 1. 可扩展性:XML允许用户...

    xml技术指南——————宝典

    XML(Extensible Markup Language)是一种用于标记数据的语言,它是SGML(Standard Generalized Markup Language)的简化版本,特别适合于在网络环境中使用。XML的设计目标是为了传输和存储数据,而非显示数据,这...

    xml中文帮助欢迎下载

    - **SGML的问题**:SGML虽然具备强大的功能和良好的扩展性,但由于其复杂的语法和高昂的成本,导致主流浏览器厂商不愿意支持这一语言。此外,SGML在互联网上的传播也因此受到了限制。 - **HTML的问题**:HTML则因其...

    前端面试题2(含答案)1

    1.14. 介绍一下你对浏览器内核的理解? 浏览器内核是解析和渲染网页的核心组件,负责解析 HTML、CSS 并将其转化为可操作的 DOM 树,然后根据 CSS 渲染页面。常见的内核有: - Blink(谷歌开发,Chrome、Opera 使用)...

    HTML基础

    3.1.1 标准通用标记语言——SGML SGML,即Standard Generalized Markup Language,是HTML的前身,它具有高度的稳定性和完整性,能够适应各种应用。然而,由于SGML的复杂性,使得它的实施成本较高,不易于普通用户...

    web前端面试题

    - **发展变化**: 最初渲染引擎和 JS 引擎没有明确划分,但随着技术的发展,JS 引擎逐渐变得独立,现代浏览器倾向于将渲染引擎视为主要内核。 #### 三、HTML5 新特性与兼容性处理 **7. HTML5 新特性与移除的元素** ...

    微浏览器技术详解

    ### 微浏览器技术详解 #### 一、微浏览器概述 微浏览器(MicroBrowser)是一种针对嵌入式系统设计的小型浏览器,主要用于信息家电、个人数字助理(PDA)等设备中。随着移动通信技术的发展,微浏览器也被广泛应用于...

    阿里前端面试题(第一期)1

    浏览器内核是浏览器的核心组件,负责解析网页内容,呈现视觉效果。常见的内核有: - Blink(由Google开发,用于Chrome、Opera等) - WebKit(Safari和旧版Edge的内核,现与Blink合并) - Gecko(Firefox的内核) - ...

    关于分析比较XML、HTML、SGML课题报告

    首先,SGML(Standard Generalized Markup Language,标准通用标记语言)是一种元语言,用于定义结构化文档的模式。它是XML和HTML的基础,但相对复杂,主要用于大型文档系统的标准化和数据交换。SGML定义了一种规范...

Global site tag (gtag.js) - Google Analytics