File: chapter1-d.html

package info (click to toggle)
w3-recs 20080716-1
  • links: PTS, VCS
  • area: non-free
  • in suites: lenny, squeeze
  • size: 129,080 kB
  • ctags: 41,279
  • sloc: xml: 35,257; makefile: 78; sh: 63; perl: 31
file content (859 lines) | stat: -rw-r--r-- 55,019 bytes parent folder | download | duplicates (2)
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>&nbsp;&nbsp;&nbsp;&nbsp;1.1 <a href="chapter1-d.html#intro.notation">Mathematics and its Notation</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.2 <a href="chapter1-d.html#intro.origin">Origins and Goals</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.1 <a href="chapter1-d.html#id.1.2.1">The History of MathML</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.2 <a href="chapter1-d.html#id.1.2.2">Limitations of HTML</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.3 <a href="chapter1-d.html#id.1.2.3">Requirements for Mathematics Markup</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.4 <a href="chapter1-d.html#intro.goals">Design Goals of MathML</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.3 <a href="chapter1-d.html#intro.role">The Role of MathML on the Web</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.3.1 <a href="chapter1-d.html#id.1.3.1">Layered Design of Mathematical Web Services</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.3.2 <a href="chapter1-d.html#id.1.3.2">Relation to Other Web Technology</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.3.2.1 <a href="chapter1-d.html#id.1.3.2.1">Existing Mathematical Markup Languages</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.3.2.2 <a href="chapter1-d.html#id.1.3.2.2">HTML Extension Mechanisms</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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.&nbsp;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 +, -, &times; 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.&nbsp;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.&nbsp;V.&nbsp;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&eacute;phane Dalmas from INRIA (Sophia Antipolis),
                  Stan Devitt at first with Waterloo Maple, Angel Diaz and
                  Robert S.&nbsp;Sutor from IBM, and Stephen M.&nbsp;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&uuml;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&nbsp;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&amp;FP  and the XSL
                     working  groups.  For an  introduction to  this topic  see the
                     discussion   in   <a href="chapter7-d.html">Chapter&nbsp;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&nbsp;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&nbsp;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>