XML, XHTML und MathML



Ähnliche Dokumente
XML Grundlagen Teil I

Extensible Markup Language (XML)

IT-Zertifikat: Daten- und Metadatenstandards

... MathML XHTML RDF

Datenaustauschformate. Datenaustauschformate - FLV

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

DTD: Syntax-Zusammenfassung

Daten- und Metadatenstandards Wintersemester 2011 / November 2011 XML II: DTD

2. Einführung in Datenbanken und XML

XML 1. Einführung, oxygen. Ulrike Henny. IDE Summer School 2013, Chemnitz

Errata-Liste zum Kurs: Einführung in XML (2. Auflage)

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

Strukturierung von Inhalten

Anwendungsbeispiel zu XML -MathML

Webseite in XML Kurzeinführung

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Verteilte Anwendungen. Teil 2: Einführung in XML

XML Extensible Markup Language

Übungsaufgaben zu XML:

Java und XML 2. Java und XML

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11

XML Schema vs. Relax NG

XML-Workshop für Technische Redakteure Praxis mit Adobe FrameMaker

Vorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann

Qualitäts-Protokoll Seite 1 von 6

Präsentation zum Thema XML Datenaustausch und Integration

PDF/A. Mar$n Fischer

Multimedia Technologie II

Einführung in XML Einführung in XML. Erik Wilde Institut für Technische Informatik und Kommunikationsnetze (TIK) ETH Zürich

Daten- und Metadatenstandards Wintersemester 2011/ März 2012 Text / XML: Erste Schritte

Tobias Hauser. XML-Standards. schnell+kompakt

XML Extensible Markup Language

XSL Templates. Mit Templates arbeiten. XSL Templates

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

XML-Austauschformat für Sicherheitsdatenblätter

Einführung in XML. Seminarunterlage. Version 3.05 vom

XML Extensible Markup Language

XML. Teil 3: Namensräume. Abteilung Informatik WS 02/03

IT-Basics 2. DI Gerhard Fließ

WEBSEITEN ENTWICKELN MIT ASP.NET

XSLT Vortrag. 2. Beispiel XML. 3. Anwendungsmöglichkeiten von XSLT 4. XHTML

XML Informationsmodelle

3.1 Sinn und Zweck von Namensräumen

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

XML-basierte Standards für den Datenaustausch in der Logistikkette

Sechster ProSTEP Benchmark Teil 2: PDM Data Exchange

Ressourcen-Beschreibung im Semantic Web

Bewusstkaufen.at XML Produkt Importschnittstelle für Händler

Einführung in XML. Seminar: XML in der Bioinformatik Frank Schönmann WS 2002/03

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

Dokumenten- und Content Management

Institut für Dokumentologie und Editorik. XML-Datenbanken und XQuery

1 Mathematische Grundlagen

HTML. HyperText Markup Language. Die Programmiersprache des WWW. Keine eigentliche Programmiersprache, sondern eher Seitenbeschreibungssprache

Document Type Definitions (DTDs)

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6

ANSPRECHPARTNER. Film Mathematik statt Rechnen (Quelle: Hochschule Merseburg) Prof. Dr. Axel Kilian Fachbereich Informatik und Kommunikationssysteme

ecall sms & fax-portal

Word 2010 Schnellbausteine

Document Type Definition (DTD)

Einführung in die Programmierung

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Barrierefreie Webseiten erstellen mit TYPO3

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

CASCADING STYLE SHEETS WEBSEITEN-GESTALTUNG MIT CSS

Melde- und Veröffentlichungsplattform Portal (MVP Portal) Hochladen einer XML-Datei

XML - die zukünftige Sprache des WWW? Daten im WWW strukturiert speichern, übertragen, darstellen und verketten. Max Riegel XML

XML 1.1. Grundlagen. Heiko Schröder. 4. Ausgabe, 1. Aktualisierung, Oktober 2013 XML11

