<< Chapter < Page Chapter >> Page >
MathML is a markup language to present mathematics and its content on a rendering system like browsers and facilitate encoding of mathematical content for intelligent systems to inetercept, interpret and understand mathematical content.

The encoding of mathematics in a document has two perspectives. One is to present mathematical content in visual form; other is to convey mathematical content in a form that can be interpreted by other programs (software ) for use in a mathematical context.

The intent of the first is obvious and clearly understood. The second perspective is more complex and is targeted to create a language structure that can be used to exchange mathematics and its underlying concepts and ideas between different programs and systems. For example, MathML markups may result in a audio rendering system, which can read a mathematical expression like y x : “...it is a differentiation of first order of ‘y’ with respect ‘x’ ....“ or a program that could intelligently interact with the content coded in MathML and produce results or analysis.

In accordance with the intent, the MathML has two different encoding paradigms. The first caters to the requirement of presentation and the other that of content. Here in the course, we restrict ourselves with presentation mark ups as this course is set out for beginners and who seek to write MathML for display purposes.

Why mathml?

Let us have a look at a piece of encoding required to create a simple table (3 X 3) :

Typical code lines mathml

<m:math display="block"> <m:mtable frame="solid" columnlines="solid" rowlines="solid"> <m:mtr> <m:mtd> <m:mi>x</m:mi> </m:mtd> <m:mtd> <m:mi>y</m:mi> </m:mtd> <m:mtd> <m:mi>z</m:mi> </m:mtd> </m:mtr> <m:mtr> <m:mtd> <m:mn>1</m:mn> </m:mtd> <m:mtd> <m:mn>2</m:mn> </m:mtd> <m:mtd> <m:mn>3</m:mn> </m:mtd> </m:mtr> </m:mtable> </m:math>

The display looks like :

x y z 1 2 3

Looking at the above MathML encoding, we observe that codes are simply bulky and repetitive in nature. This brings out the question : why to encode MathML, while we could have simply taken the snapshot of the mathematical content and put the same in light weight picture format like jpeg or gif ! The reasons, that this approach is not favored, are :

1: The picture files, even when light, would run in 100s of kilobytes, while the text part of the document would be hardly 15 – 20 Kilobytes. This is a significant design problem – particularly for web rendering of courses like this one. If this module is interspersed with fictures for mathematical expressions, then the module would take much longer (10 to 15 times) to download; and the readers would be really irritated if the document consisted of cross references to other such documents, containing mathemtics in picture format.

2: It would be difficult and ugly to present mathematical content as part of the text, because picture renders with white space around itself. On the contrary, MathML allows to insert mathematical content, like x 5 , right inside the text paragraph in an elegant manner.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, A primer in mathml. OpenStax CNX. Apr 19, 2006 Download for free at http://cnx.org/content/col10345/1.16
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'A primer in mathml' conversation and receive update notifications?

Ask