語言介紹
數學置標語言,是一種基於XML的標準,用來在網際網路上書寫數學符號和公式的置標語言。它是由全球資訊網聯盟的數學工作組提出的。語言規格1.01版於1999年7月公布,2.0版於2001年2月出現。全球資訊網聯盟的數學工作組在2003年10月發布了MathML 2.0的第二版,之後又在2010年10月發布了MathML 3.0。
由於數學符號和公式的結構複雜且符號與符號之間存在多種邏輯關係,MathML的格式十分繁瑣。因此,大多數人都不會去手寫MathML,而是利用其它的工具來編寫,其中包括TeX到MathML的轉換器。主要的網頁瀏覽器中,最新版的Mozilla、Mozilla Firefox和Netscape Navigator都已經對MathML提供直接的支持,但Chrome卻又停止支持,原因是Google出於安全性的考慮。微軟的Internet Explorer在安裝了MathPlayer外掛程式後也可以識別MathML。此外,MathML還得到了一些辦公軟體的支持,如openoffice .org和Microsoft Office。
MathML是受XML的啟發在全球資訊網聯盟數學工作組的具體組織下產生的,作為XML定義的一種套用,它用標記的形式來表示數學表達式。用MathML形式 來描述數學表達式,不僅可以明確地表達數學內容,而且可以在Web的其它應用程式中實現再利用和轉換。MathML 標記的遞歸性和樹狀結構使得它在電腦程式的實現上更方便、簡單。MathML 使用文本的形式來描述數學表達式的樹形結構,克服了傳統的Web中使用圖片表達數學公式的缺點。
歷史
它是由W3C的數學工作組提出的。語言規格1.01版於1999年7月公布,2.0版於2001年2月出現。W3C的數學工作組在2003年10月發布了MathML 2.0的第二版, 之後又在2010年10月發布了MathML 3.0.
結構與語法
MathML十分類似HTML,但非常繁瑣。它繼承了角括弧和雙標籤(<標籤>內容</標籤>)的用法。
MathML不但規定數學式子的表現,而且也規定數學數字的含義(前者叫做“Presentation MathML”,後者叫做“Content MathML”)。由於數學式子的意義與表現是分離開的,如何交流內容留給了用戶。
Presentation MathML
表現形式的MathML,側重於如何顯示一個數學式子,大約有30個元素。元素名字全部以m開頭。
Content MathML
內容內涵的MathML,側重於表達式的語義,而不是布局。中間的 Content MathML 是用<apply>元素來表示功能的具體套用。被套用的功能的長子元素放在<apply>下,並且它的運算元或參數是剩下來的子元素, Content MathML 只有少許屬性。
標記類型
MathML由兩種基本獨立的標記組成:一種是表現型標記(Presentation Markup),用來描述數學公式的層次結構;另一種是內容型標記(Content Markup),用來描述數學公式的邏輯內容主要套用的是表現型標記,用它可以精確地控制一個表達式的外觀,如在瀏覽器中的顯示、或在列印紙上的列印樣式等。在MathML2.0規範中,表現型標記共有31個、50種屬性用於數學符號的編碼。