Informationsdarstellung mit XML

Slides:



Advertisements
Ähnliche Präsentationen
Vorlesung Compilertechnik Sommersemester 2008
Advertisements

Die Schulkonsole für Lehrerinnen und Lehrer
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Extensible Markup Language
Worzyk FH Anhalt Datenbanksysteme für FÜ WS 2004/2005 XML - 1 XML Extensible Markup Language.
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Pflege der Internetdienste
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Imperative Programmierung
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 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
FH-Hof Grammatiken Richard Göbel. FH-Hof Begriffe Eine Grammatik definiert die Struktur (Syntax) einer Zeichenkette Eine Grammatik definiert nicht die.
Sortierverfahren Richard Göbel.
DOM (Document Object Model)
HTML - Eine erste Annäherung
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.
Einführung XML XML Einführung Andreas Leicht.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
So animieren Sie Kreisdiagramme mit der Eingangs-Animation „Rad“
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Heute: Scherenzange zeichnen
Was versteht man unter XML Schema?
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.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
20:00.
Die Geschichte von Rudi
„Küsse deine Freunde“ – FlexKom-App teilen
Formale Sprachen und Automaten
Hyperlinks und Anker Links notieren
DTD – Deklaration von Elementen Beschreibt die Einschränkungen des Inhalts eines Elements Syntax: Einziger atomarer Typ: #PCDATA (Parsed Character DATA)
für Weihnachten oder als Tischdekoration für das ganze Jahr
Syntaxanalyse Bottom-Up und LR(0)
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
Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
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.
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
PROCAM Score Alter (Jahre)
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Das ist die Geschichte eines kleinen Jungen aus der Schweiz.
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Formulare in HTML.
Informatik Formale Sprachen 1.2 Grammatiken formaler Sprachen
Es war einmal ein Haus
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
7. Formale Sprachen und Grammatiken
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
- Warum: Das HTML-Dilemma
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
 Präsentation transkript:

Informationsdarstellung mit XML Klaus Becker 2013

Informationsdarstellung mit XML <zufi> </zufi>

Darstellung von Information Teil 1 Darstellung von Information

Die "Welt" der Grafiken Grafiken begegnen einem überall, natürlich auch auf Computerbildschirmen. Grafiken werden eingesetzt, um Information nach dem Motto "ein Bild sagt mehr als tausend Worte" zu übermitteln. Wie kommen Grafiken "in den Computer"? Wie werden sie dargestellt, so dass sie von einem Computer bzw. von einem speziellen Computerprogramm angezeigt werden können? Mit diesen Fragen sollst du dich hier beschäftigen.

Pixelgrafik Eine Pixelgrafik (man sagt auch Rastergrafik) setzt sich aus sehr vielen Pixeln (Bildelementen / Rasterzellen) zusammen. Wenn man eine Pixelgrafik vergrößert, ist die Pixelstruktur deutlich zu erkennen. Pixelgrafiken verwendet man insbesondere bei Fotos.

Vektorgrafik Eine Vektorgrafik setzt sich aus geometrischen Objekten zusammen. Vektorgrafiken eignen sich zur Darstellung von Bildern, die aus geometrischen Objekten zusammengesetzt sind. Die Beschreibung solcher Grafiken mit geometrischen Objekten ermöglicht es, die Grafiken strukturgetreu zu vergrößern oder verkleinern. Wir werden im Folgenden solche Vektorgrafiken genauer betrachten.

Aufgabe (a) Stelle dir vor, du sollst die vorliegende Grafik jemandem - der die Grafik nicht sieht - möglichst genau beschreiben. Welche Informationen würdest du übermittel? Ergänze hierzu die folgende Auflistung. Es handelt sich um eine quadratische Grafik mit orangem Hintergrund. Die Grafik enthält ein Polygon (Vieleck), das aus 11 Punkten besteht. Das Polygon ist im Innern mit der Farbe weiß gefüllt. ... (b) Welche weiteren Daten (wie z.B. Ausmaße der Grafik) müsste man angeben, damit jemand die Grafik reproduzieren kann?