RMeasy das SAP IS U Add On für Versorgungsunternehmen. Optimieren Sie Ihre Prozesse in Kundengewinnung und Kundenbindung.

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Eine Dokumenttypdefinition lässt sich im Kopfbereich des XML-Dokumentes (interne DTD) oder in einer separaten Datei formulieren (externe DTD).

elml Flexibilität und Nachhaltigkeit dank XML

Einführung in XML von Julian Bart

XML Extensible Markup Language

Prüfung Computation, Programming

Outlook und Outlook Express

XML DTD und Schema von Thomas Mangold

Bibliothekssysteme / Verbundsysteme / Netze

Webseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web

XML - Extensible Markup Language. Agenda - Oracle XML DB

Klaus Schild, XML Clearinghouse Transformation von XML-Dokumenten

IAWWeb PDFManager. - Kurzanleitung -

Anleitung zur Verwendung der VVW-Word-Vorlagen

Produktvariationen Informationsblatt für Lieferanten

4 Aufzählungen und Listen erstellen

Lehrer: Einschreibemethoden

Importdatei EGID/EDID mit Excel erstellen und bearbeiten

CGI Programmierung mit Ha. Markus Schwarz

Eigenwerte und Eigenvektoren von Matrizen

Rundung und Casting von Zahlen

Technische Dokumentation mit DocBook eine Einführung

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Content Management System. «Rainbow Basis» Grundlagen. Einfache Kursverwaltung

AutoTexte und AutoKorrektur unter Outlook verwenden

XML Werkzeug XML Spy. Frank Heininger Axel Labuschke

Transkript:

XML, XHTML und MathML Erik Wilde Institut für Technische Informatik und Kommunikationsnetze (TIK) ETH Zürich 3.7.03 Erik Wilde 1 Programm Einführung und Geschichte von XML XML Basics (Dokumente, DTDs) Übung 1: XML Dokument und DTD XHTML als neue Version von HTML Übung 2: XHTML Dokument Mathematical Markup Language (MathML) Übung 3: Amaya als Formeleditor Demo: Konvertierung MathML nach PDF 35' 3.7.03 Erik Wilde 2 2003 Erik Wilde 1

XML und HTML sieht "so ungefähr" aus wie HTML gleiche Basis (Standard Generalized Markup Language, SGML) proven success (SGML und HTML sind Erfolge) geringere Hemmschwelle für Umsteiger funktioniert ähnlich wie HTML gleiche Strukturierungsverfahren (Grammatiken) rein textorientiertes Format (keine Binärdaten!) andere Zielgruppe als HTML weiterverarbeitbare Information (B2B) anwendungsabhängige Datenstrukturen etabliertes Umfeld (EDIFACT, SGML, proprietär) 3.7.03 Erik Wilde 3 SGML Standard Generalized Markup Language definiert in ISO Standard 8879 (1986) Markup Language trennt Struktur und Text Struktur ist syntaktisch identifizierbar Vorteile einer Markup Language einfache Repräsentation (Erzeugung "von Hand") Austauschbarkeit als rein textbasierte Dokumente Definition beliebiger Dokumenttypen anwendungsspezifische Dokumenttypen gemeinsamer zugrundeliegender Mechanismus gemeinsam verwendbare Software 3.7.03 Erik Wilde 4 2003 Erik Wilde 2

SGML als Design-Philosophie GML als erstes inhaltsorientiertes Format Dokumentformatierung als getrennter Schritt Definition von Dokumentenklassen (Datentypen) SGML kombiniert Struktur und Text zeichenbasiertes Format (keine binäre Form) Strukturinformation in der Form von "Markup" internationaler Standard (ISO 8879, 1986) nicht unter Kontrolle eines Herstellers unabhängig von spezifischer Software Optimierungen für manuelle Eingabe gedacht als Erleichterungen für Menschen aber Hindernisse und Anforderungen für Maschinen 3.7.03 Erik Wilde 5 Aufbau von SGML die SGML Declaration konkrete Syntax (Zeichen mit spezieller Bedeutung) SGML Features (wie Markup Minimization) die Document Type Definition (DTD) definiert erlaubte Elemente definiert Kombination der erlaubten Elemente definiert Attribute der erlaubten Elemente definiert Entities, z.b. für Sonderzeichen das Document selber Struktur des Inhaltes gemäss der DTD Inhalt der Struktur (Text) 3.7.03 Erik Wilde 6 2003 Erik Wilde 3

