基于MathML的在Web上表示和传输数学公式的方法
- 格式:pdf
- 大小:169.56 KB
- 文档页数:3
2006年5月 西安邮电学院学报 May.2006 第1l卷第3期 JOURNAL OF XI’AN UNIVERSITY OF POST AND TELECOMMUNICATIONS Vo1.11 No.3
基于MathML的在Web上表示
和传输数学公式的方法
崔梦天 ,赵海军2
(1 四川邮电职业技术学院计算机科学与管理系,四川成都610067;2 西华师范大学计算机学院,四川南充637000)
摘要:针对当前网络上数学公式实现方案的缺陷,提出了基于MathML的Web上数学公式的具体实现方法,包括 如何对复杂的数学公式输入、显示、修改,以厦如何实现数学公式的存储、发布和传输处理等。用该方法实现网络 数学公式的问题是有效的。 关键词:MathML;数学公式;XML;Mathplayer;XSI 中图分类号:TP368 5 文献标识码:A 文章编号:1007—3264(2006)03—0067—03
1传统的网上数学公式实现方法
网络公式传输系统是网络系统的一个方面。网
络公式的表达与传输是网络系统的一个关键问题。
Internet已经进入超媒体时代,但是要在HTML的
网页中进行数学表达式的传输及存储、发布等处理
一直是非常困难的。目前,解决网上数学公式问题
的通常做法是在基于HTML的Web中大多先把表 达式转换为图像方式。但这种静态的图像形式给数
学表达式的处理带来许多不便,如图像占用存储空 间过大,造成下载时间过长;图像缺乏灵活性和扩展
性;不利于资源的复用;解析度较低,使公式的清晰
性进一步降低。另外,图片形式的数学公式不能进
行查找和索引,更没有语义,很难进行控制和信息处
理。
在网页中显示数学公式的方法还有Java ap—
plet,Latex,PDF等,但都不能从根本上解决数学公
式的表示、传输和查询问题。即网络中的搜索和索
引等问题,而且对客户端的操作系统和浏览器的类
型要求较高,无法实现对已有数学表达式的修改、重
用。
针对这一现状,本文提出一个利用MathML (Mathematical Markup Language)和XML作为描述
语言,将数学表达式的显示和处理嵌入Web页面中
的方案。
2基于MathML的数学公式的实现
技术——构建HTML+MathML
砸厶 _t_口
MathML是基于XML技术实现的,用于表示 公式的一种可扩展性标记语言。MathML可以对公
式进行准确地表述而只需要很少的字节,占用很小
的存储空间。利用MathML的这种特性,可以实现
高效的公式建立、网络传输和公式再现。遵循
MathML语法建立的MathML文件,可以借助特定
的软件进行编排和处理。由于这种文件可以按标准
AScI1文本形式存放,所以可以手工编辑。
MathMI 的研究,是针对当前的网络系统而进行的。
W3C发布的XMI 是一种元语言,可以让信息提供
者根据需要,自行定义符号及其属性。其元语言自
定义的特点是,可以实现公式表述的扩展、使应用程
序对文件进行嵌套,从而轻易地描述任意复杂的公
式。XML的这种强大的数据描述功能给数学表达
式的网络处理带来了极大的可能性。在我们开发的
收稿日期:2005—09—17 作者简介:崔梦天(1972一),女,内蒙古乌兰浩特人,四川邮电职业技术学院计算机科学与管理系讲师 , 赵海军(1966一),男,四川广安人,西华师范大学计算机学院讲师。
维普资讯 http://www.cqvip.com ・68・ 西安邮 电 学 院学报 2006年5月
基于Web的高等教育远程教学系统中,实现了基于 XML的数学表达式的上传、存储、检索以及发布等
功能。
3 MathML的一个实际例子
MathML类似HTML,它的标记语言包括两部 分:内容标记,用来作为数学表达式的基本的数学结
构编码;表现标记,它关注数学公式的表现,而不关
注其语义。 为了说明MathML的应用,下面用一个小例子 来说明。对于数学表达式: ,写成的含MathML
的网页代码为:
<math>
<mFOW> <mroot>
<mrow>
<mi>X</mi> </mrow>
<mFOW>
<mR>3</mn>
</mrow>
</mroot> </mrow>
</math> 通过对比得出:由JPEG格式图片生成的这个
数学表达式的网页大小为1324个字节,并有两个文 件,由MathML写成的这个数学表达式的网页大小
只有413个字节。此外,对于JPEG图片修改不方
便,而对于MathML内容的修改是非常方便和容
易。
4构建HTML+MathML平台的步
骤
基于MathML的数学公式的实现技术,实际上
是通过构建HTML十MathML平台来实现的。具
体步骤如下:
(1)采用了MathPlayer技术解析MathML
目前,IE不支持MathML,这样IE上需要装一
个插件MathPlayer才能正确解释MathML语句。
MathPlayer能将每一个由MathML描述的数学方
程或公式转换为一个IE能处理的对象。该软件要 求IE版本在5.5以上。 (2)同时,在(body)标签之前加上如下代码以调 用MathPlayer显示插件
/object id=“MathPlayer”
classid=“clsid:32F66A20—7614—11I34一BD11— 00104BD3 87”)
(/object)
(?import name_apace=“m”implementation=“# MathPlayer”?) (3)调用通用MathML样式表
一般说来,不同的显示渲染技术需要一些“线索 代码”clue code)来通知浏览器如何处理文档中包
含的方程式。“线索代码”通常由作者给出,这样做
虽然有些效果,但无疑增加了作者的负担,因为作者 不了解读者的显示环境。
HTML十MathML给出的一种解决方案是,以
一种标准的途径给出文档的显示样式表的描述。这 种描述样式表的语言就是XSL(eXtensible
Stylesheet L舯guage)。XSL能发现并判断阅读文档
的是什么浏览器,以及系统中安装了什么样的显示 渲染组件。这样一来,文档的作者就无需考虑怎样
给出“线索代码”以用来激活相应的组件显示数学方
程。具体使用直接在网页头部声明加上XML文
件。代码如下:
(?xml version=“1.0”?) //XML文件声明 (?xml—style sheet type=“text/xsl”href=http//
w、^兀Ⅳ.w3.org/Math/XSL/MathML.xsl?)//XSL文 件 (html xmlns:m=http:/ ^n^nⅣ.w3.org/1999/ xhtm1)//使用XHTM[
……//然后在文档中就可以加入下面代
码: (m-,math xmlns=“http://、^n^nⅣ.w3.org/1998/ Math/MathML”)
(/m:math)
如果是脱机状态下,当前目录(或相对路径)应
至少包含MathML.xsl,pMathML.xsl和ctop.xsl等
三个转换文件(其中pMathMLcss.xsl并不是必须
的),如果缺少了某个文件,对MathML的解析将失
效。 (4)调用第三方软件自动生成MathMl 语言
数学表达式是非常复杂的,如前面提到的用
MathML语言表达 所示,一个很简单的公式也
将涉及许许多多的XMI 的t
ag,所以直接书写 维普资讯 http://www.cqvip.com 第3期 崔梦天等:基于MathML的在web上表示和传榆数学公式的方法 ・69・
XML源码几乎是不可能实际应用的。MathType是
一套为MathML提供写作和编辑工具的Java小程
序。其基本界面是方程编辑器(EquationEditor),其
编辑数学公式的过程与Microsoft Equation大同小
异,操作极为简单,可以直接复制到Web中使用。
这里,需要设置mathtype生成的源码,使设置
m nameplace。所有标签都改为在一个名字空间里,
图1带有数学公式的网页自动调用公式插件的界面
5 结束语
本论文提出了基于MathML的Web上数学公
式的具体实现方法。该方法能解决基于图像处理所
带来的问题,使数学内容和普通文本一样在浏览器 上显示出来,事实证明,该方法是先进的高效的
Web数学表达方法。
参考文献
[1]崔梦天.通用多媒体在线考试系统的研究与实现.硕士 这样才能让IE去启动Mathtype。详细的说,就是
把源码中的文件里所有(都改为m:(文件开头的两 个#include语句中的不能改),把所有的( 改为
(/m:
图1和图2分别为本人开发的在线考试系统中
的两个界面。
图2鼠标点网络页面试题中的数学公式时的界面 毕业论文. [2]崔梦天,张世禄.基于分布式电子影像档案管理系统的 模式开发探讨[J].情报杂志,2005(1):18—21. [3]MathML http:/ Ⅳww.w3.org/Math l4]Halc,Chris Howlet.Client—Sexver Communication Standards for Mathematical Computation, [5] [美]Didier Mam等著.李品等译.XML高级编程[M]. 北京:机械工业出版社。2001. [6]Xuehong Li,XML and the Communication of Mathemat. icalObjects.
Methods to resolve mathematical equation for MathML。——based Web
CUI Meng—tian ,ZHAO Hai-jun2
(1.Dept.of Computer Science and Management,Sichuan Post and Telecommunication College,Chengdu 610067,China; 2.Computer College,China West Normal University,Nanchong,637000,China)
Abstract:Considering the shortcomings of traditional method for resolving mathematical equation on web at pre—
sent,in this paper,a new method based on MathML is proposed to solve the problem of mathematical equation’
S input,display,modification,store,publish and transportion.We show the effectiveness of the proposed
method for proce ̄ing mathematical equation on web.