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

XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 1

3.7.03 Erik Wilde 1

XML, XHTML und MathML

Erik WildeInstitut für Technische Informatik und

Kommunikationsnetze (TIK)ETH Zürich

3.7.03 Erik Wilde 2

Programm

10'Demo: Konvertierung MathML nach PDF

15'Übung 3: Amaya als Formeleditor

15'Mathematical Markup Language (MathML)

10'Übung 2: XHTML Dokument

10'XHTML als neue Version von HTML

15'Übung 1: XML Dokument und DTD

35'XML Basics (Dokumente, DTDs)

10'Einführung und Geschichte von XML

Page 2: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 2

3.7.03 Erik Wilde 3

XML und HTML

sieht "so ungefähr" aus wie HTMLgleiche Basis (Standard Generalized Markup Language, SGML)proven success (SGML und HTML sind Erfolge)geringere Hemmschwelle für Umsteiger

funktioniert ähnlich wie HTMLgleiche Strukturierungsverfahren (Grammatiken)rein textorientiertes Format (keine Binärdaten!)

andere Zielgruppe als HTMLweiterverarbeitbare Information (B2B)anwendungsabhängige Datenstrukturenetabliertes Umfeld (EDIFACT, SGML, proprietär)

3.7.03 Erik Wilde 4

SGML

Standard Generalized Markup Languagedefiniert in ISO Standard 8879 (1986)

Markup Language trennt Struktur und TextStruktur ist syntaktisch identifizierbar

Vorteile einer Markup Languageeinfache Repräsentation (Erzeugung "von Hand")Austauschbarkeit als rein textbasierte Dokumente

Definition beliebiger Dokumenttypenanwendungsspezifische Dokumenttypengemeinsamer zugrundeliegender Mechanismusgemeinsam verwendbare Software

Page 3: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 3

3.7.03 Erik Wilde 5

SGML als Design-Philosophie

GML als erstes inhaltsorientiertes FormatDokumentformatierung als getrennter SchrittDefinition von Dokumentenklassen (Datentypen)

SGML kombiniert Struktur und Textzeichenbasiertes Format (keine binäre Form)Strukturinformation in der Form von "Markup"

internationaler Standard (ISO 8879, 1986)nicht unter Kontrolle eines Herstellersunabhängig von spezifischer Software

Optimierungen für manuelle Eingabegedacht als Erleichterungen für Menschenaber Hindernisse und Anforderungen für Maschinen

3.7.03 Erik Wilde 6

Aufbau von SGML

die SGML Declarationkonkrete Syntax (Zeichen mit spezieller Bedeutung)SGML Features (wie Markup Minimization)

die Document Type Definition (DTD)definiert erlaubte Elementedefiniert Kombination der erlaubten Elementedefiniert Attribute der erlaubten Elementedefiniert Entities, z.B. für Sonderzeichen

das Document selberStruktur des Inhaltes gemäss der DTDInhalt der Struktur (Text)

Page 4: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 4

3.7.03 Erik Wilde 7

SGML Parser

SGML Parser

SGMLDeclaration DTD Document

3.7.03 Erik Wilde 8

SGML/XML-Teile von HTML

<a href="http://www.ethz.ch/">ETH Z&uuml;rich</a>

Begrenzung des Attributwertes

Attributwert

SG

ML

Dec

lara

tion

Beginn eines Start-Tags

Element-Name

Attribut-Name

Zuweisung eines Attributwertes

Ende eines Tags

Beginn eines End-Tags

Sonderzeichen

DTD

Anchor-Element

Referenz-Attribut

URI der Referenz Text

Umlaut 'u'Docu

men

t

Page 5: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 5

3.7.03 Erik Wilde 9

Vergleich SGML/XML/HTML

freifreifreiDocument

fixfreifreiDTD

fixfixfreiSGML Declaration

SGML XML HTML

3.7.03 Erik Wilde 10

Beispiel (XML)

<?xml version="1.0" ?><!DOCTYPE kurs SYSTEM "kurs.dtd">

<kurs><titel kurz="XML">XML - Grundlagen und Umfeld</titel>

<referent email="[email protected]"homepage="http://dret.net/">

<vorname>Erik</vorname><name>Wilde</name><organisation homepage="http://www.tik.ee.ethz.ch/">ETHZürich</organisation>

</referent>

<referent> ... </referent>

<termin date="20000512" location="technopark"/>

<inhalt> ... </inhalt> </kurs>

Page 6: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 6

3.7.03 Erik Wilde 11

XML Baumstruktur

titeltitelinhaltinhalt

namename

referentreferent

