190 likes | 359 Views
M ATH ML Aufbau, Verwendung, Alternativen. Proseminar XML-basierte Technologien | marcus.zelend@s2002.tu-chemnitz.de | 2004-07-01. Gliederung. 1. Einstieg 2. Aufbau und Techniken 3. Pro & Kontra 4. Alternativen 5. Quellen. MathML - Einstieg. Wofür steht MathML?
E N D
MATHMLAufbau, Verwendung, Alternativen Proseminar XML-basierte Technologien | marcus.zelend@s2002.tu-chemnitz.de | 2004-07-01
Gliederung 1. Einstieg 2. Aufbau und Techniken 3. Pro & Kontra 4. Alternativen 5. Quellen
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
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)
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 MathML-Inhalte in XHTML-Dokumenten anzeigen • Formeln müssen nicht als Grafiken eingebunden werden
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)
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> ...
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.
<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)²
MathML-Dokumente erstellen <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)
<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)²
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
MathML-Dokumente erstellen 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 <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> [a+b]260+{a+b}i
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
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/
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
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)
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