巴别场

——分享有趣的数学    

订阅到鲜果 订阅到谷歌 订阅到抓虾 订阅到有道

MathML介绍

转载自  网络总结  作者:干豆  发布时间:2011-6-2


啥是MathML

要说MathML,先得知道XML,XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。

咳!最烦这些术语化的句式了,看的头都大了,还是通俗点说吧,如果你有一些数据,比如几个学生的语数外成绩:

姓名学号
语嫣S0140140140
大SJ10101010
阿SaJ11111 111

这些数据该怎么存放呢,通常我们都把他们作成表格,但是呢在电脑的磁盘里,不可能有类似表格的东西的,电脑只把一个文件写成一串符号,用一串符号怎么表示一张表格的内容呢?试想一想这个任务如果交给你,你会怎么做,也许你会把这张表逐行逐行得抄下来,就像这样:

姓名学号语数外语嫣S0140140140大SJ10101010阿SaJ11111111

这串字鬼看的懂!!第一个人名字到底是"语嫣"还是"嫣"?她的得分都是140分吗?第二个人名字是大还是"大S"?!!!……所以呢你必须给它断句,此外还得标注每个分数到底对应的是哪个科目!

姓名:语嫣,学号:S01,语:40,数:140,外:140;姓名:大S,学号:J10,语:101,数:0,外:10;姓名:阿Sa,学号:J11,语:111,数:,外:111.

这样就一目了然了,因为你使用了你自己定义的"标记语言",但是你自己定义的"标记语言"仍然会有很多漏洞,适用性也不强,你这么用,别人不这么用,最关键的计算机看不懂啊,于是"标准通用标记语言"出来了,它这么标记这组数据:

<成绩单>

<条目>

<姓名>语嫣</姓名> <学号>S01</学号><语>40</语><数>140</数><外>140</外>

</条目>

<条目>

<姓名>大S</姓名><学号>J10</学号><语>101</语><数>0</数><外>10</外>

</条目>

<条目>

<姓名>阿Sa</姓名><学号>J11</学号><语>111</语><数></数><外>111</外>

</条目>

</成绩单>

这样每一条数据都用<标签>和</标签>括起来,就基本上不会出现漏洞了,而且能适应更加复杂的数据。

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

MathML是啥样子的

对于一条数学公式 dy dx 它这么表示(为了防止MathJax程序执行公式转换,下面方框中的"<"和">"都已经被替换为"<"和">"。)

<math display='block'>

<semantics>

<mrow>

<mfrac>

<mrow>

<mi>d</mi><mi>y</mi>

</mrow>

<mrow>

<mi>d</mi><mi>x</mi>

</mrow>

</mfrac>

</mrow>

</semantics>

</math>

很复杂吧!更复杂点的:

i=1 n ( X i X ¯ ) 2

左键放大,右键公式,点击 "Show Source" 即可查看这条公式的MathML代码了!!不需要看得懂,只要知道就行,相比TeX,MathML更加有章可循,MathML代表了未来网络技术的发展方向,但毕竟TeX简洁得多,所以还是推荐大家在本网站用TeX而不要用MathML,W3C提供了多种不同方法可以将TeX转化为MathML,也提供了很多方法将TeX或MathML转化为公式呈现,对于IE用户,MathJax是我认为最方便的,不需要另外安装其他插件,而将公式编写成TeX或MathML的事只要交给软件MathType就行了。