organisationorganisationvornamevorname

namename

referentreferent

organisationorganisationvornamevorname

termintermin

kurskurs

emailemail

kurzkurz

homepagehomepage

datedate

locationlocation

emailemail

homepagehomepage

3.7.03 Erik Wilde 12

XML Dokumente sind Bäume

XM

L Parser

titeltitel

inhaltinhalt

namename

referentreferent

organisationorganisation

vornamevorname

namename

referentreferent

organisationorganisation

vornamevorname

termintermin

kurskurs

emailemail

kurzkurz

homepagehomepage

datedate

locationlocation

emailemail

homepagehomepage

<?xml version="1.0" ?><!DOCTYPE kurs SYSTEM "kurs.dtd">

<kurs><titel kurz="XML">XML -Grundlagen und Umfeld</titel>

<referent email="[email protected]"

homepage="http://dret.net/"><vorname>Erik</vorname><name>Wilde</name><organisation

homepage="...">ETHZürich</organisation>

</referent>

<referent> ... </referent><inhalt> ... </inhalt>

</kurs>

u.U. Schema-Information (z.B. Attribut-Defaults aus DTD oder XML Schema)

Page 7: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 7

3.7.03 Erik Wilde 13

Document Type Definition (DTD)

Beschreibung der Datenstrukturen in einem SchemaSchema beschreibt eine Klasse von DokumentenSGML/XML DTD ist nur eine mögliche Variante

Beschreibung von DatenblöckenElemente als StrukturmittelAttribute als Daten zu Elementen

Beschreibung der erlaubten KombinationenDefinition einer GrammatikVerwendung für die Validierung von Daten

Schema Modellierung als Kern von XML

3.7.03 Erik Wilde 14

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

email CDATA #IMPLIED

homepage CDATA #IMPLIED >

