Flylib.com

Books Software

 
 
 

Request for Comments

 < Day Day Up > 


Request for Comments

We welcome feedback on this book from readers. We invite you to contribute comments, report errors, or suggest topics you would like to see covered in future editions. You can contact us by any of the following means:

Mail: Charles River Media, 20 Downer Ave., Suite 3, Hingham, MA 02043

Phone: 781-740-0400

E-mail: info @charlesriver.com

Please consult the Web site for this book at http://www.charlesriver.com/titles/mathml.html for the latest updates and errata.



 < Day Day Up > 
 < Day Day Up > 


Foreword

I got involved with the Math Activity at the World Wide Web Consortium (W3C) in 1995. Ever since, I have attended two or three meetings a year on the topic of MathML. At nearly every one of those meetings, the need for a book on the MathML has come up in one way or another. Anyone who has slogged through the MathML specification will know that it is neither an enjoyable read, nor a very good way to learn about using MathML. So the topic of an accessible book on MathML kept coming up, and the anxiety and hand-wringing it provoked became more and more intense as the MathML community continued to grow. Thus, I was relieved when I learned that Pavi Sandhu was writing a book on MathML. And after looking at a draft and discovering it was actually a good book on MathML, I was positively delighted !

It couldn't come at a better time. When the MathML Recommendation was first published in 1998, there was an initial surge in interest, and expectations were high. A number of specialized tools soon added MathML support. But rendering MathML in browsers proved to be a harder problem and only in the last few months has it really become practical on a large scale. In the intervening time, the lack of browser support had a distinctly chilling effect on the use and usefulness of MathML.

Now, however, MathML support is finally there in browsers, and there are clear signs of a resurgence. Publishers are again looking at MathML as a way of moving to XML work flows for their math and science materials, and as a means of unifying production streams for paper and electronic media. Distance learning vendors have begun embracing MathML as a solution for archiving, displaying, and manipulating mathematics on the Web. Makers of XML authoring tools and content management systems are starting to add MathML support. And most important, thousands of teachers , students and researchers are beginning to wonder if Math on the Web has finally come far enough to take a second look.

I confidently predict that with resources such as The MathML Handbook to guide them, many people will find that the time is indeed ripe for Math on the Web. And I look eagerly forward to the outpouring of creativity that will inevitably flow from that happy discovery.

Robert Miner
MathML 2.0 Recommendation Editor



 < Day Day Up > 
 < Day Day Up > 


Part I: MathML Concepts

Chapter 1: Introduction to MathML
Chapter 2: XML Primer
Chapter 3: Fundamentals of MathML
Chapter 4: Presentation Markup
Chapter 5: Presentation Markup
Chapter 6: Presentation Markup



 < Day Day Up > 
 < Day Day Up > 


Chapter 1: Introduction to MathML

This chapter gives the background you need to understand the origin, goals, and benefits of MathML. It explains the problems with current ways of representing mathematics on the Web and shows why MathML is an effective solution to these problems. It describes the history of MathML and explains its relation to other Web standards such as HTML and XML. Finally, it describes the various practical uses of MathML such as Web publishing and interchange of mathematical content between applications.

1.1 What Is MathML?

MathML, the Mathematical Markup Language, is an XML application for encoding mathematics on the Web. It provides a simple but precise syntax for encoding both the visual structure and the symbolic meaning of mathematics. Using MathML, you can display even the most complex mathematical notation in a Web page with a high degree of fidelity and clarity. At the same time, the meaning of the notation can be preserved so that, for example, you can copy and paste an equation from a Web page into a computer algebra system for evaluation.

MathML was the first XML application endorsed by the W3C and is supported by major software vendors (including IBM, HP, Microsoft, and Sun) as well as by professional organizations such as the American Mathematical Society (AMS). Currently, a major development effort to create tools for authoring, rendering, and processing MathML is underway. This includes support for displaying MathML in leading Web browsers including Internet Explorer (IE) , Netscape , and Mozilla .

As a common and widely accepted standard for representing mathematics, MathML provides the foundation for many interesting and useful applications. For example, using MathML you can develop dynamic mathematical Web sites that feature interactive equations; create a database of technical documents whose contents can be easily searched, indexed, and archived; or develop speech synthesis software for the aural rendering of mathematics.

MathML is simple enough to be readable by humans but is also well suited for being generated and processed by software. It is also flexible and extensible-it includes methods for modifying the meaning of existing notation and for describing new notation that the current syntax does not support. This is important since mathematical notation is continually evolving, making it impossible for any fixed set of constructs to describe all possible notations.

MathML was specifically designed to work well with existing Web technologies. MathML equations can be dynamically processed using JavaScript and Java, styled using CSS and XSLT, or hooked up to HTML controls like buttons and pull-down menus . The combination of scripting and MathML makes it possible to create interactive Web sites that can display and manipulate mathematical content. This is an important requirement for teaching, research, and anywhere else that mathematics is important.

Since MathML is an XML application, general XML tools such as XML editors and parsers can process it. In particular, mathematical notation from a single MathML source file can be rendered in diverse media such as Web pages, print, and audio by using different CSS or XSLT stylesheets, each optimized for a specific medium.

Because it is written in plain text, MathML is portable and platform independent. This makes it a convenient medium for exchanging mathematical content between diverse applications such as Web browsers, word processors, equation editors, as well as computer algebra systems and other scientific software. MathML is thus well suited to becoming a standard format for storing and communicating mathematical information.



 < Day Day Up >