SGML Parser SGML Declaration DTD Document SGML Parser 3.7.03 Erik Wilde 7 SGML/XML-Teile von HTML Document DTD SGML Declaration Beginn eines Start-Tags Ende eines Tags Element-Name Begrenzung des Attributwertes Attribut-Name Attributwert Beginn eines End-Tags Zuweisung eines Attributwertes Sonderzeichen <a href="http://www.ethz.ch/">eth Zürich</a> Referenz-Attribut Umlaut 'u' Anchor-Element URI der Referenz Text 3.7.03 Erik Wilde 8 2003 Erik Wilde 4

Vergleich SGML/XML/HTML SGML XML HTML SGML Declaration frei fix fix DTD frei frei fix Document frei frei frei 3.7.03 Erik Wilde 9 Beispiel (XML) <?xml version="1.0"?> <!DOCTYPE kurs SYSTEM "kurs.dtd"> <kurs> <titel kurz="xml">xml - Grundlagen und Umfeld</titel> <referent ="xml@dret.net" homepage="http://dret.net/"> <vorname>erik</vorname> <name>wilde</name> <organisation homepage="http://www.tik.ee.ethz.ch/">eth Zürich</organisation> </referent> <referent>... </referent> <termin date="20000512" location="technopark"/> <inhalt>... </inhalt> </kurs> 3.7.03 Erik Wilde 10 2003 Erik Wilde 5

XML Baumstruktur kurz kurz titel titel kurs kurs termin termin inhalt inhalt date date homepage homepage referent referent vorname vorname referent referent name name location location organisation organisation vorname vorname name name organisation organisation homepage homepage 3.7.03 Erik Wilde 11 XML Dokumente sind Bäume <?xml version="1.0"?> <!DOCTYPE kurs SYSTEM "kurs.dtd"> <kurs> <titel kurz="xml">xml - Grundlagen und Umfeld</titel> <referent ="xml@dret.net" homepage="http://dret.net/"> <vorname>erik</vorname> <name>wilde</name> <organisation homepage="...">eth Zürich</organisation> </referent> <referent>... </referent> <inhalt>... </inhalt> XML Parser homepage homepage kurz kurz titel titel referent referent kurs kurs vorname vorname termin termin referent referent name name inhalt inhalt date date location location organisation organisation </kurs> vorname vorname name name organisation organisation homepage homepage u.u. Schema-Information (z.b. Attribut-Defaults aus DTD oder XML Schema) 3.7.03 Erik Wilde 12 2003 Erik Wilde 6