<!ELEMENT vorname (#PCDATA) >

<!ELEMENT name (#PCDATA) >

<!ELEMENT organisation (#PCDATA) >

<!ATTLIST organisation

homepage CDATA #IMPLIED >

Page 8: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 8

3.7.03 Erik Wilde 15

Elemente

Elemente sind der grundlegende MechanismusStrukturierung von hierarchischen Daten"beliebige" Namensgebung für ElementeDefinition gemäss inhaltlichen StrukturenKernpunkt des DTD-Designs

Elementtypen haben zwei wichtige Aspekteein content model für erlaubten InhaltAttribute (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 16

Elementtyp-Deklarationen

der Inhalt von Elementen kann seinnur Elemente (element content model)Text gemischt mit Elementen (mixed content model)kein Inhalt erlaubt (EMPTY Keyword)

das content model eines Elementsoptionales Vorkommen mit ?, wiederholbar mit *notwendig und wiederholbar mit +Sequenz mit ,Alternativen (Exklusiv-oder) mit |

nicht erlaubt sind folgende SGML Konstruktevertauschbare Vorkommen mit & und Exceptions

Page 9: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 9

3.7.03 Erik Wilde 17

Attribute

Attribute sind Informationen zu ElementenAttribute geben ZusatzinformationenEntscheidung Attribut/Element nicht immer klar

optional (#IMPLIED) oder notwendig (#REQUIRED)Attribute können verschiedene Typen haben

ein Konzept, das für Elemente nicht existiertdeutliche Einschränkungen (siehe HTML DTD)

DTD: <!ATTLIST titel kurz CDATA #REQUIRED >

Dokument: <titel kurz="XML">XML - Grundlagen...

3.7.03 Erik Wilde 18

Attributlisten-Deklarationen

erlaubt sindmehrere Attribute in einer AttributlisteNamenskonflikte: das erste Vorkommen zählt gleiche Attributnamen für verschiedene Elemente

erlaubte Typen sindString types (beliebiger String als Wert)Tokenized types (XML Namen)

ID/IDREF(S) als Referenzierungsmechanismus

Enumerated typesAuswahl aus vordefinierter Liste (z.B. Ja/Nein)

Page 10: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 10

3.7.03 Erik Wilde 19

Programm

10'Demo: Konvertierung MathML nach PDF

15'Übung 3: Amaya als Formeleditor

15'Mathematical Markup Language (MathML)

10'Übung 2: XHTML Dokument

10'XHTML als neue Version von HTML

15'Übung 1: XML Dokument und DTD

35'XML Basics (Dokumente, DTDs)

10'Einführung und Geschichte von XML

3.7.03 Erik Wilde 20

HTML und XML

HTML basiert auf SGMLGross-/Kleinschreibung ist irrelevantMarkup-Minimierung ist erlaubt (Tags weglassen)

99% aller HTML-Seiten sind fehlerhaftTools und Menschen sind nachlässigBrowser und Suchmaschinen sind tolerantdiese beiden Faktoren verstärken sich gegenseitig

XHTML ist HTML auf XML-Basiseine XHTML-Seite muss gültiges XML seindamit mit XML-Tools weiterverarbeitbareinfach mit XML-Tools zu erzeugen

Page 11: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 11

3.7.03 Erik Wilde 21

SGML

HTML/SGML und XHTML/XML

HTML

XML

XHTML"A Reformulation of HTML"

"SGML on the Web"

bas

ed o

n

bas

ed o

n

3.7.03 Erik Wilde 22

HTML → XHTML

Umwandlung bestehender HTML-Seiten1. valides HTML (http://validator.w3.org)2. alle Elemente und Attribute in lowercase3. leere Elemente als <element /> codieren4. End-Tags einfügen (<p>Text</p>)5. Attributwerte müssen in Quotes sein6. Attributnamen müssen angegeben werden7. vordefinierte Attributwerte müssen lowercase sein

http://www.w3.org/TR/xhtml1/#diffs

es existieren Utilities zur Umformunghttp://tidy.sourceforge.net

Page 12: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 12

3.7.03 Erik Wilde 23

Programm

10'Demo: Konvertierung MathML nach PDF

15'Übung 3: Amaya als Formeleditor

15'Mathematical Markup Language (MathML)

10'Übung 2: XHTML Dokument

10'XHTML als neue Version von HTML

15'Übung 1: XML Dokument und DTD

35'XML Basics (Dokumente, DTDs)

10'Einführung und Geschichte von XML

3.7.03 Erik Wilde 24

Mathematical Markup Language

MathML ist eine XML-AnwendungHTML unterstützt keine Formeln

Darstellung durch BilderDarstellung durch HTML-Layout-Steuerung

MathML definiert zwei NotationenPresentation Elements

für die Struktur der Darstellung (Präsentation)Konzepte wie Klammern, Matrizen, Operatoren

Content Elementsfür die mathematische StrukturKonzepte wie Addition, Exponentiation, Sinusbeschränkter Vorrat an definierten Konzepten

Page 13: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 13

3.7.03 Erik Wilde 25

MathML Inhalt

keine manuelle ErzeugungXML verlangt volles Markupkomplexe Darstellung einfacher FormelnTools (Formeleditoren), u.U. Import und Export

Presentation Element für ZahlenZahl als Operand in einer FormelLayout-Steuerung (Font und Farbe)

Content Element für ZahlenZahl als Repräsentation eines KonzeptsTyp der Zahl (ganzzahlig oder Fliesspunkt)Basis der Zahl (dezimal, binär, oktal)

3.7.03 Erik Wilde 26

Beispiel einer MathML Formel

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

( )2ba +

Page 14: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 14

3.7.03 Erik Wilde 27

MathML Formeln sind Bäume

3.7.03 Erik Wilde 28

MathML 2.0 Referenz

MathML 2.0 ist eine grosse DTDca. 30 Elemente für Presentation Markupca. 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/

Page 15: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 15

3.7.03 Erik Wilde 29

Programm

10'Demo: Konvertierung MathML nach PDF

15'Übung 3: Amaya als Formeleditor

15'Mathematical Markup Language (MathML)

10'Übung 2: XHTML Dokument

10'XHTML als neue Version von HTML

15'Übung 1: XML Dokument und DTD

35'XML Basics (Dokumente, DTDs)

10'Einführung und Geschichte von XML

3.7.03 Erik Wilde 30

MathML Wiederverwendung

MathML ist XMLkann mit beliebigen XML Tools verarbeitet werdenkann in andere XML Dokumente integriert werden

in unseren Beispielen mit XHTMLdie Umgebung muss die Kombination verstehen

MathML Abbildung auf andere VokabulareMathML-Transformation mittels XSLT

XSLT ist eine Sprache für XML-TransformationenZielformate 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

Page 16: XML, XHTML und MathML - dret.netdret.net/netdret/docs/wilde-biel2003.pdf · XML, XHTML und MathML 3.7.03 ©2003 Erik Wilde 3 3.7.03 Erik Wilde 5 SGML als Design-Philosophie GML als

XML, XHTML und MathML 3.7.03

©2003 Erik Wilde 16

3.7.03 Erik Wilde 31

Besten Dank

Fragen? Kommentare?

mailto:[email protected]

http://dret.net/netdret/

http://dret.net/netdret/publications#biel2003