M ATH ML Aufbau, Verwendung, Alternativen

19
M M ATH ATH ML ML Aufbau, Verwendung, Alternativen Aufbau, Verwendung, Alternativen Proseminar XML-basierte Technologien | [email protected] | 2004-07-01

description

M ATH ML 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. MathML - Einstieg. Wofür steht MathML? - PowerPoint PPT Presentation

Transcript of M ATH ML Aufbau, Verwendung, Alternativen

Page 1: M ATH ML Aufbau, Verwendung, Alternativen

MMATHATHMLMLAufbau, Verwendung, AlternativenAufbau, Verwendung, Alternativen

Proseminar XML-basierte Technologien | [email protected] | 2004-07-01

Page 2: M ATH ML Aufbau, Verwendung, Alternativen

2

Gliederung

1. Einstieg

2. Aufbau und Techniken

3. Pro & Kontra

4. Alternativen

5. Quellen

Page 3: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 4: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 5: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 6: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 7: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 8: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 9: M ATH ML Aufbau, Verwendung, Alternativen

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)²

Page 10: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 11: M ATH ML Aufbau, Verwendung, Alternativen

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)²

Page 12: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 13: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 14: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 15: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 16: M ATH ML Aufbau, Verwendung, Alternativen

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

Page 17: M ATH ML Aufbau, Verwendung, Alternativen

17

Mathematische Inhalte in HTML-Dokumenten:

Formeln als präformatierter Text im ASCII-Format,z.B.: f(x)=x²+1 → <pre>f(x)=x&sup2;+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

Page 18: M ATH ML Aufbau, Verwendung, Alternativen

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