mathml解析引擎MathPlayer的缺陷

      “MathML‎(Mathematical Markup Language‎)即数学置标语言是一种基于XML的标准,用来在互联网上书写数学符号和公式的置标语言。它是由W3C的数学工作组提出的。语言规格1.01版于1999年7月公布,2.0版于2001年2月出现。W3C的数学工作组之后又在2003年10月发布了MathML的最终版——2.0第二版。”

 

     以上是百度中对MathML的介绍。目前mathml使用得比较广泛了,一般数学编辑软件中大部分都支持mathml。不过我认为在web上mathml还是有缺陷的。web版的数学公式编辑器中,可以输出mathml数据来保存数学公式,输不知道,在后台编辑器中,如何修改这个公式?用户编辑mathml的时候很不方便,用户比较习惯块状的编辑元素。     
       在IE浏览器中,安装了MathPlayer插件之后,一般是同过LaTeX输入数学公式,然后通过一个脚本将LaTeX转化成mathml代码,然后MathPlayer将mathml渲染成可读的数学公式。编辑LaTeX代码对于英语习惯国家也许比较方便,但是毕竟不直观,不适合初学者。本人曾看到某BBS采用在编辑状态下显示可视化的数学公式,是IE+Mathplayer,
是mathml在编辑状态下显示为单个数学公式,也不容易复制,粘贴,等操作,一不小心数据就会出错,很不友好。所以Mathml解析引擎最好将Mathml显示成容易编辑的块状,用户在浏览网页的时候看到某个公式可以复制下来。粘贴到目标网站。当然mathml也有个好处,数据容易共享。

     在目前的HTML标准下,本人有个初步方案,在需要显示数学公式的网页,用内嵌的iframe显示数学公式,iframe的src='about:blank'不会有多余的http请求,mathml数据是写入的。前台页面用户比较容易操作这个iframe,比较方便数据重用。 当然这个方案会有一些弊端。iframe的src='about:blank'会导致编辑的时候撤消操作的时候需要重新渲染,否则数学公式显示为空白。另外一个方案就是在编辑的时候显示为图片,在前台页面转化成mathml(在iframe中)用mathml引擎来渲染,可保证浏览打印清晰,用户编辑重用的时候可复制这些带数据的iframe,带数据的iframe被粘贴之后马上转化成图片,这样方便用户编辑操作。

     希望HTML标准越来越完善,也希望浏览器厂商很友好地支持数学公式编辑与显示。

你可能感兴趣的:(mathml解析引擎MathPlayer的缺陷)