Aufgabe <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > <svg xmlns="http://www.w3.org/2000/svg" width="240" height="240"> <rect x="0" y="0" width="240" height="240" fill="orange"></rect> <polygon points="160 10 20 100 60 170 110 160 150 220 200 230 210 180 190 110 160 120 150 100 170 60" fill="white"></polygon> <polygon points="110 50 100 70 130 70 140 50" fill="red"></polygon> <polygon points="160 190 150 210 180 210 190 190" fill="red"></polygon> <polygon points="120 120 100 130 120 140 140 130" fill="blue"></polygon> <rect x="100" y="90" width="40" height="20" fill="green" stroke="none"></rect> <rect x="150" y="160" width="40" height="20" fill="green" stroke="none"></rect> <line x1="120" y1="70" x2="120" y2="90" stroke="gray" stroke-width="4px"></line> <line x1="120" y1="110" x2="120" y2="120" stroke="gray" stroke-width="4px"></line> <line x1="100" y1="130" x2="78" y2="130" stroke="gray" stroke-width="4px"></line> <line x1="80" y1="130" x2="80" y2="80" stroke="gray" stroke-width="4px"></line> <line x1="78" y1="80" x2="120" y2="80" stroke="gray" stroke-width="4px"></line> <line x1="120" y1="140" x2="120" y2="150" stroke="gray" stroke-width="4px"></line> <line x1="118" y1="150" x2="172" y2="150" stroke="gray" stroke-width="4px"></line> <line x1="170" y1="150" x2="170" y2="160" stroke="gray" stroke-width="4px"></line> <line x1="170" y1="180" x2="170" y2="190" stroke="gray" stroke-width="4px"></line> </svg> Versuche, die Bedeutung möglichst vieler Bestandteile des gezeigten Quelltextes herauszufinden. Markiere und kommentiere im Quelltext die Teile, die du auf der Webseite wiederfinden.

Informationsmodellierung - Grafiken svg svg xmlns=... width="240" height="240" rect polygon rect x="0" y="0" width="240" height="240" fill="orange" polygon polygon polygon rect polygon points="160 10 ..." fill="white" rect line polygon points="110 50 ..." fill="red" line ... ... Vektorgrafiken werden mit Hilfe geometrischer Objekte beschrieben.

Informationsmodellierung - Grafiken <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > <svg xmlns="http://www.w3.org/2000/svg" width="240" height="240"> <rect x="0" y="0" width="240" height="240" fill="orange"></rect> <polygon points="160 10 20 100 60 170 110 160 150 220 200 230 210 180 190 110 160 120 150 100 170 60" fill="white"></polygon> <polygon points="110 50 100 70 130 70 140 50" fill="red"></polygon> <polygon points="160 190 150 210 180 210 190 190" fill="red"></polygon> <polygon points="120 120 100 130 120 140 140 130" fill="blue"></polygon> <rect x="100" y="90" width="40" height="20" fill="green" stroke="none"></rect> <rect x="150" y="160" width="40" height="20" fill="green" stroke="none"></rect> <line x1="120" y1="70" x2="120" y2="90" stroke="gray" stroke-width="4px"></line> <line x1="120" y1="110" x2="120" y2="120" stroke="gray" stroke-width="4px"></line> <line x1="100" y1="130" x2="78" y2="130" stroke="gray" stroke-width="4px"></line> <line x1="80" y1="130" x2="80" y2="80" stroke="gray" stroke-width="4px"></line> <line x1="78" y1="80" x2="120" y2="80" stroke="gray" stroke-width="4px"></line> <line x1="120" y1="140" x2="120" y2="150" stroke="gray" stroke-width="4px"></line> <line x1="118" y1="150" x2="172" y2="150" stroke="gray" stroke-width="4px"></line> <line x1="170" y1="150" x2="170" y2="160" stroke="gray" stroke-width="4px"></line> <line x1="170" y1="180" x2="170" y2="190" stroke="gray" stroke-width="4px"></line> </svg> SVG steht für Scalable Vector Graphics. SVG ist eine Sprache, mit der man die Objekte einer Grafik präzise beschreiben kann.

Die "Welt" der Musik Früher haben Komponisten die Noten zu ihren neuen Musikstücken per Hand auf Notenpapier übertragen. Heute können sie die Musik direkt "einspielen", der Computer überträgt die Töne dann automatisch in das Notensystem. Wie kann man ein Musikstück so darstellen, dass die Noten von einem Computer bzw. von einem speziellen Computerprogramm angezeigt und auch abgespielt werden können?

Aufgabe Wir schauen uns zunächst die Darstellung von Noten in der Sprache MusicXML an. Schaue dir die MusicXML-Darstellung zu den Noten des Liedes "Bruder Jakob" an (siehe I: ...). Versuche, möglichst viele Informationen zur Notendarstellung des Liedes "Bruder Jakob" in der MusicXML-Darstellung wiederzufinden. Experimentiere auch mit dem Programm MuseScore.

Informationsmodellierung - Musik Note Tonhöhe Oktave eingestrichen Bezeichner f Spieldauer ... Notentyp Viertelnote Notenhals nach oben Lyrik Silbe Anfang Text 'Bru'

