MathML Seminar XML-Technologien Von Primo Cirrincione.

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

Eine dynamische Menge, die diese Operationen unterstützt,
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
M ATH ML Aufbau, Verwendung, Alternativen Proseminar XML-basierte Technologien | |
Claudio Moraga; Gisbert Dittrich
WML – Wireless Markup Language Vortrag von Eduard Jakel.
IuK 2003 Ansätze zur TeX-to-MathML Konvertierung - Semantik durch fachspezifische Usepackages Prof. Dr. Günter Törner Sebastian Pokutta Universität Duisburg-Essen.
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Seminar Stochastik im WS 02/03
der Universität Oldenburg
Kapitel 4 Syntaktische Analyse: LR Parsing.
Zurück zur ersten Seite n Style Sheets sind im Prinzip Formatvorlagen für HTML-Dokumente n Über Style Sheets lassen sich zentrale Layout-Vorgaben für eine.
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
HTML - Einführung Richard Göbel.
FH-Hof Einbindung von JavaScript Anweisungen
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
DOM (Document Object Model)
ARRAY oder FELD oder VEKTOR
Internetstruktur Das Internet besteht aus vielen Computern, die weltweit untereinander vernetzt sind.
Algorithmentheorie 04 –Hashing
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
HTML - Eine erste Annäherung
Kapitel 5 Stetigkeit.
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Fakten, Regeln und Anfragen
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Einführung XML XML Einführung Andreas Leicht.
Selbstverständnis der Mathematik
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Sebastian Hirsch Sascha Neuhaus
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Berechnung des Osterdatums
Vernetzte Informationsstrukturen - Internet
Marcus Haller & René Schulze
Heute: Scherenzange zeichnen
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Hyperlinks und Anker Links notieren
Gegenstand EDV Thema: Informative Webseiten
Hypertext Markup Language
Seminar XML-Technologien: VoiceXML/SMIL 1 Was ist SMIL ? Synchronized Multimedia Integration Language Ausprache wie das englische Wort smile {smaIl} August.
Übungsaufgaben für Microsoft Excel
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
...ich seh´es kommen !.
HTML-Editoren Eine Präsentation von Erik Kulisch.
Effiziente Algorithmen
Folie 1 Kapitel IV. Matrizen Inhalt: Matrizen als eigenständige mathematische Objekte Zusammenhang zwischen Matrizen und linearen Abbildungen Produkt von.
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Übung Datenbanksysteme II Index- strukturen
Präsentation läuft auch vollautomatisch ab … wie du möchtest
Web-Publishing: HTML im Rahmen des PS aus Elektronischer Datenverarbeitung (Rechnerpraktikum)
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Oliver Spritzendorfer Thomas Fekete
Programmieren in C Grundlagen C 2
Der Erotik Kalender 2005.
CSS Cascading Style Sheets
HTML Hypertext Markup Language
XML Schema Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung WS2011/2012 Hist.-kult.wiss. Informationsverarbeitung (Teil.
WISSENSREPRÄSENTATION IN ACTIVEMATH Autorierungsgrundlagen.
 Präsentation transkript:

MathML Seminar XML-Technologien Von Primo Cirrincione

Seminar XML-Technologien: MathML 2 Was ist MathML? MathML = Mathematical Markup Language MathML ist eine auf XML basierende Auszeichnungssprache für mathematische Ausdrücke. Was HTML für Text-Information ist, soll MathML für mathematische Ausdrücke sein.

Seminar XML-Technologien: MathML 3 Geschichte von MathML (1) Es wurde ein Vorschlag für HTML Math im HTML 3.0 working draft eingefügt. Mai Nach einem Meeting der digital Library Initiative wurde ein Ausschuss für HTML Math Editorial Review gegründent. März Dieser Ausschuss wurde zum W3C Math Working Group neu zusammengesetzt. April W3C veröffentlicht MathML 1.0 als Recommendation.

Seminar XML-Technologien: MathML 4 Geschichte von MathML (2) Juli Das Math Working Group veröffentlicht MathML 1.01 als überarbeitete Version der vorherigen Recommendation. Februar Die W3C Recommendation von MathML 2.0 wurde veröffentlicht. An der Entwicklung von MathML sind auch folgende Firmen beteiligt: –Waterloo (Maple) –Wolfram Research (Mathematica) –IBM –Microsoft –uvm.

Seminar XML-Technologien: MathML 5 Alternativen zu MathML Man lässt sich von Mathematik-Programmen (z.B. Maple oder Mathematica) Bilder der Ausdrücke generieren und fügt diese in ein HTML-Dokument ein. Man versucht die Ausdrücke mit HTML zu schreiben Zum Beispiel: -b ± Sqrt(b2 - 4ac) x = x = a 2a -b ± Sqrt(b 2 - 4ac) -b ± Sqrt(b 2 - 4ac) x= a 2a

Seminar XML-Technologien: MathML 6 Nachteile Mit HTML hat man Probleme um spezielle mathematische Ausdrücke darzustellen (z.B. Integrale, Summen, usw.). Die mathematische Bedeutung geht verloren. Wenn die Formeln als Bilder abgespeichert sind, geht jegliche Dynamik verloren. Bilder können nicht als Input für Programme benützt werden, die symbolisch Rechnen können. Bilder brauchen mehr Speicher -> Der Aufbau einer Internetseite ist langsamer.

Seminar XML-Technologien: MathML 7 Lösung: MathML MathML erlaubt sowohl äussere Struktur eines Ausdrucks als auch dessen Semantik zu kodieren. Durch die Attribute von MathML-Elemente kann man den Layout der Ausdrücke festlegen. Man könnte MathML als Input für Mathematik- Programme verwenden. Man kann MathML in andere Formate umwandeln, z.B. LaTeX.

Seminar XML-Technologien: MathML 8 Aufbau von MathML Jedes MathML Dokument beginnt mit und endet mit dem schliessenden und es ist wie ein XML Dokument aufgebaut. Es gibt zwei Unterschiedliche Arten ein mathematischer Ausdruck in MathML zu kodieren: Presentation oder Content Markup. Presentation Markup ermöglicht es einen Ausdruck über das Aussehen zu kodieren. Content Markup ermöglicht es einen Ausdruck über die Semantik zu kodieren. Man kann beide Markup Varianten auch mischen bzw. parallel benützen.

Seminar XML-Technologien: MathML 9 Idee von MathML: Expression Trees Die Idee ist es die Baumstruktur eines mathematischen Ausdrucks zu nutzen. Man kann mathematische Symbole nur auf wenige Arten in einem Ausdruck anordnen. Z.B.: –In einer Reihe. –In eine Matrix. –Als Index. Mathematische Ausdrücke sind oft nur Ineinanderschachtelungen einfacherer Ausdrücke.

Seminar XML-Technologien: MathML 10 Presentation Markup: Layout Box Presentation Markup hat 27 Elemente mit ca. 50 Attributen. Presentation Markup basiert auf der Idee der Layout Box: Jedes Element ist eine Layout Box. –Die einfachsten Layout Boxes enthalten Zeichen, Zahlen oder Entitäten. –Kompliziertere Boxes ordnen ihre child Boxes gemäss einem Algorithmus an. –Z.B. gibt es ein Element welches seine zwei Kinder- Elemente als Bruch darstellt. Man könnte sagen, dass jedes Element eine Art intelligentes Template ist, welches seine Kinder auf eine gewisse Art darstellt.

Seminar XML-Technologien: MathML 11 Presentation Markup: Tokens Die einfachsten Elemente im Presentation Markup sind die Tokens. Das sind die einzigen Elemente die direkt Daten enthalten (entweder Zahlen, Buchstaben oder Entitäten), also die eigentlichen Blätter im Baum... Weist darauf hin, dass sein Inhalt als Variable angezeigt werden soll. Wichtige Attribute sind fontweight, fontstyle, etc.... Weist darauf hin, dass sein Inhalt als Zahl angezeigt werden soll. Hat dieselben Attribute wie... Weist darauf hin, dass sein Inhalt als Operator angezeigt werden soll. Attribute sind lspace, rspace, stretchy, movablelimits

Seminar XML-Technologien: MathML 12 Presentation Markup: Layout Schemata Kind(1)..Kind(n) Das üblichste Layout Schema. Es zeigt seine Kinder in einer Reihe entlang einer Horizontalen Basislinie an. Kind(1)..Kind(n) Erfüllt gleiche Aufgabe wie und schliesst zusätzlich seine Kinder in Klammern ein. Zähler Nenner Zeigt einen Bruch an. Wenn man das Attribut linethickness auf 0 setzt, kann dazu benutzen Binomialausdrücke anzeigen zu lassen. Kind(1)..Kind(n) Zeigt seine Kinder unter einem Wurzel-Zeichen an. Basis Index Benötigt man um Wurzeln höherer Ordnung anzeigen zu lassen.

Seminar XML-Technologien: MathML 13 Erstes Beispiel: 3 ( x + 2 )

Seminar XML-Technologien: MathML 14 Presentation Markup: Indices Basis tiefgestellter-Index Basis hochgestellter-Index Erstes Kind wird als Basis angezeigt und zweites Kind als tiefgestellter bzw. hochgestellter Index Basis tiefg.-Index hochg.-Index Ermöglicht es sowohl einen tiefgestellten Index als auch einen hochgestellten zu setzen Basis Zeichen Das Zeichen wird über der Basis bzw. unter der Basis angezeigt. Benutzt man z.B. um ein Tilde oder ein Strich über eine Variable zu schreiben. Basis Zeichen Zeichen Erlaubt es einem Zeichen sowohl über die Basis als auch darunter zu schreiben. Findet Anwendung bei Summen oder Integralen (z.B. die Grenzen über und unter dem Integralzeichen).

Seminar XML-Technologien: MathML 15 Beispiele zu Indices (1): x x 1 1 α α + + <msubsup> x x 1 α 1 α </msubsup></mrow>

Seminar XML-Technologien: MathML 16 Beispiele zu Indices (2): ∑ i = 1 &infty; x i

Seminar XML-Technologien: MathML 17 Presentation Markup: Tabellen Tabellen in MathML sind ähnlich zu den Tabellen in HTML aufgebaut. Sie haben aber noch einige zusätzliche Attribute um das Verhalten des Layouts besser zu kontrollieren. Reihe(1)..Reihe(n) wobei Reihe(i) Elemente (math table row) sind. Zelle(1)..Zelle(n) wobei Zelle(i) Elemente (Datenzellen) sind. Kind(1)..Kind(n)

Seminar XML-Technologien: MathML 18 Beispiel: Matrix <mrow> A A = = x x y y <mtr> z z w w </mtr> </mrow>

Seminar XML-Technologien: MathML 19 Presentation Markup: Vererbung Attribute können entweder explizit in den MathML- Tags gesetzt werden oder von der Umgebung ererbt werden. Jedes MathML-Element hat eine Umgebung welches einen Default-Wert für die Attribute festlegt. Die Idee ist, dass die Attribute der Umgebung, die für Schriftart, Hintergrund, etc. zuständig sind, durch den Browser initialisiert werden. Attribute die in einem Element gesetzt werden, wirken sich nur auf dieses aus. Um gewisse Attribute für mehrere Elemente gleichzeitig zu setzen, benutzt man das Element.

Seminar XML-Technologien: MathML 20 Beispiel zu Beispiel zu f f x x + + y y f(x + y)

Seminar XML-Technologien: MathML 21 Content Markup: Prefix-Notation In Content Markup werden die Ausdrücke in Prefix-Notation geschrieben. Der Vorteil ist, dass Klammern überflüssig werden, da die Reihenfolge der Operationen durch die Notation eindeutig ist. Zum Beispiel: (x+y)/2 wird zu / + x y 2

Seminar XML-Technologien: MathML 22 Content Markup: Tokens und fundamentale Elemente.. Ist das analoge Element zu. Hat ein Attribut type, welches den Typ des angezeigten Objekts festlegt (z.B. vector, array, etc.)... Ist das analoge Element zu. Hat auch ein Attribute type (z.B. real, integer, rational, complex-cartesian, complex-polar, constant) und ein Attribut base um das Zahlsystem festzulegen. Operator Argument(1)..Argument(n) Ist ein fundamentales Element des Content Markup um Operationen auszudrücken. Typ Argument(1) Argument(2) Ist das Analogon zu um Relationen auszudrücken. Es gibt kein Element! Operatoren sind leere Elemente oder werden durch das Element definiert.

Seminar XML-Technologien: MathML 23 Content Markup: Operatoren und Relationen Es gibt ca. 50 leere Operator Elemente für die üblichsten Funktionen und Operatoren (z.B. oder ). Es gibt ein Element um Funktionen bzw. Operatoren zu definieren: Operator Bemerkung: Wenn man eine Funktion f(x) definiert, sagt man nicht explizit, dass das x in Klammern dargestellt werden soll. Das muss der Browser selber erkennen. Relationen werden von Operatoren unterschieden. Man definiert sie über das Element.

Seminar XML-Technologien: MathML 24 Beispiel: Funktionen und Relation 1. (sin + cos)(x) <apply><fn> <sin/><cos/> </fn><ci>x</ci></apply> 2. g(y) g g <ci>y</ci></apply> 3. x=1 <ci>x</ci><cn>1</cn></reln>

Seminar XML-Technologien: MathML 25 Content Markup: Containers MathML benutzt sogenannte Container Elemente um elemantare mathematische Objekte und Datentypen darzustellen....| Konstruiert eine Menge dessen Elemente auf zwei Arten definiert werden: Entweder durch eine Liste von Tokens (in einem Container) und Containers oder durch ein Element. Punkt1 Punkt2 Definiert ein Intervall, wobei die Punkte die Anfangs und Endpunkte sind. Durch das Attribut closure kann man Intervalltyp festlegen (open, open-closed, etc.).... Konstruiert ein Vektor (per Konvention ein Spaltenvektor).... sind Elemente, deren Kinder dann die Matrixeinträge sind.

Seminar XML-Technologien: MathML 26 Beispiel: Menge und Intervall x x x 0 x &infty; &infty; </reln>

Seminar XML-Technologien: MathML 27 Beispiel: Matrix und Vektor </reln>

Seminar XML-Technologien: MathML 28 Paralleler und gemischter Markup: Es ist notwendig beide Markup Varianten gleichzeitig zu verwenden, um das Layout eines mathematischen Ausdrucks kontrollieren zu können, aber dabei die semantische Bedeutung nicht zu verlieren. Der mathematische Ausdruck soll möglichst schön angezeigt werden, aber dabei muss der Inhalt für ein Programm noch immer verständlich bleiben. Das Element erlaubt dies. Mit dem bzw. Element (innerhalb von ) können noch zusätzliche Informationen gespeichert werden. Es ist auch möglich Presentation Markup im Content Markup zu verwenden und umgekehrt. Dies kann aber heikel sein. Man muss vieles beachten, damit der Code noch Sinn macht.

Seminar XML-Technologien: MathML 29 Beispiel: semantics <semantics> f ′ x <apply><diff/><bvar><ci>x</ci></bvar><apply> f f x x </apply></apply></annotation-xml></semantics>

Seminar XML-Technologien: MathML 30 Tools (1): Da MathML von XML stammt, ist es mühsam MathML von Hand zu schreiben. Der WebEQ Equation Editor ist ein graphischer Editor, der es einem Erlaubt einen mathematischen Ausdruck sowohl in Content als auch Presentation Markup zu exportieren.

Seminar XML-Technologien: MathML 31 Tools (2): WebEQ kann das MathML Dokument als Applet exportieren (natürlich auch als XML oder auch als Bild), so dass der mathematische Ausdruck in einem Applet generiert wird. Vorteil: Man braucht kein Browser der MathML unterstützt um den Ausdruck zu lesen. Beispiel Eine weitere Möglichkeit um ein MathML Dokument zu erstellen ist es, mit einem Programm wie Maple (nur mit Version 7 möglich) oder Mathematica den Ausdruck zu schreiben und dann als MathML zu exportieren.

Seminar XML-Technologien: MathML 32 Browser und Plug-ins Applets sind zwar Praktisch, da sie von jedem Browser unterstützt werden. Aber das ganze ist dafür ziemlich langsam und undynamisch. MathML wird noch nicht standardmässig von allen Browsern unterstützt. Es gibt aber Plug-ins für IE (ab Version 5.5), der sogenannte Mathplayer Beispiel Browser die MathML Presentation Markup schon unterstützen: –Netscape 7.0 –Mozilla –Amaya

Seminar XML-Technologien: MathML 33 Nützliche Links : Die W3C Math Working Group Homepagewww.w3.org/Math Informationen zu Software für MathMLwww.w3.org/Math/implementations.html Ein gutes Tutorial für MathMLwww.webeq.com/mathml/gitmml/

Seminar XML-Technologien: MathML 34 Fazit: MathML ist ein gutes Beispiel dafür, wie man XML sinnvoll anwenden kann. Da es auf XML basiert, ist es einfach möglich MathML in andere Formate (wie TeX z.B.) umzuwandeln. MathML hat natürlich auch den Nachteil von XML, das der Code schnell ziemlich gross wird und sich entsprechend schnell Fehler reinschleichen. Ein Nachteil ist auch, dass es leider nur wenig Freeware gibt, um MathML Dokumente zu erzeugen. Damit MathML sinnvoll eingesetzt werden kann, ist es notwendig, dass alle Browser MathML standardmässig unterstützen. Was wahrscheinlich bald der Fall sein wird.