标记语言,是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。与文本相关的其他信息(包括文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记进行标识。
标记语言不仅仅是一种语言。就像许多语言一样,它需要一个运行时环境,使其有用。提供运行时环境的元素称为用户代理。
标记语言通常可以分为三类:标识性的、过程性的以及描述性的。
标识性置标语言
1:“标识性置标语言” (外语:Presentational markup)是在编码过程中,标记文档的结构信息。
例如,在文本文件中, 文件的标题可能需要用特定的格式表示(居中,放大等),这样我们就需要标记文件的标题。字处理以及桌面出版产品有时候能够自动推断出这类的结构信息,但是绝大多数的,像Wiki这样的纯文本编辑器还不能解决这个问题。
过程性标识
2:“过程性置标语言”(外语:Procedural markup) 一般都专门于文字的表达,但通常对于文本编辑者可见,并且能够被软件依其出现顺序依次解读 。
为了格式化一个标题,在标题文本之前,会紧接着插入一系列的格式标识符,以指示计算机转换到居中的显示模式,同时加大及加粗字体。
在标题文本之后,会紧接缀上格式中止标识; 对于更高级的系统宏命令或者堆栈模式会让这一过程的实现方式更加丰富 。大多数情况下, 过程性置标能力包含有一个Turing-complete编程语言。
过程性置标语言的范例有:nroff, troff, TeX, Lout 以及 PostScript. 过程性置标语言被广泛应用在专业出版领域, 专业的出版商会根据要求使用不同的置标语言已达到出版要求.
3:描述性标记
“描述性的标记”——有时被称为逻辑标记或概念上的标记,鼓励作者编写的方式描述概念上,而非视觉上。
历史
“置标”这个词来源自传统出版业的“标记”一个手稿,也就是在原稿的边缘加注一些符号来指示打印上的要求。长久以来,这个工作都是由专门的“标记人”(外语:markup men )或“复制标记”(外语全称:copy markers[3] )以及校对人来进行,对原稿标志出使用什么样的字体,字型以及字号,然后再将原稿交给其他人进行手工的排版工作。
TeX
TeX是一个由美国电脑教授高德纳(Donald E. Knuth)编写的功能强大的排版软件。它在学术界十分流行,特别是数学、物理学和计算机科学界。
TeX被普遍认为是一个很好的排版工具,特别是在处理复杂的数学公式时。利用诸如是LaTeX等终端软件,TeX就能够排版出精美的文本。
标准通用标记语言
标准通用标记语言是一种专门的置标语言,被用作编写《牛津英语词典》的电子版本。由于它的复杂,导致难以普及。
超文本标记语言
超文本标记语言(标准通用标记语言下的一个应用、外语缩写:HTML)是为网页创建和其它可在网页浏览器中看到的信息设计的一种标记语言。
可扩展标记语言
可扩展标记语言(标准通用标记语言下的一个子集、外语缩写:XML),又称可扩展置标语言,是一种标记语言。置标指电脑所能理解的信息符号,通过此种标记,电脑之间可以处理包含各种信息的文章等。
XHTML
可延伸超文件标记语言(外语全称:Extensible HyperText Markup Language、外语缩写:XHTML),是一种标记语言,表现方式与超文本标记语言类似,不过语法上更加严格。
其他基于可扩展标记语言的应用
还有其他一些基于可扩展标记语言的应用,比如RDF、XForms、DocBook、SOAP以及“网络本体语言”(外语缩写:OWL)。
其他应用
XAML(外语:Extensible Application Markup Language),基于XML语言,在微软WPF(Windows Presentation Foundation)中使用。