Informationsmodellierung - Musik <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 2.0 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd"> <score-partwise> <identification> <encoding> <software>MuseScore 1.1</software> <encoding-date>2012-02-16</encoding-date> </encoding> </identification> ... <note default-x="102.19" default-y="-35.00"> <pitch> <step>F</step> <octave>4</octave> </pitch> <duration>2</duration> <voice>1</voice> <type>quarter</type> <stem>up</stem> <lyric number="1"> <syllabic>begin</syllabic> <text>Bru</text> </lyric> </note> MusicXML ist eine Sprache, mit der man die Noten eines Musikstücks präzise beschreiben kann.

Informationsmodellierung - Musik X: 1 T: Bruder Jakob C: Traditional L: 1/4 K: F FGAF|FGAF| w: Bru-der Ja-kob! Bru-der Ja-kob! ABc2|ABc2| w: Schläfst du noch? Schläfst du noch? c/ d/ c/ B/ AF|c/ d/ c/ B/ AF| w: Hörst du nicht die Glo-cken? Hörst du nicht die Glo-cken? FCF2|FCF2|] w: Ding dong ding ding dong ding. ABC ist eine Sprache, mit der man die Noten eines Musikstücks präzise beschreiben kann.

Darstellung von Information Lied: „Bruder Jakob, ..." Information Repräsentieren Darstellen Interpretieren Deuten X: 1 T: Bruder Jakob C: Traditional L: 1/4 K: F FGAF|FGAF| w: Bru-der Ja-kob! Bru-der Ja-kob! ABc2|ABc2| w: Schläfst du noch? Schläfst du noch? c/ d/ c/ B/ AF|c/ d/ c/ B/ AF| w: Hörst du nicht die Glo-cken? Hörst du nicht die Glo-cken? FCF2|FCF2|] w: Ding dong ding ding dong ding. ... <note default-x="102.19" default-y="-35.00"> <pitch> <step>F</step> <octave>4</octave> </pitch> <duration>2</duration> <voice>1</voice> <type>quarter</type> <stem>up</stem> <lyric number="1"> <syllabic>begin</syllabic> <text>Bru</text> </lyric> </note> ... Daten Musik kann man auf unterschiedliche Weise (in Form von Daten) so darstellen, dass sie automatisiert verarbeitet werden kann.

Eine "Geo-Welt" Früher musste man in einen Atlas schauen oder sich spezielle Karten besorgen, um an die gewünschte Geo-Information heranzukommen. Heute kann man spezielle Webseiten aufrufen, die neben der gesuchten Information eine Vielzahl an weiteren Funktionalitäten bereit stellen. Wie kann man Geo-Information so darstellen, dass sie von einem Computer bzw. von einem speziellen Computerprogramm verwaltet und angezeigt werden kann?

Exkurs - OpenStreetMap Die Karten von OpenStreetMap werden erstellt, indem freiwillige Helfer Geodaten sammeln und in eine Datenbank hochladen. Wenn ein Benutzer sich einen Kartenausschnitt anzeigen lässt, dann werden die benötigten Geodaten aus der Datenbank zusammengesucht. Wir werden uns im Folgenden hier genauer anschauen, wie Geoinformation so in Form von Geodaten dargestellt werden kann, dass sie von einem Computerprogramm verarbeitet werden kann.

Aufgabe Die Webseite zu OpenStreetMap bietet einen Export von Karten an. Wir wählen als Export-Format "OpenStreetMap-XML-Daten" und speichern die Daten in einer Datei mit einem passenden Dateinamen (z.B. "map_palastgarten.osm") ab. Die Datei enthält dann eine Beschreibung des gewählten Kartenausschnitts in der Sprache OSM. (a) Suche verschiedene Geo-Objekte in der OSM-Beschreibung, z.B. den Teich, die Stadtmauer, das Landesmuseum, .... (b) Stelle erste Vermutungen auf, wie Geo-Objekte in der Sprache OSM dargestellt werden.

Aufgabe Zur Bearbeitung von OpenStreetMap-Geodaten verwenden wir das Softwarewerkzeug JOSM. Jetzt geht es ans Experimentieren. Hierdurch kannst du dir die Darstellung einzelner Geo-Objekte teilweise selbst erschließen. (a) Verändere mit dem Werkzeug JOSM Schritt für Schritt den Kartenausschnitt und beobachte, wie sich die Veränderungen in der zugehörigen OSM-Beschreibung zeigen. Die folgende Abbildung zeigt eine veränderte Karte, bei der der Teich und das Toilettenhäuschen verlegt wurden und bei der ein Baum eingezeichnet wurde. (b) Führe auch gezielt kleinere Veränderungen im Quelltext map_palastgarten.osm durch. Schaue dir anschließend die zugehörige Karte mit dem Werkzeug JOSM an.

