M ATH ML Aufbau, Verwendung, Alternativen
description
Transcript of M ATH ML Aufbau, Verwendung, Alternativen
MMATHATHMLMLAufbau, Verwendung, AlternativenAufbau, Verwendung, Alternativen
Proseminar XML-basierte Technologien | [email protected] | 2004-07-01
2
Gliederung
1. Einstieg
2. Aufbau und Techniken
3. Pro & Kontra
4. Alternativen
5. Quellen
3
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
MathML - Einstieg
4
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)
W3C Math Working Group
5
Technik ist an andere Markup-Sprachen wie HTML angelehnt
Erweiterung von XML→ Gebrauch von XML zwingend
einige aktuelle Browser können MathML-Inhalte in XHTML-Dokumenten anzeigen→ Formeln müssen nicht als Grafiken
eingebunden werden
HTML für mathematische Inhalte
6
wie jedes XML-Dokument per Text-Editor→ sehr aufwändig (und damit fehleranfällig)
bei komplexen Formeln
einfacher mit verschiedenen Tools(Mathematica, Maple, WebEQ)
MathML-Dokumente erstellen
7
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>...
MathML-Dokumente erstellen
8
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.
MathML-Dokumente erstellen
9
<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>
MathML-Dokumente erstellen
Präsentationsbeschreibung:
(a+b)²
10
<math> Beginn jedes MathML-Dokuments, Namespace-Angabe 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 Attributekönnen die öffnende und schließende Klammerangegeben werden (optional, Standard: „()“).
<msub> Subscript (= tiefgestellt, indexiert)
<msup> Superscript (= Exponent)
MathML-Dokumente erstellen
11
<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>
MathML-Dokumente erstellen
Inhaltliche Beschreibung:
(a+b)²
12
<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
MathML-Dokumente erstellen
13
Ein weiteres Beispiel, an dem deutlich wird, dass die Abbildung einer recht simplen Formel sehr aufwändig werden kann:
[a+b]260+{a+b}i
MathML-Dokumente erstellen
14
<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></mrow>
</math>
MathML-Dokumente erstellen
[a+b]260+{a+b}i
15
PRO
+ einfaches und schnelles Erstellen bzw. Ändern von mathematischen Formeln und Symbolen
+ bedeutend kleinere Dateigröße gegenüber Grafiken→ deutlich höhere
Ladegeschwindigkeit
+ keine Qualitätsverluste im Ausdruck da keine Pixelinformationen
KONTRA
– mangelhafte Implementierung in Browsern
– Basiskenntnisse der Markup-Sprachen notwendig
► Nachteile liegen also nicht bei MathML selbst!
Vor- und Nachteile von MathML
16
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/
Alternativen zu MathML
17
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
Alternativen zu MathML
18
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)
Alternativen zu MathML
19
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
Quellen