数学标记语言 MathML 全解析
1. 数学表达式标记的发展与问题
从 20 世纪 80 年代至今,不少文字处理和图形应用程序具备了创建数学和科学表达式的能力,这些表达式通常会被转换为专有格式或图形格式(如 JPEG、GIF 或 TIFF)。然而,这些发展仅能实现视觉呈现,无法传达数学和科学表达式的潜在语义(即实际含义)。而且,早期的一些方法对于普通网页开发者和最终用户来说过于深奥和复杂。
因此,很多人选择使用商业文字处理器和图形应用程序将数学表达式创建为图形图像,再作为图形加载到网页中。但这种方法存在诸多缺点:
- 包含图像的页面在终端用户的浏览器中下载和显示速度慢。
- 图像显示在屏幕上时,可能效果不佳,尤其是位图图像不可缩放。
- 需要额外管理图形文件。
- 数学表达式传输和显示后无法进行操作,如无法复制粘贴、填充值和获取答案。
- 表达式的字体和格式固定,可能与终端用户的显示设置不匹配。
- 对于视障人士没有替代方案。
ISO 12083:1994 作为电子手稿准备和标记标准,仅描述了呈现语法的声明,但它是向集成呈现和语义标记迈出的重要一步。
2. W3C 与 MathML 的诞生
Web 和其他技术应用开发者一直在寻找一种数学表达式应用程序,既能促进底层数学的自动处理,又能清晰显示概念、常量和运算符。MathML 应运而生。
在 20 世纪 90 年代初,W3C 就认识到数学表达式表达存在的问题以及对科学交流更好支持的需求。1994 年,Dave Raggett 在 HTML 3.0 的工作草案中甚至包含了一个 HTML Math 提案。