Informationsmodell. - Geo-Information Polygonzug Punkt Breitengrad: 49.7522382 Längengrad: 6.6445699 ... Beschreibung: Spielfeld <?xml version="1.0" encoding="UTF-8"?> <osm version="0.6" generator="CGImap 0.0.2"> ... <way id="111469539" ...> <nd ref="1269920115"/> <nd ref="1269920121"/> <nd ref="1269920123"/> <nd ref="1269920110"/> <tag k="leisure" v="pitch"/> </way> <node id="1269920115" lat="49.7522382" lon="6.6445699" .../> <node id="1269920121" lat="49.7523975" lon="6.6443980" ..."/> <node id="1269920123" lat="49.7525854" lon="6.6448151" ..."/> <node id="1269920110" lat="49.7524260" lon="6.6449870" .../> </osm>

Informationsmodell. - Geo-Information <?xml version="1.0" encoding="UTF-8"?> <osm version="0.6" generator="CGImap 0.0.2"> ... <way id="111469539" ...> <nd ref="1269920115"/> <nd ref="1269920121"/> <nd ref="1269920123"/> <nd ref="1269920110"/> <tag k="leisure" v="pitch"/> </way> <node id="1269920115" lat="49.7522382" lon="6.6445699" .../> <node id="1269920121" lat="49.7523975" lon="6.6443980" ..."/> <node id="1269920123" lat="49.7525854" lon="6.6448151" ..."/> <node id="1269920110" lat="49.7524260" lon="6.6449870" .../> </osm> OSM ist eine Sprache, mit der im OpenStreetMap-Projekt Geoinformation präzise beschrieben wird.

Darstellung von Information ... Information Repräsentieren Darstellen Interpretieren Deuten Darstellung von Information Menschen versuchen seit eh und je, "Lebenswelten" mit Hilfe von Darstellungen zu erfassen.

Darstellung von Information ...Geo-Information... Information Repräsentieren Darstellen Interpretieren Deuten Darstellung von Information Für bestimmte "Lebenswelten" wurden im Laufe der Zeit charakteristische Darstellungsformen entwickelt. So wird die "Geo-Lebenswelt" (z.B. Gewässer, Berge, Grenzen, ...) üblicherweise mit Hilfe von Karten dargestellt.

Darstellung von Information ...Geo-Information... Information Repräsentieren Darstellen Interpretieren Deuten <?xml version="1.0" encoding="UTF-8"?> <osm version="0.6" generator="CGImap 0.0.2"> ... <way id="111469539" ...> <nd ref="1269920115"/> <nd ref="1269920121"/> <nd ref="1269920123"/> <nd ref="1269920110"/> <tag k="leisure" v="pitch"/> </way> </osm> Daten Heute versucht man, "Lebenswelten" im Computer zu repräsentieren. Hierzu ist es erforderlich, die gesamte relevante Information, die eine "Lebenswelt" ausmacht, computergerecht (in Form von Daten) darzustellen.

Darstellung von Information "Lebenswelten" sind meist recht komplex. Es ist daher gar nicht so einfach, die Struktur einer "Lebenswelt" adäquat zu erfassen. Zur computergerechten Darstellung von "Lebenswelten" benutzt man heute sehr oft Auszeichnungssprachen. Das sind Sprachen, die Auszeichnungen zur Beschreibung der Struktur von "Lebenswelten" benutzen. <?xml version="1.0" encoding="UTF-8"?> <osm version="0.6" generator="CGImap 0.0.2"> ... <way id="111469539" ...> <nd ref="1269920115"/> <nd ref="1269920121"/> <nd ref="1269920123"/> <nd ref="1269920110"/> <tag k="leisure" v="pitch"/> </way> </osm> Daten So benutzt die Sprache OSM Auszeichnungen wie <way>...</way>, um bestimmte Geo-Objekte (hier Wege zur Begrenzung eines Objektes) zu charakterisieren. Auszeichnungen bestehend aus einem öffnenden Tag <way> und einem schließenden Tag </way> werden dabei benutzt, um den umschließenden Inhalt in einer bestimmten Weise zu charakterisieren. Beachte, dass es auch andere Formen der Informationsdarstellung gibt.

Teil 2 XML-Dokumente

Beispiel - XHTML-Dokument

Beispiel - SVG-Dokument

Beispiel - MusicXML-Dokument

