标准通用标记语言(以下简称“通用标言”),是一种定义
电子文档结构和描述其内容的
国际标准语言;通用标言为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此在
数据分类和索引中非常有用;是所有电子文档标记语言的起源,早在
万维网发明之前“通用标言”就已存在。
基本介绍
“通用标言”是1986年
国际标准化组织出版发布的一个信息管理方面的国际标准(
ISO 8879:1986 信息处理)。ISO/
ANSI/
ECMA的一个共同标准,一种用来注释
文本文档,提供文档片段的类型信息的规范。该标准定义独立于平台和应用的文本文档的格式、索引和链接信息,为用户提供一种类似于语法的机制,用来定义文档的结构和指示文档结构的标签。其中“标记”的含义是指插入到文档中的标记。
标记分为两种:一种称为“程序性的标记”,用来描述文档显示的样式;另一种称为“描述性标记”,用来描述文档中的文字的用途。制定“通用标言”的基本思想是把文档的内容与样式分开。
“通用标言”的先驱和基础是“IBM
通用标记语言”,“通用标言”是当今创建
结构化文档描述语言规则的战略集合。很多网络页面是用
超级文本标记表示出的,就是使用“IBM通用标记语言”概念创建文档的例子。
可扩展标记语言也根源于“IBM通用标记语言”。
除了“通用标言”的标准套之外,最终还将包括:“通用标言”文件交换格式、文档样式语义和规范语言、标准页面描述语言、文字描述和处理语言的一个参考模型、字体和字符信息交换标准、以及一套标准字体。
其它俗称
标准通用置标语言、标准通用标注语言、标准通用标志语言、标准通用
标识(或
标示)语言、标准通用化标记语言。
优劣点
一、优点
“通用标言”的ISO 8879是国际标准规范,所以可信度相当高,其规范结构也相当的严谨,此外“通用标言”已使用二十几年了,且自1996以来“通用标言”的规范几乎是未曾变更过,所以“通用标言”是相当成熟的一种通用性标记语言。
“通用标言”的文件可以跨平台使用,如可以在不同的计算机硬件或操作系统上被使用,甚至可以被不同的应用软件来使用,因为“通用标言”是一种高稳定性的
国际标准,加上已使用二十几年,所以支持其格式的应用软件与相关数据转换技术就多,所以“通用标言”的文件可以在各应用领域中被广泛采用,当然其可携性相对就可以提高。
制定“通用标言”时就考虑须满足广泛的使用者,所以其规范制定得相当完整,可以满足不同应用领域使用者的需求,且与“通用标言”搭配使用的家族如HyTime与文档样式语义和规范语言也都是国际标准,如HyTime符合ISO/IEC 10744的标准,主要功能是描述动态文件的一种语言,而文档样式语义和规范语言符合ISO/IEC 10179的标准,其制定目标有两个,一为制定“通用标言”文件显示时的样本形式,另一个是有转换语言的功能。
二、劣点
以上所述提到的“通用标言”有高稳定性与完整性的优点,这可使得“通用标言”可以适用在各类应用领域,但这相对的也是“通用标言”致命的缺点。
由于“通用标言”的高度完整性与稳定性,相对的其复杂性也高,这一点可以说是“通用标言”的主要缺陷,如果使用“通用标言”语法规范来制定DTD中的元素、属性与内容实体,可能需要花上数年的时间才能完全了解其中的标准,可见整个“通用标言”系统是过于完善而变成复杂。
不止“通用标言”本身复杂,连同要开发“通用标言”相关软件也变得复杂,就开发“通用标言”剖析器而言,用来检查“通用标言”文件中的控制标记与格式,使用C++(一套利用更基础的编程语言开发的“面向对象的高级编程语言”)来撰写都得花上几万行以上。
从“通用标言”的高复杂性,其相对衍生出来的就是高费用,先前也提过“通用标言”通常被大企业应用在大量的数据上,在“通用标言”被应用之前必需先制定其文件格式定义DTD,以供使用者能遵循这个DTD中定义的文件结构,但其应用的文件数据通常是复杂的,所以制定该DTD也需花长时间才能完成,所以开发能适用的DTD的费用足相当昂贵的。
其次,由于“通用标言”的独立性,使得通用标言在许多场合都有用武之地。同
可扩展标记语言相比,定义的功能很强大,缺点是通用标言不适用于万维网数据描述,而且“通用标言”的软件价格非常昂贵。
版本情况
“通用标言”最标准的三个版本如下:
观点
有观点建议“通用标言”的注释应如何格式化,而不是作为一种语言。
于是提出如下设计:
百度百科/ 词条=标准通用标记语言;
百度百科(词条=标准通用标记语言)
语言特点
通用标言是一种描述语言的语言,通用标言定义了以电子形式表示文本的方法。它的特点有:
“通用标言”规定了在文档中嵌入描述标记的标准格式,指定了描述文档结构的标准方法,目前在万维网上使用的超级文本标记语言格式便是使用固定标签集的一种“通用标言”文档。用于“通用标言”可以支持无数的文档结构类型,并且可以创建与特定的软硬件无关的文档,因此很容易与使用不同计算机系统的用户交换文档。
样式
“通用标言”本身正在定义样式的设置标准,即文档样式
语义学和规范语言。
使用“通用标言”对多媒体的创作将带来许多好处。首先,由于其
规范性,通用标言可以使创作人员更集中于内容的创作,可提高作品的重复使用性能、可移植性能以及共享性能。例如,可使创作人员更集中于内容的创作,可提高作品的重复使用性能、可移植性能以及共享性能等;“通用标言”的使用范围很广,除了传统的
电子出版物之外,“通用标言”还可用在其他许多场合。例如,前面介绍的
超媒体和
超文本文档、
万维网页面的制作、数据库、电子邮件、
专家系统、激光唱片-只读存储器出版物、交互式电子技术手册等方面都大有用武之地。
文件描述
有效性
以下为与“有效性检查”的定义
组成
一个典型的文档可被分成三个层次:文档类型结构、实例本身和样式。
“通用标言”主要是处理结构和内容之间的关系,通用标言的文档是由许多实体(“文档类型定义”加“通用标言声明”它们都为离散的文本块)来组成。
一份“通用标言”文档可能有三部分组成:
一、“通用标言”声明:定义字符集分隔符集和关键字(以下在本文里头简称“声明”)。
二、文档类型序言:定义一般实体和元素类型;包含一个“!文档类型(外语全称加缩写:
!DOCTYPE)声明”与各种“标记声明”,它们一起组成了一个文档类型定义(外语
首字母缩略词:
DTD)。
三、某实例本身:包含一个顶级元素和实例的内容。
标记类型
描述性
描述性标记解放了文件用于多种用途。并分为结构化描述性标记与名义上的
描述性标记。描述性结构化的标记标识文档组件和它们的逻辑关系。
程序性
“程序性的标记”的特点通过进一步的限制,到目前为止所有程序标记一直是专有的。例如,WordPerfect、WPS上创建的文档无法在
Microsoft Word、
OpenOffice处理。
声明
八部分组成:
七、特点使用:这是一项可选的特性用于修改标记,典型的特点比如“省略标签”、“短引用”等,接下文中会提到;(汉语名:特点、外语代码:FEATURES)。
八、应用程序特定信息:特定于某应用程序的信息(用双引号来描述),“通用标言”解析器要把双引号里头的数据传递给某应用程序;(汉语缩写:程序信息、外语全称加缩写代码:APPINFO)。
范例一:
范例二:
补充文件
“补充文件”是指“通用标言”的“头信息”,优先使用外部的“通用标言”标记放在一个辅助输出文件;就像AMD的计算机
中央处理器里头的任务优先级寄存器八号控制寄存器(外语
首字母缩略词:CR8)来传递参数时优先使用
外部中断。
终端变量
语法:(和现代众多操作系统都在使用的核心模式、从硬件上支持了虚拟内存储管理和多任务的计算机中央
处理器模式、保护“其他”程序段的模式保护模式中的内存储器空间分段边界单位
颗粒度标记类似,指明数量,确定数量内容及多与少。)
变量名[生产数量]{定位器}{定位器}
百度百科词条里头的实体{6.2, 296:5}
终端常量
和上述“终端变量”使用同样的制式,其作用基本等同。
语法
元素语法
实际例子:
以下必须启用“声明”里头的相关功能。如果在有些版本的“通用标言”里头没有相关的
功能命令(比如没有“短引用”),那么就不能实现文中所提到的短引用。
短引用(引用短实体分隔符)标签可以被替换为定界符字符串。
“短引用”外语全称加缩写代码:(SHORTREF)。
例如在Creole里头它就是借用了“短引用”的概念,它里头的标题开始标签和标题结束标签都是(==)、加粗标签都是(**)。
二、短标记
实际例子:
一个特点:“自以为是的空标签”。 例如空结束标记>在<元素><附属元素>逢二进一>元素>里头。“继承”它的值是从最近的完整开始标记起。在本例中,是<附属元素>(也可以说它会关闭离它最近打开的项目)。这样的表达是等价于<元素><附属元素>逢二进一附属元素>元素>。外语代码:(SHORTTAG)。
三、没有结束标签
实际例子:
它的结构相当于
外语缩写:(NET)。
四、话的结尾不打尾标记
如果要利用此功能要将“声明”里头的“省略标签”处于“是”的打开状态。外语代码(全部):OMITTAG YES;当然再结合文档类型定义里头的“!元素”表示开始或结束标签是不是允许被忽略(- -、- O、O O)。“连字符”指示标记是必需的存在的、
外国语O大写或小写均可。直译为中文(- 略、- -、略 略)。而且目标元素在文档类型定义里没带(#必要)外国语#REQUIRED属性(该属性表示在文档实例中必须为目标元素的属性提供一个值)所以综合上述被定义的标签可以明确上下文。
将文件类型定义里头写如下:
那么则表示为如下所述:
注意,若像这样:
加个与“省略标签”不相关的“空”(外语代码:EMPTY)时(其声明它的内容是“空”的),而且结束标记被忽略,那么在“通用标言”里头此句话就是一条无效标记。在这方面语法不同于
可扩展标记语言里头的“空”元素。
注释语法
以下一、二、注释的效果同高级编程语言C语言注释一样,利用开始标记/*和结束标记*/来进行多行注释。
比如:
三、空注释,建设是被忽略的,可用于各种不同的目的(比如机器指令中无或隐含操作数的
零地址指令用于其它的目的)。
其它语法特点
“短标记”、“空结束标记启用(外语全称加缩写:NETENABL)”、“即时空结束标记(外语全称加缩写:IMMEDNET)”,特性允许缩短标签但需围绕一个空的文本值,但禁止缩短完整的标签:
<表示法>表示法>可以写为:<表示法//
其中,第一个斜杠代表“空结束标记启用的关闭开始标记”;第二个斜杠代表空结束标记。
注意:
可扩展标记语言定义“空结束标记启用的关闭开始标记”需带一个/(左斜杠),“空结束标记”需带一个>(尖括号)。因此同等的结构在可扩展标记语言里头则显示为<表示法/>。
文本在同一行之上:
允许一个标记项目不需尾标记在行结束(特别适用于标题等)。当然需要最小化标签无论是“短引用”或“数据标记”。
然后第三个特征是,在同一行上的文本: 要么使用“短引用”(
外国语缩写代码SHORTREF)或“数据标签”(外语代码DATATAG)来达到最小化的目的:
在具体的的语法里头,引;短;是一个“短参考”分隔符。
等同于:
定义
本国际标准(“通用标言”)应用以下定义:
标准体系
相关
派生
部分相关
实际应用
以下简要说明“通用标言”的结构化信息处理与数据交换在一般行业的应用: