Powerpoint-Präsentation

Werbung
MATHML
Aufbau, Verwendung, Alternativen
Proseminar XML-basierte Technologien | [email protected] | 2004-07-01
Gliederung
1. Einstieg
2. Aufbau und Techniken
3. Pro & Kontra
4. Alternativen
5. Quellen
2
MathML - Einstieg
Wofür steht MathML?
 Mathematical Markup Language
Warum MathML?
 Mathematische Inhalte einfach ins Internet
übertragen (z.B. in XHTML-Dokumenten)
Wer hat‘s erfunden?
 W3C Math Working Group
3
W3C Math Working Group
Website:
 http://www.w3.org/Math/
Zielsetzung:
 Einführung eines Standards, der sich mit der Problematik ernsthaft
auseinandersetzt und Lösungen bereitstellt
Geschichte:




1994: erste Vorschläge zu HTML Math im HTML 3.0 Working Draft
März 1997: Gründung der W3C Math Working Group
April 1998: Version 1.0 als W3C-Recommendation veröffentlicht
aktuell: Version 2.0 Second Edition (VÖ: 21. Oktober 2003)
4
HTML für mathematische Inhalte
 Technik ist an andere Markup-Sprachen
wie HTML angelehnt
 Erweiterung von XML
→ Gebrauch von XML zwingend
 einige aktuelle Browser können MathMLInhalte in XHTML-Dokumenten anzeigen
→ Formeln müssen nicht als Grafiken
eingebunden werden
5
MathML-Dokumente erstellen
 wie jedes XML-Dokument per Text-Editor
→ sehr aufwändig (und damit fehleranfällig)
bei komplexen Formeln
 einfacher mit verschiedenen Tools
(Mathematica, Maple, WebEQ)
6
MathML-Dokumente erstellen
 Dokument muss gültiges XML sein
 Stylesheet für Ausgabe muss vor dem <html>-Tag stehen,
da „Processing Instruction“
 als Stylesheet kann die Vorgabe des W3C genutzt werden
Beispiel:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"
href="http://www.w3.org/Math/XSL/pmathml.xsl"?>
<html>
...
7
MathML-Dokumente erstellen
MathML-Beschreibungen können auf zweierlei
Art dargestellt werden:
1. Präsentationsbeschreibung
2. Inhaltliche Beschreibung
(= preorder-Traversierung eines Baumes)
Die inhaltliche Beschreibung ist nicht direkt auf die
Darstellung übertragbar.
Für die Einbindung in XHTML-Dokumente ist es egal,
welche Beschreibung man wählt. Allerdings bietet sich
hierbei die Präsentationsbeschreibung an.
8
MathML-Dokumente erstellen
Präsentationsbeschreibung:
<math xmlns="http://www.w3.org/1998/Math/MathML">
<msup>
<mfenced open="(" close=")">
<mi>a</mi>
<mo>+</mo>
<mi>b</mi>
</mfenced>
<mn>2</mn>
</msup>
</math>
(a+b)²
9
MathML-Dokumente erstellen
<math>
Beginn jedes MathML-Dokuments, NamespaceAngabe erforderlich (wie in jedem XML-Dokument)
<mi>
Identifier (Variable, Funktion oder Konstante)
<mo>
Operator
<mn>
Zahl
<mrow>
Definiert einen zusammengehörigen Ausdruck
<mfenced>
Definiert einen Klammerausdruck. Als Attribute
können die öffnende und schließende Klammer
angegeben werden (optional, Standard: „()“).
<msub>
Subscript (= tiefgestellt, indexiert)
<msup>
Superscript (= Exponent)
10
MathML-Dokumente erstellen
Inhaltliche Beschreibung:
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<power />
<apply>
<plus />
<ci>a</ci>
<ci>b</ci>
</apply>
<cn>2</cn>
</apply>
</math>
(a+b)²
11
MathML-Dokumente erstellen
<apply>
In apply werden die auszuführenden
Elemente der Formel eingefasst
<power />
Kindelemente wird potenziert (erwartet
2 Kindelemente - Basis und Exponent)
<plus />
Kindelemente werden addiert (erwartet
genau 2 Kindelemente)
<ci>
Identifier (Variable, Funktion oder
Konstante)
<cn>
Zahl
12
MathML-Dokumente erstellen
Ein weiteres Beispiel, an dem deutlich wird,
dass die Abbildung einer recht simplen
Formel sehr aufwändig werden kann:
260
[a+b] +{a+b}
i
13
MathML-Dokumente erstellen
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<msup>
<mfenced open="[" close="]">
<mrow>
<mi>a</mi>
<mo>+</mo>
<mi>b</mi>
</mrow>
</mfenced>
<mn>260</mn>
</msup>
<mo>+</mo>
<msub>
<mfenced open="{" close="}">
<mrow>
<mi>a</mi>
<mo>+</mo>
<mi>b</mi>
</mrow>
</mfenced>
<mi>i</mi>
</msub>
260+{a+b}
</mrow>
[a+b]
i
</math>
14
Vor- und Nachteile von MathML
PRO
+ einfaches und schnelles
Erstellen bzw. Ändern von
mathematischen Formeln
und Symbolen
+ bedeutend kleinere
Dateigröße gegenüber
Grafiken
KONTRA
– mangelhafte Implementierung
in Browsern
– Basiskenntnisse der MarkupSprachen notwendig
→ deutlich höhere
Ladegeschwindigkeit
+ keine Qualitätsverluste im
Ausdruck da keine
Pixelinformationen
► Nachteile liegen also nicht
bei MathML selbst!
15
Alternativen zu MathML
OpenMath:
 Web-Publishing
 Datenaustausch zwischen verschiedenen
Softwaresystemen
 Speicherung in Datenbanken
 Hauptverwendung in Computer-Algebra-Systemen
 viele Parallelen und Schnittpunkte mit MathML
→ beide Systeme sind komplementär und ergänzen
sich gegenseitig
 weitere Informationen: http://www.openmath.org/
16
Alternativen zu MathML
Mathematische Inhalte in HTML-Dokumenten:
 Formeln als präformatierter Text im ASCII-Format,
z.B.: f(x)=x²+1 → <pre>f(x)=x²+1</pre>
→ Nachteile: komplexe Formeln schlecht darstellbar, Probleme
mit Sonderzeichen, keine Weiterverarbeitung möglich
 Formeln als Grafiken einbinden
→ Nachteile: höhere Ladezeiten, keine Weiterverarbeitung
möglich, keine späteren Änderungen möglich
 Formeln als Java-Applets einbinden
→ Nachteile: Java wird benötigt, höhere Ladezeiten,
undynamisch
17
Alternativen zu MathML
Mathematische Inhalte in Dokumenten:
Eine weitere Alternative zu MathML ist
TeX/LaTeX. Das Dokumentsatzprogramm ist
ebenfalls gut geeignet, mathematische
Inhalte darzustellen, auch hier gibt es für
praktisch jedes mathematische Konstrukt
eine entsprechende Beschreibung.
Weitere Alternative: Postscript (z.B. Adobe PDF)
18
Quellen
 W3C Math Home: http://www.w3.org/Math/
 NET - Network for Educational Technology:
http://www.net.ethz.ch/mathml/
 Diplomarbeit von Tanja Schniederberend:
http://www-lehre.inf.uos.de/~tschnied/HTML/node66.html
 MathML-Präsentation von Primo Cirrincione:
http://fgb.informatik.unibas.ch/fgb/archive/ss02/xmltech/material/online/sess11/mathml.ppt
 OpenMath: http://www.openmath.org/
 LaTeX – Fortgeschrittene Anwendungen:
ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a0279510.pdf
19
Herunterladen