MathML inside!

用 MathML 将数学放上网路

这份纪录说明如何将 MathML 置入网页,使得目前被广泛使用的浏览器可以顺利的看到这些数学内容。此外,它也将告诉你如何调整你的浏览器的设定使它们可以显示 MathML。目前常被用来产生网页的浏览器与搭配的外挂程序入下:

你可以浏览 MathML 范例简单示范,或是 MathML 进阶网页 (这个网页可能需要多等一些时间) 来测试你的浏览器。

它是为那些希望将数学公式置入网页的网站内容作者,以及想要读这样内容的人所作的。

更多有关为什么与如何做的详细技术内容 可以参考 MathML 的 XSLT 样式表介绍 stylesheets for MathML,此外,你也可以参考大卫.克来尔在 MathML 研讨会里面演说的投影片

在网页里面置入 MathML

为了尽可能的让所有的平台都可以正常的显示,每一份文件最好都要符合下列的规则。值得注意的是如果你使用遵循 W3C 标准的编辑软体例如: amyma,这些规则都会自动完成。

1、用 XHTML 建立一个内建 MathML(inlined MathML)的网页

网页应该使用 XHTML ,内建 MathML 标签,如同下面的例子:

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>...</head>
  <body>

    <h1>Example</h1>
    ....
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <mi>x</mi><mo>+</mo><mn>3</mn>

    </math>
  </body>
</html>

这些 MathML 标记不是在一个 <object> 标签内,或是 <embed> 标签里面的外部独立档案连结,。

2. 加入样式表

下面一行字 (粗体字) 必须被插入到 XHTML 网页一开始,起始的 <html> 标签之前,XML 的宣告 <?xml...?> 之后 (如果有的话):

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://www.w3.org/Math/XSL/mathml.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml">

...

这在大部分的情况下都可以成立 (不过 Internet Explorer 不行:因为为了安全性的理由,在IE 上并不允许执行另一个伺服器上的 XSLT 样式表,就像 XHTML+MathML 的文件。遇到这样的情况,你可以依照底下的「离线状态 (off-line)」说明来解决。你也可以参考文件结尾有关 IE 安全性问题的更多信息。) 你可以二选一:

这些就是所要知道的。底下是更进一步的信息

喜好设定

因为浏览器并不是非得利用某一种方法来呈现 MathML 标签不可 (例如:IE 不仅可以用 techexplore plug-in 也可以用 CSS 来呈现数学式),所以它提供一个喜好设定的方法,这是透过renderer 的属性来达成的,它属于另一个名称空间 (name space) 。例如:

<?xml-stylesheet type="text/xsl" href="pmathml.xsl"?>

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:pref="http://www.w3.org/2002/Math/preference"
      pref:renderer="css">
<head>...</head>
<body>...</body>
</html>

清楚的指名要用 CSS 来呈现这一页的。 renderer 的值有:

Microsoft Internet Explorer 安全考虑

按照预设值,如果 XSLT 样式表与一份文件没有被放置在同一部伺服器 (server)上,Internet Explore 是不允许使用 XSLT 样式表的。因此,使用

<?xml-stylesheet type="text/xsl"href="http://www.w3.org/Math/XSL/mathml.xsl"?>

是没有作用的。替代的方法是你必须将样式表复制到文件放置的伺服器(server)上,另一个做法是修改 Internet Explore 的安全设定。但是我们不建议你如此做,因为它会影响范围包括所有的浏览行为,不单单只有在使用这种样式表时。

MathML 会议简报

这份是在第二届国际 MathML 会议 (2nd International MathML Conference) 报告时用的样式表。 这份报告是 一系列样式表的例子,这些样式表的例子是以浏览器「全萤幕」模式设计。在这份简报发表时,我们用 IE6.0,Mozilla 1.0,Amaya 6.1和 Netscape 7.0PR1 每一个浏览器来观看这些例子。

除了MathML 之外,一些从样式表延伸到到 SVG 的范例也有被提到。

原文位址 (The URL of the original):http://www.w3.org/Math/XSL/


W3C 数学工作小组。请将您的建议、问题与解决方法寄到 www-math@w3.org

$Id: Overview-Chinese.html,v 1.19 2003/08/22 16:34:26 mf Exp $