Document Type Definition (DTD) Beschreibung der Datenstrukturen in einem Schema Schema beschreibt eine Klasse von Dokumenten SGML/XML DTD ist nur eine mögliche Variante Beschreibung von Datenblöcken Elemente als Strukturmittel Attribute als Daten zu Elementen Beschreibung der erlaubten Kombinationen Definition einer Grammatik Verwendung für die Validierung von Daten Schema Modellierung als Kern von XML 3.7.03 Erik Wilde 13 Beispiel (Teil einer DTD) <!ELEMENT kurs (titel, referent+, termin+, inhalt) > <!ELEMENT titel (#PCDATA) > <!ATTLIST titel kurz CDATA #REQUIRED > <!ELEMENT referent (vorname, name, organisation?) > <!ATTLIST referent CDATA #IMPLIED homepage CDATA #IMPLIED > <!ELEMENT vorname (#PCDATA) > <!ELEMENT name (#PCDATA) > <!ELEMENT organisation (#PCDATA) > <!ATTLIST organisation homepage CDATA #IMPLIED > 3.7.03 Erik Wilde 14 2003 Erik Wilde 7

Elemente Elemente sind der grundlegende Mechanismus Strukturierung von hierarchischen Daten "beliebige" Namensgebung für Elemente Definition gemäss inhaltlichen Strukturen Kernpunkt des DTD-Designs Elementtypen haben zwei wichtige Aspekte ein content model für erlaubten Inhalt Attribute (optionales Vorkommen oder notwendig) DTD deklariert Typ, den Dokument verwendet DTD: <!ELEMENT titel (#PCDATA) > Dokument: <titel>xml - Grundlagen und Umfeld</titel> 3.7.03 Erik Wilde 15 Elementtyp-Deklarationen der Inhalt von Elementen kann sein nur Elemente (element content model) Text gemischt mit Elementen (mixed content model) kein Inhalt erlaubt (EMPTY Keyword) das content model eines Elements optionales Vorkommen mit?, wiederholbar mit * notwendig und wiederholbar mit + Sequenz mit, Alternativen (Exklusiv-oder) mit nicht erlaubt sind folgende SGML Konstrukte vertauschbare Vorkommen mit & und Exceptions 3.7.03 Erik Wilde 16 2003 Erik Wilde 8

Attribute Attribute sind Informationen zu Elementen Attribute geben Zusatzinformationen Entscheidung Attribut/Element nicht immer klar optional (#IMPLIED) oder notwendig (#REQUIRED) Attribute können verschiedene Typen haben ein Konzept, das für Elemente nicht existiert deutliche Einschränkungen (siehe HTML DTD) DTD: <!ATTLIST titel kurz CDATA #REQUIRED > Dokument: <titel kurz="xml">xml - Grundlagen... 3.7.03 Erik Wilde 17 Attributlisten-Deklarationen erlaubt sind mehrere Attribute in einer Attributliste Namenskonflikte: das erste Vorkommen zählt gleiche Attributnamen für verschiedene Elemente erlaubte Typen sind String types (beliebiger String als Wert) Tokenized types (XML Namen) ID/IDREF(S) als Referenzierungsmechanismus Enumerated types Auswahl aus vordefinierter Liste (z.b. Ja/Nein) 3.7.03 Erik Wilde 18 2003 Erik Wilde 9

Programm Einführung und Geschichte von XML XML Basics (Dokumente, DTDs) Übung 1: XML Dokument und DTD XHTML als neue Version von HTML Übung 2: XHTML Dokument Mathematical Markup Language (MathML) Übung 3: Amaya als Formeleditor Demo: Konvertierung MathML nach PDF 35' 3.7.03 Erik Wilde 19 HTML und XML HTML basiert auf SGML Gross-/Kleinschreibung ist irrelevant Markup-Minimierung ist erlaubt (Tags weglassen) 99% aller HTML-Seiten sind fehlerhaft Tools und Menschen sind nachlässig Browser und Suchmaschinen sind tolerant diese beiden Faktoren verstärken sich gegenseitig XHTML ist HTML auf XML-Basis eine XHTML-Seite muss gültiges XML sein damit mit XML-Tools weiterverarbeitbar einfach mit XML-Tools zu erzeugen 3.7.03 Erik Wilde 20 2003 Erik Wilde 10

HTML/SGML und XHTML/XML HTML "A Reformulation of HTML" XHTML based on based on SGML "SGML on the Web" XML 3.7.03 Erik Wilde 21 HTML XHTML Umwandlung bestehender HTML-Seiten 1. valides HTML (http://validator.w3.org) 2. alle Elemente und Attribute in lowercase 3. leere Elemente als <element /> codieren 4. End-Tags einfügen (<p>text</p>) 5. Attributwerte müssen in Quotes sein 6. Attributnamen müssen angegeben werden 7. vordefinierte Attributwerte müssen lowercase sein http://www.w3.org/tr/xhtml1/#diffs es existieren Utilities zur Umformung http://tidy.sourceforge.net 3.7.03 Erik Wilde 22 2003 Erik Wilde 11

Programm Einführung und Geschichte von XML XML Basics (Dokumente, DTDs) Übung 1: XML Dokument und DTD XHTML als neue Version von HTML Übung 2: XHTML Dokument Mathematical Markup Language (MathML) Übung 3: Amaya als Formeleditor Demo: Konvertierung MathML nach PDF 35' 3.7.03 Erik Wilde 23 Mathematical Markup Language MathML ist eine XML-Anwendung HTML unterstützt keine Formeln Darstellung durch Bilder Darstellung durch HTML-Layout-Steuerung MathML definiert zwei Notationen Presentation Elements für die Struktur der Darstellung (Präsentation) Konzepte wie Klammern, Matrizen, Operatoren Content Elements für die mathematische Struktur Konzepte wie Addition, Exponentiation, Sinus beschränkter Vorrat an definierten Konzepten 3.7.03 Erik Wilde 24 2003 Erik Wilde 12

MathML Inhalt keine manuelle Erzeugung XML verlangt volles Markup komplexe Darstellung einfacher Formeln Tools (Formeleditoren), u.u. Import und Export Presentation Element für Zahlen Zahl als Operand in einer Formel Layout-Steuerung (Font und Farbe) Content Element für Zahlen Zahl als Repräsentation eines Konzepts Typ der Zahl (ganzzahlig oder Fliesspunkt) Basis der Zahl (dezimal, binär, oktal) 3.7.03 Erik Wilde 25 Beispiel einer MathML Formel ( a + b) 2 <msup> <mfenced> <mrow> <mi>a</mi> <mo>+</mo> <mi>b</mi> </mrow> </mfenced> <mn>2</mn> </msup> <apply> <power/> <apply> <plus/> <ci>a</ci> <ci>b</ci> </apply> <cn>2</cn> </apply> 3.7.03 Erik Wilde 26 2003 Erik Wilde 13

MathML Formeln sind Bäume 3.7.03 Erik Wilde 27 MathML 2.0 Referenz MathML 2.0 ist eine grosse DTD ca. 30 Elemente für Presentation Markup ca. 140 Elemente für Content Markup Arithmetic, Algebra, and Logic (<plus/>) Relations (<eq/>) Calculus (<int/>) Theory of Sets (<union/>) Sequences and Series (<sum/>) Classical Functions (<sin/>) Statistics (<mean/>) Linear Algebra (<matrix/>) Constants (<pi/>) http://www.zvon.org/xxl/mathml/output/ 3.7.03 Erik Wilde 28 2003 Erik Wilde 14

Programm Einführung und Geschichte von XML XML Basics (Dokumente, DTDs) Übung 1: XML Dokument und DTD XHTML als neue Version von HTML Übung 2: XHTML Dokument Mathematical Markup Language (MathML) Übung 3: Amaya als Formeleditor Demo: Konvertierung MathML nach PDF 35' 3.7.03 Erik Wilde 29 MathML Wiederverwendung MathML ist XML kann mit beliebigen XML Tools verarbeitet werden kann in andere XML Dokumente integriert werden in unseren Beispielen mit XHTML die Umgebung muss die Kombination verstehen MathML Abbildung auf andere Vokabulare MathML-Transformation mittels XSLT XSLT ist eine Sprache für XML-Transformationen Zielformate sind textbasierte Formate andere XML-Dialekte oder generell andere Formate http://sourceforge.net/projects/xsltml/ XSLT Programme für MathML LaTeX LaTeX nach PDF mittels pdflatex 3.7.03 Erik Wilde 30 2003 Erik Wilde 15

Besten Dank Fragen? Kommentare? mailto:net.dret@dret.net http://dret.net/netdret/ http://dret.net/netdret/publications#biel2003 3.7.03 Erik Wilde 31 2003 Erik Wilde 16