“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的缺陷相关推荐

  1. 赛高文字游戏解析引擎实现

    赛高文字游戏解析引擎实现 一.结构组成 TGEngine 的工程目录结构如下: 其中: Base 存放 TGEngine 共用的头文件 Models 存放游戏内容的相关 Model ,分为 DSL, ...

  2. sdcms的模板解析引擎,一个非常简单和实用的CMS

    代码 <% '============================== 'SDCMS模板解析引擎 'Author:IT平民 'Date:2009年4-5月 '================ ...

  3. CowNew开源-sql解析引擎和cownewsql阶段成果汇报

    很多关心CowNew的朋友纷纷给我发email或者qq留言,说看到最近CowNew开源项目没有动静了,问我是不是虎头蛇尾死掉了.谢谢大家的关心,CowNew没有停止进步的步伐,最近一段时间没有动静是因 ...

  4. 基于 Roslyn 实现一个简单的条件解析引擎

    基于 Roslyn 实现一个简单的条件解析引擎 Intro 最近在做一个勋章的服务,我们想定义一些勋章的获取条件,满足条件之后就给用户颁发一个勋章,定义条件的时候会定义需要哪些参数,参数的类型,获取勋 ...

  5. java jexl_一种表达式语言的解析引擎JEXL简单使用

    Jexl 是一个 Expression Language 的解析引擎, 是为了方便嵌入你的系统或者程序框架的开发中, 他算是实现了 JSTL 中 EL 的延伸版本. 不过也采用了一些 Velocity ...

  6. Sharding-JDBC 1.5.0.M1 正式发布,全新的 SQL 解析引擎

    经过了长达几个月的紧张开发,Sharding-JDBC 1.5.0.M1终于正式发布.Sharding-JDBC 1.5.0.M1版本是一次里程碑式升级,工作量巨大,Sharding-JDBC截止到1 ...

  7. 自己实现一个SQL解析引擎

    自己实现一个SQL解析引擎 功能:将用户输入的SQL语句序列转换为一个可运行的操作序列,并返回查询的结果集. SQL的解析引擎包含查询编译与查询优化和查询的执行,主要包含3个步骤: 查询分析: 制定逻 ...

  8. 继续来研究JScript解析引擎的GC问题

    昨天发现了一个可以引起IE的JScript解析引擎发生Memory Leak的bug,及其引起该bug的代码.后来问题男和Laser.NET两位网友给出了很多很有意义的讨论,当然ccBoy网友也给了不 ...

  9. 邮件解析引擎FastMail库大功告成!

    1          概述 邮件解析库API完全使用面向对象技术设计,使用C++语言开发的用于邮件解析和组装的库.它提供了一些类用来解析和组装Internet邮件,如MimeMessage和MimeB ...

  10. 邮件解析引擎FastMail库使用

    1          概述 邮件解析库API完全使用面向对象技术设计,使用C++语言开发的用于邮件解析和组装的库.它提供了一些类用来解析和组装Internet邮件,如MimeMessage和MimeB ...

最新文章

  1. window 远程访问本地centos/redhat虚拟机上jupter notebook 配置方法
  2. 洛谷 P1865 A % B Problem[筛素数/前缀和思想/区间质数个数]
  3. ios4--UIView的常见属性(尺寸和位置)
  4. 远程教育中教师能力特点分析(转载)
  5. lua metatable 和 _index 实验
  6. 网站搭建从零开始(六) WordPress的基本配置
  7. leetcode816. 模糊坐标
  8. JavaEE规范与系统结构
  9. Java-包、权限修饰符final、static
  10. 搭乘百度语音识别技术,录音啦识别率最高可达95%
  11. 《Java8实战》读书笔记
  12. 【笔记】《Java核心技术卷1(第11版)》-第1章-Java程序设计概述
  13. 斐讯k3c V1.7D frp升级
  14. ubuntu 下星际译王词典下载地址
  15. 三菱fx2n64mr说明书_三菱PLC模块FX3U-64MR/DS使用手册
  16. 微信降级adb备份android7.0,微信自动帮你更新7.0了?简单两步轻松降级
  17. java8新特性之stream
  18. 经济专业需要学c语言吗,学c语言要什么基础?
  19. java calculator类_java里使用面向对象的思想编写一个计算器类(Calculator),可以实现两个数的加、减、乘、除运算...
  20. 使用PDFLib生成PDF文档(C语言版)

热门文章

  1. 基于Matlab的自适应低通滤波器设计,课程设计-低通滤波器设计(含matlab程序)
  2. web开发excel文件上传及解析(上)
  3. win7 64位系统旗舰版ghost下载(附系统重装图文教程)
  4. 基于ffmpeg+SDL的加密视频播放器的开发(一)
  5. fread函数 linux在哪,fread函数返回值
  6. Python3下的WIFI密码爆破
  7. Python可视化——绘制折线图
  8. 汽车4S店经营状况分析
  9. 自制小型USB TO TTL串口工具
  10. 网校系统推荐eduline_语文哪个网校教得好