Ein selbst erstelltes Dokument <?xml version="1.0" encoding="iso-8859-1"?> <Kurs> <!-- Organisation --> <Fach>Informatik</Fach> <Typ>Grundkurs</Typ> <Stufe>11</Stufe> <Bezeichner>11-in-1</Bezeichner> <Unterricht> <Einheit> <Tag>Montag</Tag> <Stunde>7</Stunde> <Raum>B04</Raum> </Einheit> <Tag>Mittwoch</Tag> <Stunde>3</Stunde> <Stunde>4</Stunde> </Unterricht> <!-- Personen --> ... ... <Lehrer kürzel="SU" geschlecht="w"> <Name>Schuster</Name> <Vorname>Christiane</Vorname> </Lehrer> <Schüler geschlecht="m"> <Name>Schwarz</Name> <Vorname>Tobias</Vorname> </Schüler> <Schüler geschlecht="w"> <Name>Baum</Name> <Vorname>Nina</Vorname> <Name>Müller</Name> <Vorname>Katrin</Vorname> <Kurssprecher/> <Name>Roth</Name> <Vorname>Andreas</Vorname> <!-- ... --> </Kurs> Welche "Welt" wird hier beschrieben? Beschreibe sie in Worten. Welche Informationen sind im gezeigten XML-Dokument dargestellt? Beschreibe sie in Worten.

Fachkonzept - XML <?xml version="1.0" encoding="iso-8859-1"?> <Kurs> <!-- Organisation --> <Fach>Informatik</Fach> <Typ>Grundkurs</Typ> <Stufe>11</Stufe> <Bezeichner>11-in-1</Bezeichner> <Unterricht> <Einheit> <Tag>Montag</Tag> <Stunde>7</Stunde> <Raum>B04</Raum> </Einheit> <Tag>Mittwoch</Tag> <Stunde>3</Stunde> <Stunde>4</Stunde> </Unterricht> <!-- Personen --> ... ... <Lehrer kürzel="SU" geschlecht="w"> <Name>Schuster</Name> <Vorname>Christiane</Vorname> </Lehrer> <Schüler geschlecht="m"> <Name>Schwarz</Name> <Vorname>Tobias</Vorname> </Schüler> <Schüler geschlecht="w"> <Name>Baum</Name> <Vorname>Nina</Vorname> <Name>Müller</Name> <Vorname>Katrin</Vorname> <Kurssprecher/> <Name>Roth</Name> <Vorname>Andreas</Vorname> <!-- ... --> </Kurs> XML steht für "eXtensible Markup Language". XML ist eine universelle, erweiterbare Sprache, mit der man konkrete Auszeichnungssprachen erzeugen kann.

Anzeige mit einem Browser XML-Dokumente <?xml version="1.0" encoding="iso-8859-1"?> <Kurs> <!-- Organisation --> <Fach>Informatik</Fach> <Typ>Grundkurs</Typ> <Stufe>11</Stufe> <Bezeichner>11-in-1</Bezeichner> <Unterricht> <Einheit> <Tag>Montag</Tag> <Stunde>7</Stunde> <Raum>B04</Raum> </Einheit> <Tag>Mittwoch</Tag> <Stunde>3</Stunde> <Stunde>4</Stunde> </Unterricht> <!-- Personen --> ... XML-Dokumente werden benutzt, um Information strukturiert darzustellen. Die Strukturierung erfolgt in Form eines Baumes. Darstellung im Editor Anzeige mit einem Browser

Element mit Zeicheninhalt XML-Elemente Grundbausteine eines XML-Dokuments sind die XML-Elemente. Ein XML-Element besteht dabei aus einem öffnenden Tag, einem Inhalt und einem schließenden Tag. Ein Element kann selbst wieder Elemente enthalten (Container) oder nur noch Zeichen (eigentliche Daten) oder beides (gemischter Inhalt) oder auch gar nichts (leeres Element). Das erste Element eines XML-Dokuments ist das Wurzelelement, das alle anderen Elemente in sich einschließt. Wurzelelement Element als Container Element mit Zeicheninhalt leeres Element

<Kurssprecher></Kurssprecher> Tags Elemente werden mit Hilfe von Tags beschrieben. Tags werden mit Hilfe von spitzen Klammern gebildet. Die Tag-Namen sind (fast) frei wählbar. Anfangs- und Endtag müssen immer exakt zueinander passen. Dabei wird auf Groß- und Kleinschreibung geachtet. Tags müssen korrekt geschachtelt werden. Bei einem leeren Element wird i. d. Regel eine verkürzte Tag-Schreibweise benutzt. Anfangstag Endtag <Kurssprecher></Kurssprecher>

