Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud.
We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
MathML is a World Wide Web Consortium (W3C) standard that has been created so that mathematical expressions can be displayed, manipulated, and shared over the Web. According to the W3C, "The goal of MathML is to enable mathematics to be served, received, and processed on the World Wide Web, just as HTML has enabled this functionality for text."
The MathML API can be found at the W3C Web site (www.w3.org). It has been designed as an XML application and provides two main sets of tags: one for the visual presentation of mathematics and the other for the content in equations. The W3C Math Working Group states that MathML should be created and edited using specialized tools and is not designed to be written primarily by hand, given the length and complexity of its API.
Benefits of MathML
The introduction of MathML brings several benefits, including:
Computation: Given that MathML includes tags for the content of the mathematics, it can be used for computation (note that this is different from GIF or PDF files where mathematical constructs can be represented but can't be manipulated). In fact, major computer algebra systems, such as Mathematica, have begun to support cut-and-paste of MathML into their documents, enabling their users to transfer math from Web pages and other sources into their documents. After the MathML document has been transferred to a mathematical tool, it can be manipulated for calculation, graphing, searching, and analysis.
Public standard: The fact that MathML is a public standard paves the way for the creation of tools and solutions from a number of vendors and open-source organizations. It also means that mathematical data can be easily shared among different organizations and in this way facilitates research and information sharing (both of which are the goals of the World Wide Web).
XML advantages: MathML is based on XML so it brings all the advantages of XML with it. It can be used for representation on any application that handles XML, including Web, paper, and PDF. Also, the representation can be changed using a stylesheet document.
Overview
MathML's API consists of two main groups: presentation elements and content elements. Presentation elements describe a mathematical notation's visually oriented two-dimensional structure while content elements describe what the math means.
Presentation Markup
MathML has about 30 presentation elements that accept 50 attributes. Most elements represent templates or patterns for laying out subexpressions.
Elements
Presentation elements can be broadly grouped under the following five classes of elements.
1. Token elements: Token elements represent the most basic structures in mathematics. For example:
<mi>: Identifier, such as a variable, function name, constant
<mo>: Operator, such as a summation
<mn>: Number
There are also a few presentation elements that are empty elements, and are used mostly in connection with alignment.
2. General layout: General layout elements describe the nature of the layout. For example:
<mfrac>: Form a fraction from two subexpressions
<msqrt>: Form a square root sign
3. Scripts and limits: Scripts and embellishments to symbols are common in mathematical notation. The elements in this section address this requirement. For example:
<msub>: Attach a subscript to a base
<msup>: Attach a superscript to a base
4. Tables: Matrices, arrays, and table-like mathematical notations are also represented using tags in MathML. For example:
<mtable>: Table or matrix
<mtr>: Row in a table or matrix
5. Actions: The maction element is in a category by itself, and allows coding of various kinds of actions on notation, such as occur in an expression which toggles between two pieces of notation.
<maction>: Binds actions to a subexpression
It is important to note that the order of elements is important in MathML. This is the only way that the MathML processor can understand the mathematical constructs. For example, the first child of an mfrac element is the numerator and the second child is the denominator.
Attributes
Presentation elements can take up to 50 different attributes. Attributes generally specify additional optional information about the element. Each attribute has a name and a value. Using attributes, it's possible to precisely control how an expression will look when displayed. For example, the mfrac element has an attribute called linethickness and is described below:
attribute: linethickness
values: number [ v-unit ] | thin | medium | thick
default: 1 (rule thickness)
Content Markup
There are about 120 content elements and they accept close to a dozen attributes. Content markup facilitates applications other than display, like computer algebra and speech synthesis. The scope of content markup includes arithmetic, algebra, logic, relations, set theory, calculus, sequences, series, functions, statistics, linear algebra, and vector calculus.
Elements
There are many elements in the content markup part of MathML. The best way to think about elements is to categorize them into six buckets as follows.
1. Containers: Container elements are used to indicate the basic units of mathematical content such as mathematical identifiers, numbers, and symbols. For example:
<cn>: Used to represent numbers
<ci>: Used to construct an identifier or variable
2. Operators, qualifiers, and functions: These are tags used to define different mathematical and statistical functions and operators. For example:
<sin>: Function for sine
<divide>: Operator for division
<lowlimit>: Qualifier
3. Relations: Relations are characterized by the fact that, if an external application were to evaluate them, they would typically return a truth value. For example:
<eq>: Equal
<neq>: Not equal
4. Conditions: The <condition> element is used to define the "such that" construct in mathematical expressions. The condition element is always used together with one or more bvar elements and the interpretation depends on the context.
5. Syntax and semantics: This class provides additional information required for mathematical processing. For example:
<mappings>: Semantics, annotation, annotation-xml
6. Constants and symbols: These are a collection of predefined constants and symbols which represent frequently encountered concepts. For example:
<integers>: A set of integers
The <apply> element is perhaps the single most important content element. It is used to apply a function or operation to a collection of arguments. For example:
Attributes
There are about 12 attributes for the content presentation markup in MathML. These are used to add information about the content. For example:
<cn type="real"> 12345.7 </cn>
Creating MathML
There are a few Web browsers that support MathML, including Netscape 7.0, Amaya, and Mozilla. Amaya is the W3C's editor and browser and is used to demonstrate and test many of the new developments in Web protocols and data formats. In the simple example shown in Listing 1, I will use Amaya. Amaya can be downloaded from
www.w3.org/Amaya/User/BinDist.html.
Here we have the normal structure of an XHTML document. It begins with the start tag <html> embellished with an XML namespace declaration and language assertions. A head element contains a title as is customary. Then the <body> beginning also has a namespace declaration of an abbreviative prefix letter m to be used for the standard MathML namespace. Next comes a simple paragraph. Finally we get the math element which also has a namespace association declared. Inside the math element is MathML markup as we are beginning to be used to it. It is rendered in Amaya as shown in Figure 1
Amaya and Mathematica are two examples of editors that can be used for editing the content of MathML. The W3C MathML page also mentions a LaTeX to MathML converter known as WeM, which is a MathML editor that converts a subset LaTeX to MathML. It can be tested online and is also available for download (GPL, requires PHP). Several other available tools can also be found on the MathML Web site (www.w3.org/Math).
Summary
MathML is a powerful XML-based markup language for publishing mathematics on the Web. MathML makes it possible to develop Web-based applications for displaying, searching, indexing, archiving, and evaluating mathematical content. It consists of two basic structures: presentation markup for describing math notation, and content markup for describing mathematical objects and functions. The motivation for MathML is a world in which individuals and companies want to move away from proprietary data formats and use XML to express, interchange, and share information. With increasing tool and browser support (both Microsoft and Netscape have publicly declared support for the XML recommendation), MathML's importance and prevalence will continue to grow.
About Ayesha Malik Ayesha Malik is a Senior Consultant of Object Machines, a software engineering firm providing Java technology and XML solutions to businesses. Ayesha has worked extensively on large XML and messaging systems for companies such as Deutsche Bank and American International Group (AIG). Most recently, she has been researching new ways to make schemas extensible and object-oriented.
Reader Feedback: Page 1 of 1
#2
Jose Vidal commented on 10 Apr 2003
Is there a way to write a MathML webpage that will work with both IE/MathPlayer and Mozilla?
Whereas I like to see articles on MathML, Ms. Malik seems to have ignored all my company's products. Design Science (DSI) has spent (and continues to spend) a considerable amount of its resources supporting MathML.
First, she fails to list that MathML support is available in Internet Explorer via our free MathPlayer plug-in. As we have over 55,000 downloads, I can virtually guarantee that more people are seeing MathML in web pages using MathPlayer than anything else.
Second, we make MathType, the full-featured version of the Equation Editor that ships with every copy of Microsoft Office. MathType allows a user to create an equation interactively then copy it to the clipboard as MathML. Also, one can save a Word document as a web page containing MathML equations that will work with IE, Mozilla, etc.
Finally, we make WebEQ, a MathML-based system used to develop interactive web pages (eg, a test where the student can answer questions with mathematical notation).
Perhaps this is just an oversight, but I suspect there is perhaps some anti-Microsoft sentiment at work here. Regardless of her opinion of Microsoft, my company is not associated with Microsoft. We have, of course, licensed our products to Microsoft but they are one of about 40 companies to which we license. Also, three DSI people (myself included) have been members of the W3C Math Working Group that created MathML. One (Robert Miner) was co-chairman for a while and one of the editors of the original specification.
Paul
----------------------------------------------------------------
Paul Topping email: pault@dessci.com
President phone: 562-433-0685 http://www.dessci.com
Design Science, Inc.
"How Science Communicates"
MathType, WebEQ, MathPlayer, Equation Editor, TeXaide
----------------------------------------------------------------
Paul Topping wrote: Hi,
Whereas I like to see articles on MathML, Ms. Malik seems to have ignored all my company's products. Design Science (DSI) has spent (and continues to spend) a considerable amount of its resources supporting MathML.
First, she fails to list that MathML support is available in Internet Explorer via our free MathPlayer plug-in. As we have over 55,000 downloads, I can virtually guarantee that more people are seeing MathML in web pages using MathPlayer than anything else.
Second, we make MathType, the full-featured version of the Equation Editor that ships with every copy of Microsoft Office. MathType allows a user to create an equation interactively then copy it to the clipboard as MathML. Also, one can save a Word document as a web page containing MathML equations that will work with IE, Mozilla, etc.
Finally, we make WebEQ, a MathML-based system used to develop interactive...
Can you bring services from the cloud to your customers faster and have them adopt it with ease of use or bring the power of bundled services to the fingertips of your clients without creating new rigid ‘apps stove pipes'? Do you want to prevent your business running away to publ...
OCZ Technology Group, a provider of high-performance solid-state drives (SSDs) for computing devices and systems, on Tuesday announced the Z-Drive R4 CloudServ PCI Express (PCIe) flash storage solution, designed to accelerate cloud computing applications and reduce operating expe...
Many organizations have embraced, or are considering, the benefits of cloud computing – speed, flexibility, increased expertise, shared workload, reduced costs, etc. The benefits are many – but so are the risks. What are the threats to cloud security? Which parties assume respons...
In August 2011, SHI Enterprise Solutions (ESS) division launched the SHI Cloud, offering reliable and cost-effective industrial-grade cloud computing platforms. That same division achieved an 82 percent increase in revenue over 2010.
SoftLayer Technologies on Tuesday announced the immediate worldwide availability of SoftLayer Object Storage, a redundant and highly scalable cloud storage service that allows users to easily store, search and retrieve data across the Internet, with optional CDN connectivity, or ...