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 來呈現數學式,所以你必須指明你所喜好的方式 。這裡提供一個方法,這裡是透過一個屬於另一個名稱空間 ﹙name space﹚render 的屬性來達成的。例如:

<?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 的範例也有被提到。


W3C 數學工作小組。請將您的建議、問題與解決方法寄到 www-math@w3.org

$Id: Overview.html,v 1.17 2002/08/27 17:25:11 mf Exp $