Attribute Elemente können mit Hilfe von Attributen näher beschrieben werden. Attribute können dabei zusätzliche Informationen über den Inhalt eines Elements liefern, ohne selbst Teil des Inhalts zu sein. Jedem Attribut muss ein bestimmter Wert zugewiesen werden, der in Anführungszeichen geschrieben wird. Attribut Attributwert

Prolog / Kommentare Ein XML-Dokument beginnt in der Regel mit dem Prolog <?xml ... ?>. Der Prolog kennzeichnet das Dokument als XML-Dokument. <?xml version="1.0" encoding="iso-8859-1"?> <Kurs> <!-- Organisation --> <Fach>Informatik</Fach> <Typ>Grundkurs</Typ> <Stufe>11</Stufe> <Bezeichner>11-in-1</Bezeichner> <Unterricht> <Einheit> <Tag>Montag</Tag> <Stunde>7</Stunde> <Raum>B04</Raum> </Einheit> <Tag>Mittwoch</Tag> <Stunde>3</Stunde> <Stunde>4</Stunde> </Unterricht> <!-- Personen --> ... Prolog Im Prolog kann der Zeichensatz festgelegt werden, der zur Kodierung benutzt wird. Fehlt die Angabe des Zeichensatzes, so wird utf-8 als Vorgabe benutzt. Kommentare erleichtern das Verständnis und werden vom Browser mit angezeigt. Kommentar

Wohlgeforme XML-Dokumente Ein XML-Dokument, das alle Regeln von XML erfüllt, heißt wohlgeformt.

Anwendung - FilmXML Aufgaben (a) Recherchiere entsprechende Filmdaten auch zu anderen Filmen. (b) Erstelle eine Liste mit den Informationen, die erfasst werden sollen. (c) Entwickle ein XML-Dokument, mit dem die (gewünschten) Informationen über der Film "Titanic" adäquat dargestellt werden. (d) Erstelle ein XML-Dokument mit der gleichen XML-Dokumentenstruktur zu einem weiteren Film. (e) Öffne die XML-Dokumente mit einem Browser und teste auf diese Weise, ob sie wohlgeformt sind. <?xml version="1.0" encoding="iso-8859-1"?> <Film> <!-- Rahmendaten --> <Titel>Titanic</Titel> <Erscheinungsjahr>1997</Erscheinungsjahr> ... <!-- Darstellung der Figuren --> </Film>

Anwendung - FußballXML Aufgaben (a) Recherchiere entsprechende Daten auch zu anderen Spielen. (b) Erstelle eine Liste mit den Informationen, die erfasst werden sollen. (c) Entwickle ein XML-Dokument, mit dem die (gewünschten) Informationen über das gezeigte Fußballspiel adäquat dargestellt werden. (d) Erstelle ein XML-Dokument mit der gleichen XML-Dokumentenstruktur zu einem weiteren Fußballspiel. (e) Öffne die XML-Dokumente mit einem Browser und teste auf diese Weise, ob sie wohlgeformt sind. <?xml version="1.0" encoding="iso-8859-1"?> <Fußballspiel> <!-- Rahmendaten --> <Heim>1. FC Kaiserslautern</Heim> <Gast>1. FSV Mainz 05</Gast> ... </Fußballspiel>

Teil 3 XML-Dokumenttypen

Einheitliche Dokumentstruktur

