1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859
|
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Introduction</title><style type="text/css">
code { font-family: monospace; }
div.constraint,
div.issue,
div.note,
div.notice { margin-left: 2em; }
li p { margin-top: 0.3em;
margin-bottom: 0.3em; }
div.exampleInner pre { margin-left: 1em;
margin-top: 0em; margin-bottom: 0em}
div.exampleOuter {border: 4px double gray;
margin: 0em; padding: 0em}
div.exampleInner { background-color: #d5dee3;
border-top-width: 4px;
border-top-style: double;
border-top-color: #d3d3d3;
border-bottom-width: 4px;
border-bottom-style: double;
border-bottom-color: #d3d3d3;
padding: 4px; margin: 0em }
div.exampleWrapper { margin: 4px }
div.exampleHeader { font-weight: bold;
margin: 4px}
a.mainindex {font-weight: bold;}
li.sitem {list-style-type: none;}
.error { color: red }
.minitoc { border-style: solid;
border-color: #0050B2;
border-width: 1px ;
padding: 0.3em;}
.attention { border-style: solid;
border-width: 1px ;
color: #5D0091;
background: #F9F5DE;
border-color: red;
margin-left: 1em;
margin-right: 1em;
margin-top: 0.25em;
margin-bottom: 0.25em; }
.attribute-Name { background: #F9F5C0; }
.method-Name { background: #C0C0F9; }
.IDL-definition { border-style: solid;
border-width: 1px ;
color: #001000;
background: #E0FFE0;
border-color: #206020;
margin-left: 1em;
margin-right: 1em;
margin-top: 0.25em;
margin-bottom: 0.25em; }
.baseline {vertical-align: baseline}
#eqnoc1 {width: 10%}
#eqnoc2 {width: 80%; text-align: center; }
#eqnoc3 {width: 10%; text-align: right; }
div.div1 {margin-bottom: 1em;}
.h3style {
text-align: left;
font-family: sans-serif;
font-weight: normal;
color: #0050B2;
font-size: 125%;
}
h4 { text-align: left;
font-family: sans-serif;
font-weight: normal;
color: #0050B2; }
h5 { text-align: left;
font-family: sans-serif;
font-weight: bold;
color: #0050B2; }
th {background: #E0FFE0;}
p, blockquote, h4 { font-family: sans-serif; }
dt, dd, dl, ul, li { font-family: sans-serif; }
pre, code { font-family: monospace }
sub.diff-link {background-color: black; color: white; font-family:
sans-serif; font-weight: bold;}
.diff-add { background-color: #FFFF99}
.diff-del { background-color: #FF9999; text-decoration: line-through }
.diff-chg { background-color: #99FF99 }
.diff-off { }
.mathml-render {
font-family: serif;
font-size: 130%;
border: solid 4px green;
padding-left: 1em;
padding-right: 1em;
}
</style><link rel="stylesheet" type="text/css" href="../../../StyleSheets/TR/W3C-REC.css">
</head>
<body>
<h1><a name="intro" id="intro"></a>1 Introduction
</h1>
<!-- TOP NAVIGATION BAR -->
<div class="minitoc">
Overview: <a href="overview-d.html">Mathematical Markup Language (MathML) Version 2.0 (Second Edition)</a><br>
Next: 2 <a href="chapter2-d.html">MathML Fundamentals</a><br><br>1 <a href="chapter1-d.html">Introduction</a><br> 1.1 <a href="chapter1-d.html#intro.notation">Mathematics and its Notation</a><br> 1.2 <a href="chapter1-d.html#intro.origin">Origins and Goals</a><br> 1.2.1 <a href="chapter1-d.html#id.1.2.1">The History of MathML</a><br> 1.2.2 <a href="chapter1-d.html#id.1.2.2">Limitations of HTML</a><br> 1.2.3 <a href="chapter1-d.html#id.1.2.3">Requirements for Mathematics Markup</a><br> 1.2.4 <a href="chapter1-d.html#intro.goals">Design Goals of MathML</a><br> 1.3 <a href="chapter1-d.html#intro.role">The Role of MathML on the Web</a><br> 1.3.1 <a href="chapter1-d.html#id.1.3.1">Layered Design of Mathematical Web Services</a><br> 1.3.2 <a href="chapter1-d.html#id.1.3.2">Relation to Other Web Technology</a><br> 1.3.2.1 <a href="chapter1-d.html#id.1.3.2.1">Existing Mathematical Markup Languages</a><br> 1.3.2.2 <a href="chapter1-d.html#id.1.3.2.2">HTML Extension Mechanisms</a><br> 1.3.2.3 <a href="chapter1-d.html#id.1.3.2.3">Browser Extension Mechanisms</a><br></div>
<div class="div1">
<div class="div2">
<h2><a name="intro.notation" id="intro.notation"></a>1.1 Mathematics and its Notation
</h2>
<p>A distinguishing feature of mathematics is the use of a complex and
highly evolved system of two-dimensional symbolic notations. As
J.R. Pierce has written in his book on communication theory,
mathematics and its notations should not be viewed as one and the same
thing <a href="appendixk-d.html#Pierce1961">[Pierce1961]</a>. Mathematical ideas exist independently of
the notations that represent them. However, the relation between meaning
and notation is subtle, and part of the power of mathematics to describe
and analyze derives from its ability to represent and manipulate ideas in
symbolic form. The challenge in putting mathematics on the World Wide Web
is to capture both notation and content (that is, meaning) in such a way
that documents can utilize the highly-evolved notational forms of written
and printed mathematics, and the potential for interconnectivity in
electronic media.
</p>
<p>Mathematical notations are constantly evolving as people continue
to make innovations in ways of approaching and expressing ideas. Even
the commonplace notations of arithmetic have gone through an amazing
variety of styles, including many defunct ones advocated by leading
mathematical figures of their day <a href="appendixk-d.html#Cajori1928">[Cajori1928]</a>. Modern
mathematical notation is the product of centuries of refinement, and
the notational conventions for high-quality typesetting are quite
complicated. For example, variables and letters which stand for
numbers are usually typeset today in a special mathematical italic
font subtly distinct from the usual text italic. Spacing around
symbols for operations such as +, -, × and / is slightly
different from that of text, to reflect conventions about operator
precedence. Entire books have been devoted to the conventions of
mathematical typesetting, from the alignment of superscripts and
subscripts, to rules for choosing parenthesis sizes, and on to
specialized notational practices for subfields of mathematics (for
instance, <a href="appendixk-d.html#Chaundy1954">[Chaundy1954]</a>, <a href="appendixk-d.html#Swanson1979">[Swanson1979]</a>, <a href="appendixk-d.html#Swanson1999">[Swanson1999]</a>, <a href="appendixk-d.html#Higham1993">[Higham1993]</a>, or in the T<sub>E</sub>X literature <a href="appendixk-d.html#Knuth1986">[Knuth1986]</a> and <a href="appendixk-d.html#Spivak1986">[Spivak1986]</a>).
</p>
<p>Notational conventions in mathematics, and in printed text in general,
guide the eye and make printed expressions much easier to read and
understand. Though we usually take them for granted, we rely on
hundreds of conventions such as paragraphs, capital letters, font
families and cases, and even the device of decimal-like numbering of
sections such as we are using in this document (an invention due to
G. Peano, who is probably better known for his axioms for the
natural numbers). Such notational conventions are perhaps even more important
for electronic media, where one must contend with the difficulties of
on-screen reading.
</p>
<p>However, there is more to putting mathematics on the Web
than merely finding ways of displaying traditional
mathematical notation in a Web browser. The Web represents a
fundamental change in the underlying metaphor for knowledge
storage, a change in which <em>interconnectivity</em>
plays a central role. It is becoming increasingly important to
find ways of communicating mathematics which facilitate
automatic processing, searching and indexing, and reuse in
other mathematical applications and contexts. With this
advance in communication technology, there is an opportunity
to expand our ability to represent, encode, and ultimately to
communicate our mathematical insights and understanding with
each other. We believe that MathML is an important step in
developing mathematics on the Web.
</p>
</div>
<div class="div2">
<h2><a name="intro.origin" id="intro.origin"></a>1.2 Origins and Goals
</h2>
<div class="div3">
<h3><a name="id.1.2.1" id="id.1.2.1"></a>1.2.1 The History of MathML
</h3>
<p>The problem of encoding mathematics for computer processing
or electronic communication is much older than the Web. The
common practice among scientists before the Web was to write
papers in some encoded form based on the ASCII character set,
and e-mail them to each other. Several markup methods for
mathematics, in particular T<sub>E</sub>X <a href="appendixk-d.html#Knuth1986">[Knuth1986]</a>,
were already in wide use in 1992 just before the Web rose to
prominence, <a href="appendixk-d.html#Poppelier1992">[Poppelier1992]</a>.
</p>
<p>Since its inception, the Web has demonstrated itself to be
a very effective method of making information available to
widely separated groups of individuals. However, even though
the World Wide Web was initially conceived and implemented by
scientists for scientists, the possibilities for including
mathematical expressions in HTML has been very limited. At
present, most mathematics on the Web consists of text with
images of scientific notation (in <a name="td-gif" id="td-gif"></a>GIF or <a name="td-jpeg" id="td-jpeg"></a>JPEG format), which are difficult to read and
to author, or of entire documents in <a name="td-pdf" id="td-pdf"></a>PDF form.
</p>
<p>The World Wide Web Consortium (W3C) recognized that lack of
support for scientific communication was a serious
problem. Dave Raggett included a proposal for HTML Math in the
HTML 3.0 working draft in 1994. A panel discussion on
mathematical markup was held at the WWW Conference in
Darmstadt in April 1995. In November 1995, representatives
from Wolfram Research presented a proposal for doing mathematics in
HTML to the W3C team. In May 1996, the Digital Library
Initiative meeting in Champaign-Urbana played an important
role in bringing together many interested parties. Following
the meeting, an HTML Math Editorial Review Board was
formed. In the intervening years, this group has grown, and
was formally reconstituted as the first W3C Math Working Group
in March 1997. The second W3C Math Working Group was
chartered in July 1998 with a term which was later extended to run
to the end of the year 2000.
</p>
<p>The MathML proposal reflects the interests and expertise of
a very diverse group. Many contributions to the development of
MathML deserve special mention, some of which we touch on
here. One such contribution concerns the question of
accessibility, especially for the visually handicapped.
T. V. Raman is particularly notable in this
regard. Neil Soiffer and Bruce Smith from Wolfram Research
shared their experience with the problems of representing
mathematics in connection with the design of Mathematica 3.0;
this expertise was an important influence in the design of the
presentation elements. Paul Topping from Design Science also
contributed his expertise in mathematical formatting and
editing. MathML has benefited from the participation of a
number of working group members involved in other mathematical
encoding efforts in the <a name="td-sgml" id="td-sgml"></a>SGML and
computer-algebra communities, including Stephen Buswell from
Stilo Technologies, Nico Poppelier at first with Elsevier
Science, Stéphane Dalmas from INRIA (Sophia Antipolis),
Stan Devitt at first with Waterloo Maple, Angel Diaz and
Robert S. Sutor from IBM, and Stephen M. Watt from
the University of Western Ontario. In particular, MathML has
been influenced by the OpenMath project, the work of the ISO
12083 working group, and Stilo Technologies' work on a
"semantic" mathematics DTD fragment. The American
Mathematical Society has played a key role in the development
of MathML. Among other things, it has provided two working
group chairs: Ron Whitney led the group from May 1996 to March
1997, and Patrick Ion, who has co-chaired the group with
Robert Miner from The Geometry Center from March 1997 to
June 1998, and since July 1998 with Angel Diaz of IBM.
</p>
</div>
<div class="div3">
<h3><a name="id.1.2.2" id="id.1.2.2"></a>1.2.2 Limitations of HTML
</h3>
<p>The demand for effective means of electronic scientific
communication remains high. Ever increasingly, researchers,
scientists, engineers, educators, students and technicians
find themselves working at dispersed locations and relying on
electronic communication. At the same time, the image-based
methods that are currently the predominant means of
transmitting scientific notation over the Web are primitive
and inadequate. Document quality is poor, authoring is
difficult, and mathematical information contained in images is
not available for searching, indexing, or reuse in other
applications.
</p>
<p>The most obvious problems with HTML for mathematical
communication are of two types.
</p>
<p><em>Display Problems.</em> Consider the equation
<img src="image/f1001.gif" alt="2^{2^x} = 10" align="bottom">. This equation
is sized to match the surrounding line in 14pt type on the
system where it was authored. Of course, on other systems, or
for other font sizes, the equation is too small or too
large. A second point to observe is that the equation image
was generated against a white background. Thus, if a reader or
browser resets the page background to another color, the
anti-aliasing in the image results in white
"halos". Next, consider the equation <img src="image/f1002.gif" alt="x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" align="bottom">, which is an example
with the equation's horizontal alignment axis above the tops
of the lower-case letters in the surrounding text.
</p>
<p>This equation has a descender which places the baseline for
the equation at a point about a third of the way from the
bottom of the image. One can pad the image like this:
<img src="image/f1003.gif" alt="x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" align="middle">,
so that the centerline of the image and the baseline of the
equation coincide, but this causes problems with the
inter-line spacing, resulting in the equation becoming
difficult to read. Moreover, center alignment of images is
handled in slightly different ways by different browsers,
making it impossible to guarantee proper alignment for
different clients.
</p>
<p>Image-based equations are generally harder to see, read and
comprehend than the surrounding text in the browser
window. Moreover, these problems become worse when the
document is printed. The resolution of the equations as images
will be around 70 dots per inch, while the surrounding text
will typically be 300, 600 or more dots per inch. The
disparity in quality is judged to be unacceptable by most
people.
</p>
<p><em>Encoding Problems.</em> Consider trying to search
this document for part of an equation, for example, the
"=10" from the first equation above. In a similar
vein, consider trying to cut and paste an equation into
another application; even more demanding is to cut and paste a
sub-expression. Using image-based methods, neither of these
common needs can be adequately addressed. Although the use of
the <b>alt</b> attribute in the document source can help, it is clear
that highly interactive Web documents must provide a more
sophisticated interface between browsers and mathematical
notation.
</p>
<p>Another problem with encoding mathematics as images is that
it requires more bandwidth. Markup describing an equation is
typically smaller and more compressible than an image of the
equation. In addition, by using markup-based encoding, more
of the rendering process is moved to the client machine.
</p>
</div>
<div class="div3">
<h3><a name="id.1.2.3" id="id.1.2.3"></a>1.2.3 Requirements for Mathematics Markup
</h3>
<p>Some display problems associated with including
mathematical notation in HTML documents as images could be
addressed by improving image handling by browsers. However,
even if image handling were improved, the problem of making
the information contained in mathematical expressions
available to other applications would remain. Therefore, in
planning for the future, it is not sufficient merely to
upgrade image-based methods. To integrate mathematical
material fully into Web documents, a markup-based encoding of
mathematical notation and content is required.
</p>
<p>In designing any markup language, it is essential to
consider carefully the needs of its potential users. In the
case of MathML, the needs of potential users cover a broad
spectrum, from education to research, and on to commerce.
</p>
<p>The education community is a large and important group that
must be able to put scientific curriculum materials on the
Web. At the same time, educators often have limited time and
equipment, and are severely hampered by the difficulty of
authoring technical Web documents. Students and teachers need
to be able to create mathematical content quickly and easily,
using intuitive, easy-to-learn, low-cost tools.
</p>
<p>Electronic textbooks are another way of using the Web which will
potentially be very important in education. Management consultant
Peter Drucker has prophesied the end of big-campus residential higher
education and its distribution over the Web. Electronic textbooks
will need to be interactive, allowing intercommunication between the
text and scientific software and graphics.
</p>
<p>The academic and commercial research communities generate large
volume of dense scientific material. Increasingly, research
publications are being stored in databases, such as the highly
successful <a href="http://xxx.lanl.gov">physics and mathematics
preprint server and archive</a> at Los Alamos National
Laboratory. This is especially true in some areas of physics and
mathematics where academic journal prices have been increasing at an
unsustainable rate. In addition, databases of information on
mathematical research, such as <a href="http://www.ams.org/mathscinet">Mathematical Reviews</a> and
<a href="http://www.zblmath.fiz-karlsruhe.de">Zentralblatt für
Mathematik</a>, offer millions of records on the Web containing
mathematics.
</p>
<p>To accommodate the research community, a design for
mathematical markup must facilitate the maintenance and
operation of large document collections, for which automatic
searching and indexing are important. Because of the large
collection of legacy documents containing mathematics, especially in
T<sub>E</sub>X, the ability to convert between existing formats and any
new one is also very important to the research community.
Finally, the ability to maintain information for archival
purposes is vital to academic research.
</p>
<p>Corporate and academic scientists and engineers also use
technical documents in their work to collaborate, to record
results of experiments and computer simulations, and to verify
calculations. For such uses, mathematics on the Web must
provide a standard way of sharing information that can be
easily read, processed and generated using commonly available,
easy-to-use tools.
</p>
<p>Another general design requirement is the ability to render
mathematical material in other media such as speech or
braille, which is extremely important for the visually
impaired.
</p>
<p>Commercial publishers are also involved with mathematics on
the Web at all levels from electronic versions of print books
to interactive textbooks and academic journals. Publishers
require a method of putting mathematics on the Web that is
capable of high-quality output, robust enough for large-scale
commercial use, and preferably compatible with their previous,
often SGML-based, production systems.
</p>
</div>
<div class="div3">
<h3><a name="intro.goals" id="intro.goals"></a>1.2.4 Design Goals of MathML
</h3>
<p>In order to meet the diverse needs of the scientific
community, MathML has been designed with the following
ultimate goals in mind.
</p>
<p>MathML should:
</p>
<ul>
<li>
<p>Encode mathematical material suitable for teaching
and scientific communication at all levels.
</p>
</li>
<li>
<p>Encode both mathematical notation and mathematical meaning.</p>
</li>
<li>
<p>Facilitate conversion to and from other mathematical
formats, both presentational and semantic. Output formats should include:
</p>
<ul>
<li>
<p>graphical displays</p>
</li>
<li>
<p>speech synthesizers</p>
</li>
<li>
<p>input for computer algebra systems</p>
</li>
<li>
<p>other mathematics typesetting languages, such as T<sub>E</sub>X
</p>
</li>
<li>
<p>plain text displays, e.g. VT100 emulators</p>
</li>
<li>
<p>print media, including braille</p>
</li>
</ul>
<p>It is recognized that conversion to and from other notational
systems or media may entail loss of information in the process.
</p>
</li>
<li>
<p>Allow the passing of information intended for
specific renderers and applications.
</p>
</li>
<li>
<p>Support efficient browsing of lengthy expressions.</p>
</li>
<li>
<p>Provide for extensibility.</p>
</li>
<li>
<p>Be well suited to template and other mathematics editing techniques.</p>
</li>
<li>
<p>Be human legible, and simple for software to generate and process.</p>
</li>
</ul>
<p>No matter how successfully MathML may achieve its goals as
a markup language, it is clear that MathML will only be useful
if it is implemented well. To this end, the W3C Math Working
Group has identified a short list of additional implementation
goals. These goals attempt to describe concisely the minimal
functionality MathML rendering and processing software should
try to provide.
</p>
<ul>
<li>
<p>MathML expressions in HTML (and XHTML) pages should render
properly in popular Web browsers, in accordance with reader and author
viewing preferences, and at the highest quality possible given the
capabilities of the platform.
</p>
</li>
<li>
<p>HTML (and XHTML) documents containing MathML expressions should
print properly and at high-quality printer resolutions.
</p>
</li>
<li>
<p>MathML expressions in Web pages should be able to react to
user gestures, such those as with a mouse, and to coordinate
communication with other applications through the
browser.
</p>
</li>
<li>
<p>Mathematical expression editors and converters should be developed
to facilitate the creation of Web pages containing MathML
expressions.
</p>
</li>
</ul>
<p>These goals have begun to be addressed for the near term by using embedded
elements such as Java applets, plug-ins and ActiveX controls to render
MathML. However, the extent to which these goals are ultimately met depends on the
cooperation and support of browser vendors, and other software developers. The W3C
Math Working Group has continued to work with the working groups for the Document
Object Model (DOM) and the Extensible Style Language (XSL) to ensure that the
needs of the scientific community will be met in the future, and feels that MathML
2.0 shows considerable progress in this area over the situation that obtained at
the time of the MathML 1.0 Recommendation (April 1998) <span class="diff-add"><a href="appendixk-d.html#MathML1">[MathML1]</a><a href="appendixj-d.html#d0e55061"><sub class="diff-link">J</sub></a></span>.
</p>
</div>
</div>
<div class="div2">
<h2><a name="intro.role" id="intro.role"></a>1.3 The Role of MathML on the Web
</h2>
<div class="div3">
<h3><a name="id.1.3.1" id="id.1.3.1"></a>1.3.1 Layered Design of Mathematical Web Services
</h3>
<p>The design goals of MathML require a system for encoding
mathematical material for the Web which is flexible and
extensible, suitable for interaction with external software,
and capable of producing high-quality rendering in several
media. Any markup language that encodes enough information to
do all these tasks well will of necessity involve some
complexity.
</p>
<p>At the same time, it is important for many groups, such as
students, to have simple ways to include mathematics in Web
pages by hand. Similarly, other groups, such as the T<sub>E</sub>X
community, would be best served by a system which allowed the
direct entry of markup languages like T<sub>E</sub>X into Web pages. In
general, specific user groups are better served by specialized
kinds of input and output tailored to their needs. Therefore,
the ideal system for communicating mathematics on the Web
should provide both specialized services for input and output,
and general services for interchange of information and
rendering to multiple media.
</p>
<p>In practical terms, the observation that mathematics on the
Web should provide for both specialized and general needs
naturally leads to the idea of a layered architecture. One
layer consists of powerful, general software tools exchanging,
processing and rendering suitably encoded mathematical data. A
second layer consists of specialized software tools, aimed at
specific user groups, which are capable of easily generating
encoded mathematical data that can then be shared with a
particular audience.
</p>
<p>MathML is designed to provide the encoding of mathematical
information for the bottom, more general layer in a two-layer
architecture. It is intended to encode complex notational and
semantic structure in an explicit, regular, and
easy-to-process way for renderers, searching and indexing
software, and other mathematical applications.
</p>
<p>As a consequence, raw MathML markup is <em>not</em>
primarily intended for direct use by authors. While MathML is
human-readable, which helps a lot in debugging it, in all but
the simplest cases it is too verbose and error-prone for hand
generation. Instead, it is anticipated that authors will use
equation editors, conversion programs, and other specialized
software tools to generate MathML. Alternatively, some
renderers and systems supporting mathematics may convert other
kinds of input directly included in Web pages into MathML on
the fly, in response to a cut-and-paste operation, for
example.
</p>
<p>In some ways, MathML is analogous to other low-level,
communication formats such as Adobe's PostScript language. You
can create PostScript files in a variety of ways, depending on
your needs; experts write and modify them by hand, authors
create them with word processors, graphic artists with
illustration programs, and so on. Once you have a PostScript
file, however, you can share it with a very large audience,
since devices which render PostScript, such as printers and
screen previewers, are widely available.
</p>
<p>Part of the reason for designing MathML as a markup
language for a low-level, general, communication layer is to
stimulate mathematical Web software development in the layer
above. MathML provides a way of coordinating the development
of modular authoring tools and rendering software. By making
it easier to develop a functional piece of a larger system,
MathML can stimulate a "critical mass" of
software development, greatly to the benefit of potential
users of mathematics on the Web.
</p>
<p>One can envision a similar situation for mathematical data.
Authors are free to create MathML documents using the tools
best suited to their needs. For example, a student might
prefer to use a menu-driven equation editor that can write out
MathML to an XHTML file. A researcher might use a computer
algebra package that automatically encodes the mathematical
content of an expression, so that it can be cut from a Web
page and evaluated by a colleague. An academic journal
publisher might use a program that converts T<sub>E</sub>X markup to
HTML and MathML. Regardless of the method used to create a Web
page containing MathML, once it exists, all the advantages of
a powerful and general communication layer become available. A
variety of MathML software could all be used with the same
document to render it in speech or print, to send it to a
computer algebra system, or to manage it as part of a large
Web document collection. To render high-quality printed
mathematics the MathML encoding will often be converted back
to standard typesetting and composition languages, including
T<sub>E</sub>X which is widely appreciated for the job it does in this
regard. Finally, one may expect that eventually MathML will be
integrated into other arenas where mathematical formulas
occur, such as spreadsheets, statistical packages and
engineering tools.
</p>
<p>The W3C Math Working Group has been working with vendors to ensure
that a variety of MathML software will soon be available, including
both rendering and authoring tools. A current list of MathML software
is maintained on the <a href="http://www.w3.org/Math/">public Math
page at the World Wide Web Consortium</a>.
</p>
</div>
<div class="div3">
<h3><a name="id.1.3.2" id="id.1.3.2"></a>1.3.2 Relation to Other Web Technology
</h3>
<p>The original conception of an HTML Math was a simple,
straightforward extension to HTML that would be natively
implemented in browsers. However, very early on, the
explosive growth of the Web made it clear that a general
extension mechanism was required, and that mathematics was
only one of many kinds of structured data which would have to
be integrated into the Web using such a mechanism.
</p>
<p>Given that MathML must integrate into the Web as an
extension, it is extremely important that MathML, and MathML
software, can interact well with the existing Web environment.
In particular, MathML has been designed with three kinds of
interaction in mind. First, in order to create mathematical
Web content, it is important that existing mathematical markup
languages can be converted to MathML, and that existing
authoring tools can be modified to generate MathML. Second,
it must be possible to embed MathML markup seamlessly in HTML
markup, as it evolves, in such a way that it will be
accessible to future browsers, search engines, and all the
kinds of Web applications which now manipulate HTML. Finally,
it must be possible to render MathML embedded in HTML in
today's Web browsers in some fashion, even if it is less than
ideal. As HTML evolves into XHTML, all the preceding requirements
become increasingly needed.
</p>
<p id="intro.bidi">The World Wide Web is a fully international and
collaborative movement. Mathematics is a language used all
over the world. The mathematical notation in science
and engineering is embedded in a matrix of local natural
languages. The W3C strives to be a constructive force
in the spread of possibilities for communication throughout
the world. Therefore MathML will encounter problems
of internationalization. This version of MathML is
not knowingly incompatible with the needs of languages
which are written from left to right. However the
default orientation of MathML 2 is left-to-right, and
it is clear that the needs for the writing of
mathematical formulas embedded in some natural languages
may not yet be met. So-called bi-directional technology
is still in development, and better support for formulas
in that context must be a matter for future developers.
</p>
<div class="div4">
<h4><a name="id.1.3.2.1" id="id.1.3.2.1"></a>1.3.2.1 Existing Mathematical Markup Languages
</h4>
<p>Perhaps the most important influence on mathematical markup
languages of the last two decades is the T<sub>E</sub>X typesetting
system developed by Donald Knuth <a href="appendixk-d.html#Knuth1986">[Knuth1986]</a>.
T<sub>E</sub>X is a de facto standard in the mathematical research
community, and it is pervasive in the scientific community at
large. T<sub>E</sub>X sets a standard for quality of visual rendering,
and a great deal of effort has gone into ensuring MathML can
provide the same visual rendering quality. Moreover, because
of the many legacy documents in T<sub>E</sub>X, and because of the
large authoring community versed in T<sub>E</sub>X, a priority in the
design of MathML was the ability to convert T<sub>E</sub>X mathematics
input into MathML format. The feasibility of such conversion
has been demonstrated by prototype software.
</p>
<p>Extensive work on encoding mathematics has also been done
in the SGML community, and SGML-based encoding schemes are
widely used by commercial publishers. ISO 12083 is an
important markup language which contains a DTD fragment
primarily intended for describing the visual presentation of
mathematical notation. Because ISO 12083 mathematical notation
and its derivatives share many presentational aspects with
T<sub>E</sub>X, and because SGML enforces structure and regularity more
than T<sub>E</sub>X, much of the work in ensuring MathML is compatible
with T<sub>E</sub>X also applies well to ISO 12083.
</p>
<p>MathML also pays particular attention to compatibility with
other mathematical software, and in particular, with computer
algebra systems. Many of the presentation elements of MathML
are derived in part from the mechanism of typesetting
boxes. The MathML content elements are heavily indebted to the
OpenMath project and the work by Stilo Technologies on a
mathematical DTD fragment. The OpenMath project has close ties
to both the SGML and computer algebra communities, and has
laid a foundation for an SGML- and XML-based means of
communication between mathematical software packages, amongst
other things. The feasibility of both generating and
interpreting MathML in computer algebra systems has been
demonstrated by prototype software.
</p>
</div>
<div class="div4">
<h4><a name="id.1.3.2.2" id="id.1.3.2.2"></a>1.3.2.2 HTML Extension Mechanisms
</h4>
<p>As noted above, the success of HTML has led to enormous
pressure to incorporate a wide variety of data types and
software applications into the Web. Each new format or
application potentially places new demands on HTML and on
browser vendors. For some time, it has been clear that a
general extension mechanism is necessary to accommodate new
extensions to HTML. At the very beginning, the working group
began its work thinking of a plain extension to HTML in the
spirit of the first mathematics support suggested for HTML
3.2. But for a good number of reasons, once we got into the
details, this proved to be not so good an idea. Since work
first began on MathML, XML <a href="appendixk-d.html#XML">[XML]</a>,
has emerged as the dominant such
general extension mechanism.
</p>
<p>XML stands for Extensible Markup Language. It is designed as a
simplified version of SGML, the meta-language used to define the
grammar and syntax of HTML. One of the goals of XML is to be suitable
for use on the Web, and in the context of this discussion it can be
viewed as the general mechanism for extending HTML. As its name
implies, extensibility is a key feature of XML; authors are free to
declare and use new elements and attributes. At the same time, XML
grammar and syntax rules carefully enforce regular document structure
to facilitate automatic processing and maintenance of large document
collections. Mathematically speaking XML is essentially a notation for
decorated rooted planar trees, and thus of great generality as an
encoding tool.
</p>
<p>Since the setting up of the first W3C Math Working Group,
XML has garnered broad industry support, including that of
major browser vendors. The migration of HTML to an XML form
has been important to the W3C, and has resulted in the XHTML
Recommendation which delivers a new modularized form of HTML.
MathML can be viewed as another module which fits very well
with the new XHTML. Indeed in <a href="appendixa-d.html#parsing.module">Section A.2.3 MathML as a DTD Module</a>
there is a new DTD for mathematics which is the result of
collaboration with the W3C HTML Working Group.
</p>
<p>Furthermore, other applications of XML for all kinds of
document publishing and processing promise to become
increasingly important. Consequently, both on theoretical and
pragmatic grounds, it has made a great deal of sense to
specify MathML as an XML application.
</p>
</div>
<div class="div4">
<h4><a name="id.1.3.2.3" id="id.1.3.2.3"></a>1.3.2.3 Browser Extension Mechanisms
</h4>
<p>By now, as opposed to the situation when the
<span class="diff-chg">MathML 1.0 Recommendation <span class="diff-add"><a href="appendixk-d.html#MathML1">[MathML1]</a><a href="appendixj-d.html#d0e55061"><sub class="diff-link">J</sub></a></span><a href="appendixj-d.html#d0e55061"><sub class="diff-link">J</sub></a></span> was adopted, the
details of a general model for rendering and processing XML
extensions to HTML are largely clear. Formatting Properties,
developed by the Cascading Style Sheets and Formatting
Properties Working Group for CSS and made available through
the Document Object Model (DOM), will be applied to MathML
elements to obtain stylistic control over the presentation of
MathML. Further development of these Formatting Properties
falls within the charters of both the CSS&FP and the XSL
working groups. For an introduction to this topic see the
discussion in <a href="chapter7-d.html">Chapter 7 The MathML Interface</a>. For detailed
commentary on how to render MathML with current systems
consult the
<a href="http://www.w3.org/Math/">W3C Math WG Home Page</a>.
</p>
<p>Until style sheet mechanisms are capable of delivering
native browser rendering of MathML, however, it is necessary
to extend browser capabilities by using embedded elements to
render MathML. It is already possible to instruct a browser to
use a particular embedded renderer to process embedded XML
markup such as MathML, and to coordinate the resulting output
with the surrounding Web page, however the results are not yet
entirely as one wishes. See <a href="chapter7-d.html">Chapter 7 The MathML Interface</a>.
</p>
<p>For specialized processing, such as connecting to a
computer algebra system, the capability of calling out to
other programs is likely to remain highly desirable. However,
for such an interaction to be really satisfactory, it is
necessary to define a document object model rich enough to
facilitate complicated interactions between browsers and
embedded elements. For this reason, the W3C Math Working Group
has coordinated its efforts closely with the Document Object
Model (DOM) Working Group. The results are described in
<a href="chapter8-d.html">Chapter 8 Document Object Model for MathML</a>.
</p>
<p>For processing by embedded elements, and for
inter-communication between scientific software generally, a
style sheet-based layout model is in some ways less than
ideal. It can impose an additional implementation burden in a
setting where it may offer few advantages, and it imposes
implementation requirements for coordination between browsers
and embedded renderers that will likely be unavailable in the
immediate future.
</p>
<p>For these reasons, the MathML specification defines an
attribute-based layout model, which has proven very effective
for high-quality rendering of complicated mathematical
expressions in several independent implementations. MathML
presentation attributes utilize W3C Formatting Properties
where possible. Also, MathML elements accept <code>class</code>, <code>style</code> and <code>id</code> attributes to facilitate their use with
CSS style sheets. However, at present, there are few settings
where CSS machinery is currently available to MathML
renderers.
</p>
<p>The use of CSS style sheet mechanisms has been mentioned
above. The mechanisms of XSL have also recently become
available for the transformation of XML documents to effect
their rendering. Indeed the alternative forms of this present
recommendation, including the definitive public HTML version,
have been prepared from an underlying XML source using XSL
transformation language tools. As further developments in
this direction become available to MathML, it is anticipated
their use will become the dominant method of stylistic control
of MathML presentation meant for use in rendering environments
which support those mechanisms.
</p>
</div>
</div>
</div>
</div>
<div class="minitoc">
Overview: <a href="overview-d.html">Mathematical Markup Language (MathML) Version 2.0 (Second Edition)</a><br>
Next: 2 <a href="chapter2-d.html">MathML Fundamentals</a></div>
</body>
</html>
|