XMLtermproject:AStudyonMat…

前端之家收集整理的这篇文章主要介绍了XMLtermproject:AStudyonMat…前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


XML term project: A Study on MathML

Member

  • 系級:資管四
  • 學號:B94705022
  • 姓名:呂明龍

Motivation

不管是在編寫有關數學式子的文件,或是網頁上想表達數學的符號,通常我會選擇用相似的符號來取代,或是用拼音的方式,如用pi來表示圓周率,但這樣子做的結果就是整個數學式看起來不美觀,沒辦法直接就看出想表達的意思,而且若遷就使用相似符號來替代,反倒要在排版上花心思,沒辦法專注在原本文件、網頁的編寫。

Donald E. Knuth 教授就為了書商在出版他的書時數學式子排的太難看了,於是決定自行開發一個非常適合排數學式子的排版語言,這就是 TeX 系統。而 LaTeX 則是在 TeX 之上開發的巨集組,將常用到的功能定義出來,之後直接引用巨集編寫起來才比較方便。

但是如果是在編寫網頁的話,有個語言更好用:那就是 W3C 組織規範的 MathML(Mathematical Markup Language)。

Introduction

MathML,全名 Mathematical Markup Language ,是 W3C 在 2003/10/21 發布的標記語言,目前版本為 2.0,3.0 還在草稿中。

概念上正如同名稱所顯示,以標籤的方式注明文件中有關數學式子的部分,編寫者只要專注在文件內容的撰寫,不必額外花心思考慮排版的問題。然而對於複雜的數學式的處理會產生許多複雜的標記的情況,直接查看文件會有無法直觀辨認出表達的數學式的問題,撰寫文件者也必須額外學習如何使用 MathML,相對避開排版問題的好處,以上所述的不便也是必須考慮的。就使用方便性來說,MS WINDOWS 的使用者使用 MS OFFICE 的方程式編輯器會來的方便;但若是考慮跨平台的文件的撰寫,則 MathML 佔較大的優勢。

Use MathML easily

接著在介紹 MathML 的詳細內容之前先示範如何撰寫一份含有 MathML 的文件,將文件撰寫成如下的形式:(可參考sample1.xhtml)

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">     <head>  <title>MathML's Hello Square</title>  </head>    <body>    <p> This is a perfect square:</p>    <math xmlns="http://www.w3.org/1998/Math/MathML">   <mrow>     <msup>       <mfenced>         <mrow>           <mi>a</mi>           <mo>+</mo>           <mi>b</mi>         </mrow>       </mfenced>       <mn>2</mn>     </msup>   </mrow>   </math>    </body>  </html>  

則內容就可以顯示為

This is a perfect square:

< IMPORT NAMESPACE ="[default]" httpwwwworgMathMathML URN ="http://www.w3.org/1998/Math/MathML" IMPLEMENTATION ="#[default] http://www.w3.org/1998/Math/MathMLPlayer" DECLARENAMESPACE />

除此之外若是想在網頁上使用 MathML 則可以這麼做:(可參考sample2.xhtml)

<?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">    <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>

或是離線使用將 processing instruction 改為<?xml-stylesheet type="text/xsl" href="mathml.xsl"?>並將下列檔案放到同一個資料夾:mathml.xsl,pmathml.xsl,ctop.xslandpmathmlcss.xsl

更多的有關在網頁上使用 MathML 的資訊在Putting mathematics on the Web with MathML可以找到更多


MathML elements

所有的 MathML 元素都可以分成三類:presentation elements,content elements 及 interface elements。以下介紹presentation elements 及 content elements,interface elements 先暫時不理會。

Presentation elements 是用來描述數學符號在視覺上的呈現,例如
mrow
元素就是用來標記數學式中一串水平的表達式,而
msup
元素則是用來標記數學符號中有關上標的表現式,如 < IMPORT NAMESPACE ="[default]" http://www.w3.orgMathMathML URN ="http://www.w3.org/1998/Math/MathML" IMPLEMENTATION ="#[default] http://www.w3.org/1998/Math/MathMLPlayer" DECLARENAMESPACE />


相关链接 http://pomelo.iis.sinica.edu.tw/~evirt/xmlprj/01/report.xhtml

http://www.ibm.com/developerworks/cn/xml/x-conmathml/

https://lists.oasis-open.org/archives/docbook-apps/200912/msg00004.html

http://www.biglist.com/lists/xsl-list/archives/200211/msg00356.html

http://www.w3.org/Math/XSL/csmall2.xml

原文链接:https://www.f2er.com/xml/300371.html

猜你在找的XML相关文章