Dokumenttypdefinition <?xml version="1.0" encoding="iso-8859-1"?> <!ELEMENT Kurs (Fach, Typ, Stufe, Bezeichner, Unterricht, Lehrer, Schüler*)> <!ELEMENT Fach (#PCDATA)> <!ELEMENT Typ (#PCDATA)> <!ELEMENT Stufe (#PCDATA)> <!ELEMENT Bezeichner (#PCDATA)> <!ELEMENT Unterricht (Einheit+)> <!ELEMENT Einheit (Tag, Stunde, Raum?)> <!ELEMENT Tag (#PCDATA)> <!ELEMENT Stunde (#PCDATA)> <!ELEMENT Raum (#PCDATA)> <!ELEMENT Lehrer (Name, Vorname)> <!ATTLIST Lehrer kürzel CDATA #REQUIRED geschlecht CDATA #REQUIRED > <!ELEMENT Name (#PCDATA)> <!ELEMENT Vorname (#PCDATA)> <!ELEMENT Schüler (Name, Vorname, Kurssprecher?)> <!ATTLIST Schüler <!ELEMENT Kurssprecher EMPTY> Notepad++ kurs.dtd Dokumenttyp-definition <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE Kurs SYSTEM "kurs.dtd"> <Kurs> ... </Kurs> Einbindung der DTD XML-Dokument Eine Dokumenttypdefinition (kurz DTD) legt einen Dokumenttyp präzise fest.

Validierung eines XML-Dokuments Man kann die Gültigkeit eines XML-Dokuments mit Hilfe spezieller Validierer überprüfen lassen. Ein XML-Validierer / XML-Parser ist ein Programm, das überprüft, ob das XML-Dokument die von der angegebenen DTD geforderte Struktur hat. Ein XML-Dokument, das alle Festlegungen einer DTD erfüllt, heißt gültig bzw. valide bzgl. dieser DTD.

Exkurs - Dokumenttypdefinitionen Eine Dokumenttypdefinition beschreibt den Aufbau eines XML-Dokuments aus Elementen sowie die Attributstruktur der Elemente. <!ELEMENT Kurs (Fach, Typ, Stufe, Bezeichner, Unterricht, Lehrer, Schüler*)> <!ELEMENT Fach (#PCDATA)> <!ELEMENT Typ (#PCDATA)> <!ELEMENT Stufe (#PCDATA)> <!ELEMENT Bezeichner (#PCDATA)> <!ELEMENT Unterricht (Einheit+)> <!ELEMENT Einheit (Tag, Stunde, Raum?)> <!ELEMENT Tag (#PCDATA)> <!ELEMENT Stunde (#PCDATA)> <!ELEMENT Raum (#PCDATA)> <!ELEMENT Lehrer (Name, Vorname)> <!ATTLIST Lehrer kürzel CDATA #REQUIRED geschlecht CDATA #REQUIRED > <!ELEMENT Name (#PCDATA)> <!ELEMENT Vorname (#PCDATA)> <!ELEMENT Schüler (Name, Vorname, Kurssprecher?)> <!ATTLIST Schüler <!ELEMENT Kurssprecher EMPTY> Das Wurzelelement hat den Namen "Kurs". Ein Element vom Typ "Kurs" besteht aus einer Folge/Sequenz aus Elementen: einem Element vom Typ "Fach" gefolgt von einem Element vom Typ "Typ" ... gefolgt von beliebig vielen Elementen vom Typ "Schüler". Ein Element vom Typ "Fach" besteht aus Zeichen (parsed character data). ... Ein Element vom Typ "Unterricht" besteht aus beliebig vielen Elementen (aber mindestens einem) vom Typ "Einheit". Ein Element vom Typ "Einheit" besteht aus einer Folge/Sequenz aus Elementen: einem Element vom Typ "Tag" gefolgt von einem Element vom Typ "Stunde" evtl. gefolgt einem Element vom Typ "Raum". Ein Element vom Typ "Lehrer" hat die Attribute "Name" und "Vorname", die beide nicht weggelassen werden können und deren Werte Zeichenketten sind. Ein Element vom Typ "Kurssprecher" ist ein leeres Element. DTD in automat.dtd

Exkurs - Dokumenttypdefinitionen Operator Bedeutung () Bildung von Elementgruppen , Trennzeichen innerhalb einer Sequenz von Elementen | Trennzeichen zwischen sich ausschließenden Alternativen * Element(gruppe) kann beliebig oft (auch gar nicht) vorkommen + Element(gruppe) muss mindestens einmal, kann mehrfach vorkommen ? Element(gruppe) kann einmal oder kein mal vorkommen <!ELEMENT Name Inhaltsmodell> <!ELEMENT Kurs (Fach, Typ, Stufe, Bezeichner, Unterricht, Lehrer, Schüler*)> <!ELEMENT Fach (#PCDATA)> <!ELEMENT Typ (#PCDATA)> <!ELEMENT Stufe (#PCDATA)> <!ELEMENT Bezeichner (#PCDATA)> <!ELEMENT Unterricht (Einheit+)> <!ELEMENT Einheit (Tag, Stunde, Raum?)> <!ELEMENT Tag (#PCDATA)> <!ELEMENT Stunde (#PCDATA)> <!ELEMENT Raum (#PCDATA)> <!ELEMENT Lehrer (Name, Vorname)> <!ELEMENT Name (#PCDATA)> <!ELEMENT Vorname (#PCDATA)> <!ELEMENT Schüler (Name, Vorname, Kurssprecher?)> <!ELEMENT Kurssprecher EMPTY> Elementtyp-Deklaration

Exkurs - Dokumenttypdefinitionen Inhaltsmodell Beschreibung Elementinhalt Das Element enthält ausschließlich Unterelemente. <!ELEMENT Einheit (Tag, Stunde, Raum?)> <Einheit><Tag>Montag</Tag><Stunde>7</Stunde><Raum>B04</Raum></Einheit> #PCDATA Das Element enthält nur Zeichendaten. <!ELEMENT Fach (#PCDATA)> <Fach>Informatik</Fach> gemischter Inhalt Das Element kann Zeichendaten und Unterelemente enthalten <!ELEMENT anrede (#PCDATA?, vormame, name)> <anrede>Frau<vorname>Christiane</vorname><name>Meier</name></anrede> EMPTY Das Element hat keinen Inhalt. <!ELEMENT Kurssprecher EMPTY> <Kurssprecher/> ANY Das Element kann beliebige Inhalte haben.

Exkurs - Dokumenttypdefinitionen <!ATTLIST Elementname Attributname Attributtyp Vorgabewert Attributname Attributtyp Vorgabewert Attributname Attributtyp Vorgabewert ... > <!ATTLIST Lehrer kürzel CDATA #REQUIRED geschlecht CDATA #REQUIRED > Attributlisten-Deklaration CDATA: nur einfache Zeichenketten erlaubt, keine Tags ... #REQUIRED: Attributwert muss in jeder Elementinstanz vorkommen #IMPLIED: Attributwert kann optional in einer Elementinstanz vorkommen

Einbindung einer DTD Eine Dokumenttypdefinition kann direkt in das XML-Dokument nach dem XML-Prolog eingebunden werden (interne DTD). Eine Dokumenttypdefinition kann auch über eine Referenz auf eine Datei mit dem XML-Dokument verbunden werden (externe DTD). Mit dem Schlüsselwort PUBLIC wird auf eine veröffentlichte DTD verwiesen. Als Name der DTD wird der Name d. Wurzelelement benutzt. <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE Kurs [ ... ]> <Kurs> ... </Kurs> interne DTD <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE Kurs SYSTEM "kurs.dtd"> <Kurs> ... </Kurs> externe DTD <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> ... </html> externe DTD <!DOCTYPE Name [...]>

Anwendung – FilmXML / FussballXML Aufgaben (a) Entwickle eine geeignete Dokumenttypdefinition zur Beschreibung der Struktur gültigen FilmXML-Dokumente bzw. FussbalXML-Dokuments. (b) Validiere selbst erstellte XML-Dokumente bzgl. Der festgelegten DTD.

Exkurs - Sprachen Sprachen sind Zeichensysteme, die u. a. für Kommunikation genutzt werden. Ido esas internaciona linguo kun poka polisemio sate konciza kreita da Louis de Beaufront en 1907 kom Esperanto reformita, adoptita internacione en Paris ye oktobro 1907, kom “idiomo helpanta internaciona”, da la Delegitaro (Délégation pour l’adoption d’une langue auxiliaire internationale). http://io.wikipedia.org/wiki/Ido <mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mrow> <mn>4</mn> <mo>&InvisibleTimes;</mo> <mi>x</mi> </mrow> <mo>+</mo> <mn>4</mn> </mrow> <mo>=</mo> <mn>0</mn> </mrow>

Lexik, Syntax, Semantik, Pragmatik Aspekte von Sprachen: Lexik: Lehre vom Wortschatz Gesamtheit der Wörter der Sprache Syntax: Lehre vom Satzbau Regeln, nach denen Sätze gebildet werden Semantik: Bedeutungslehre Bedeutung von Wörtern, Sätzen, ... Pragmatik: Lehre von der Verwendung sprachlicher Konstrukte in Handlungssituationen

Sprachfestlegung mit XML XML ermöglicht es, mit Hilfe von DTD neue Sprachen formal festzulegen. Die DTD ist die Grammatik der betreffenden Sprache, dargestellt unter Verwendung der erweiterten Backus-Naur-Form. "Die Erweiterte Backus-Naur-Form, kurz EBNF, ist eine Erweiterung der Backus-Naur-Form (BNF), die ursprünglich von Niklaus Wirth zur Darstellung der Syntax der Programmiersprache Pascal eingeführt wurde. Sie ist eine formale Metasyntax (Metasprache), die benutzt wird, um kontextfreie Grammatiken darzustellen." (wikipedia) <!DOCTYPE html [ <!ELEMENT html (head, body)> <!ELEMENT head (title)> <!ELEMENT title (#PCDATA)> <!ELEMENT body (h1 | p)+> <!ELEMENT h1 (#PCDATA)> <!ELEMENT p (#PCDATA | img | a)*> <!ELEMENT img EMPTY> <!ATTLIST img src CDATA #REQUIRED alt CDATA #REQUIRED> <!ELEMENT a (#PCDATA)> <!ATTLIST a href CDATA #REQUIRED > ] > Grammatik einer sehr einfachen Variante von HTML