XML. Prof. Dr. W. Riggert FH Flensburg

XML Prof. Dr. W. Riggert FH Flensburg Gliederung XML- Historie, Ziel, Position zu HTML z Struktur und Syntax z XPath, XQuery, Ablage z Warum XML ?...
Author: Ludo Kästner
21 downloads 1 Views 2MB Size
XML Prof. Dr. W. Riggert FH Flensburg

Gliederung XML- Historie, Ziel, Position zu HTML z Struktur und Syntax z XPath, XQuery, Ablage z

Warum XML ?

XML ist die einzige Möglichkeit, die Vielzahl der Daten, Anwendungen und Geräte des E-Business zu verwalten

Historische Entwicklung

Entwicklungsmotive z

Zwei Motive haben die Entwicklung von XML ausgelöst: z Die seit 1969 für die Beschreibung von Dokumentenstrukturen verwendete Standard Generalized Markup Language SGML war zu komplex. z HTML als die einflussreichste aus SGML abgeleitete Auszeichnungssprache erwies sich wegen des weitgehend fixierten Satzes von Elementtypen als zu starr

XML-Beispiel

Quelle: GS1 Germany

XML-Merkmale ] ] ] ] ] ]

XML ist ein offener Standard XML basiert auf selbstbeschreibenden Merkmalen (Kontext als auch Inhalt) XML ist leicht erlernbar XML ist leicht sowohl von Rechnern als auch von Menschen zu lesen XML Dokumente sind leicht erweiterbar XML ist plattform- und anwendungsunabhängig

XML als Integrationswerkzeug

Business-toConsumer Transaktion

EDI

XML-fähige, genaue Suchmaschine

VS.

Inhaltsverteilung

Kommunikation zwischen Anwendungen

Computing as Usual

JIT Software …

Quelle : Hochberg, SAG-Symposium, 2000

XML-Dokumententypen Projektdaten

existierende Datenbanken

Briefe kj flsjd kjs lskjlkj lskjd lksjl fslk jdlksj fksjdlkjlkjf lskjdlkjf slkjkj flskdjljdkfj s lkjlkjlsd s dfl skjd f slkdjflskdj

zentrales Datenmanagement

lslkjdflk lskjd lfksjdlk lskdjfl aölskjdfölskdjf söldkfjlskdj föaslkdjlskdjf ösldkfjlskd föalskdj

ksjdlfkjslkjd

Fax Edmund Boister Minimillennium Minga Kunden# 08/15-4711

Sehr geehrte Damen und Herren! Bitte fakturieren Sie folgenden Auftrag: #

Beschreibung

Audio Listen

Video

asdas ddas(asdsad) asdasddasda asdasdsd asdasdsdasdsdasdas sdassdsdasd sdas

E-Mails kjfskdjfl lkjfkjdflks kjlfkjslkjkjl

Bilder

Prozessbeschreibungen

asdasdasdasd fa sdf asdfsdf as df asdf sdfsd

sdksldjfslkdf laskjdkdjf lskdj sd hflaksjdhf skk fksjdlfj öalsjdlfksjdf slkd lksdjf slkdfjlkdj aölskdjf skdjf slkjlj öa södlfjlkd föjkal slkdf lkjflksjdföa ljls df lskjd flkj llksd fjlakkjshd fkahlkh kshd flaksh kj flkahksjd flkajkjsh flkajsh dfkj h ksj fksjdhf la

sdasds dassdasdsdasd(werwe) sdasdaskjl lkjf ölkjglkdf jgs kjlkfjgölkfjg lkdfjg ldkfjglö dkfjlgdkk

XML für verschiedene Layouts und Geräte Wetterdaten

Drucker

CD

Bild

Bericht

News Ticker Internet

Frankfurt: Wind 4 WNW / Rain / 22°C

XML - Überblick z

Einordnung – Demo-Video

XML: Trennung von Content und Layout Darstellung der logischen Struktur von Dokumenten z Layoutinformationen davon separat z

Abbildung: Roland Boendgen

XML-Strukturphilosophie

XML-Nutzen ] XML Tags \ erlaubt selbstbeschreibende Daten ] XML Programming Interface \ arbeitet mit jedem Programmiermodell zusammen ] XML Style Sheets \ erleichtert die Personalisierung von Informationen ] XML Document Type Definitions \ gestattet eine Dokumentenbeschreibung für unterschiedlichste Belange

Quelle : Viljoen, SAG-Symposium, 2000

Struktur von XML Im Mittelpunkt stehen Dokumente

- Überschrift

Inhalt

- Einleitung - Text Inhalt = Struktur

Formatierung des Textes = Darstellung

HTML vs. XML HTML

XML

Struktur

Festgelegt durch Struktur-Tags. Dokumentstruktur bestimmt Anordnung der Tags. Nicht erweiterbar.

Festlegung einer eigenen Struktur durch selbstdefinierte Tags. Anordnung der Tags bestimmt Struktur des Dokuments. Beliebig erweiterbar.

Inhalt

Wird vom Autor festgelegt. Tags dienen der Formatierung des Textes zwischen den Tags. Dynamischer Zugriff auf den Text ohne Hilfsmittel nicht möglich.

Wird vom Autor festgelegt. Tags beinhalten den Text des Dokuments. Dynamischer Zugriff durch spezielle Zugriffsmethoden auf den Inhalt der Tags möglich.

Darstellung

Zentral im HTML Dokument durch Tags, die Formatanweisungen enthalten

Formatanweisungen sind ausgelagert in externe Datei

Darstellung von XMLDokumenten ] HMTL Seiten nutzen vordefinierte Tags für die Formatierung – der Browser interpretiert diese ] XML zeichnet sich durch eine unendliche Menge möglicher Tags aus – daher ist es unmöglich ein definiertes Layout für diese Tags im Browser festzulegen ] XSL (Extensible Stylesheet Language) ist ein Zusatzstandard, der XML-Dokumente formatiert und mit bedingten Anweisungen ausgeben kann

Gliederung XML- Historie, Ziel, Position zu HTML z Struktur und Syntax z XPath, XQuery, Ablage z

Besonderheiten Anwender definieren ihre eigenen Tags oder greifen auf öffentlich verfügbare Tagmengen zurück, die für verschiedene Anwendungsbereiche angeboten werden. z Inhaltliche Strukturen lassen sich in beliebiger Tiefe schachteln z Die verwendeten Tagnamen lassen einen Rückschluss auf die Bedeutung der Daten zu. Dagegen wird die Darstellung nicht explizit festgelegt. z XML erlaubt die Festlegung externer Bezüge für ein Dokument. Derartige Referenzen werden aufgelöst und druch die entsprechende Entität ersetzt. Mittels Referenzen werden Entitäten in einem Dokument bei Bedarf mehrfach verwendet. Auf diese Weise lässt sich ein XML-Dokument aus vorgefertigten Teilen zusammensetzen. z

Informationseinheiten z

Elf Typen von Informationseinheiten werden unterschieden: z Dokument z Element z Attribut z Verarbeitungsanweisung z Entitätsreferenz z Zeichen z Kommentar z Dokumenttyp-Deklaration z Ungeparste Entität z Notation z Namensraum

Bedeutung der Informationseinheiten Die wichtigsten Komponenten in der sich der Inhalt widerspiegelt, sind Elemente und Attribute. z Das XML-Dokument ist als Baum strukturiert mit einer Wurzel, die alle Elemente umschliesst z

XML-Syntax Um wohlgeformt zu sein, muss ein Dokument syntaktische Regeln der XML-Grammatik erfüllen. z Dabei gilt: z Jedes wohlgeformte Dokument beginnt mit einem Prolog, dem mindestens ein Element folgt. z Danach sind Kommentare oder Verarbeitungsanweisungen erlaubt. z Hinter dem Prolog beginnen die XML-Daten in Form eines Baumes aus Elementen und Attributen. z Das erste Element ist das Wurzelelement, das alle anderen Elemente einschließt z

XML-Deklaration - Video z

XML-Deklaration

XML - Baum

Aufbau eines XML-Dokumentes Bestandteile eines XML-Dokumentes

Vorspann DTD (intern oder extern)

XML

XML-Dokumentenstruktur

XML-Dokumentenbeispiel

XML-Dokument - Baum z

XML definiert Baumstruktur! z Wurzel heißt Dokumentelement z Blattelemente enthalten Werte z Einziger Datentyp: Zeichenkette

XML - Objekte z

XML nennt seine Objekte Elemente z Elemente sind begrenzt durch Tags z Tagnamen sind "case-sensitive" z Jedes geöffnete Tag muss auch wieder geschlossen werden z Tags dürfen einander nicht überlappen; nicht erlaubt z. B.: z Tags leerer Elemente haben besondere Syntax: (Shortcut für ) z Tags können Attribute enthalten: z Eine korrekte Schachtelung ist notwendig (anders als in HTML). XML-Elemente dürfen nicht überlappen.

Vorspann eines XMLDokumentes version z gegenwärtig nur 1.0, 1.1 z falls zukünftig weitere Versionen als Empfehlung vom W3C verabschiedet werden, dann ermöglicht der Parameter die Verarbeitung verschiedener Versionen. z encoding (optional) z Kodierung des Dokuments, Beispiele (UTF-8 – auch Defaultwert, UTF-16 - müssen ebenfalls alle XML-Prozessoren unterstützen). z standalone (optional) z 'yes' - spezifiziert, dass dem Dokument eine externe MarkupDeklaration (DTD oder XML-Schema) zugeordnet wird, sonst 'no' z Defaultwert 'no'‚ wenn externe Deklaration definiert ist und standalone nicht angegeben ist z

Beispiele - Vorspann

XML - Grammatik

Grammatik - Besonderheiten Anders als bei HTML ist auf Groß- und Kleinschreibung zu achten. Ein Name muss mit einem Buchstaben, einem Unterstrich oder einem Doppelpunkt beginnen z Elemente sind mit beliebig vielen Attributen definierbar, mit Paaren von Attributname und Attributwert z Jedes angegebene Attribut muss einen Wert haben, der in Hochkommata oder Anführungszeichen eingeschlossen ist. Mehrere Attribute werden durch Leerzeichen getrennt. z Ob in einer Dokumentenstruktur ein Objekt besser als Element oder Attribut behandelt wird, obliegt dem Anwender z

Grammatik - Namensräume Die freie Namenswahl bei Elementen und Attributen wirft Probleme auf, wenn die gleichen Namen mit unterschiedlicher Bedeutung verwendet werden. z kann Mitgliedsbeiträge oder Artikel für eine Zeitschrift bedeuten. z Um Mehrdeutigkeiten zu vermeiden, ordnet man Namen Namensräumen zu. Diese werden durch eine eindeutige URIReferenz identifiziert. z Der URI wird über ein xmlns-Attribut ein Präfix zugeordnet: Ein Element dieses Namensraums wird wie folgt angesprochen: 100 z

Aufbau von XML-Dokumenten 1

Titel : „Linux“ Autor : „Michael Kofler“ ISBN : 3-8273-1475-5

Komponenten eines Buchs

Linux Michael Kofler 3-8273-1475-5

Elemente eines XML Dokuments

Aufbau von XML-Dokumenten 2 Meyer 1-234-56789-0 2 30.00

Elemente und Attribute hierarchische Schachtelung Sequenz

XML builds on the principles of two existing languages, HTML and SGML to create a simple mechanism .. The generalized markup concept ..

Markup in Volltexten Mixed Content Elemente Viele der folgenden Folien basieren auf Meike Klettke, UNI Rostock

Syntax von Elementen /1 Ein Element besteht aus: z Start-Tag z Ende-Tag und z Elementinhalt Beispiel: Ronald Bourret

Start-Tag

Elementinhalt

Ende-Tag

Syntax von Elementen /2 Leere Elemente sind möglich: Beispiel: Elemente können verschachtelt werden: Bourret Ronald

Start-Tag Elementinhalt Ende-Tag

Graphische Darstellung von XML-Dokumenten XML-Dokumente sind Bäume! z Beispiel: z

Bourret Ronald z

korrekte Schachtelung der Elemente notwendig

Elementknoten Textknoten

Document Type Definition ] Einordnung von Dokumenten in Kategorien, macht Dokumente unterscheidbar ] Entscheidend dafür sind die Elemente, die das jeweilige Dokument enthält ] Um Elemente, die zu einem Dokument gehören zu definieren, verwendet man in XML die DTD

Schemabeschreibung - DTD Darstellung, welche Elemente auftreten können und wie sie geschachtelt werden z Deklaration von Strukturinformationen z

z

Vorteile einer DTD: z Entspricht einer Dokumentation für die XML-Dokumente z Anwendungen können darauf reagieren z Fehler in XML-Dokumenten können erkannt werden z Oft: bessere Qualität der XML-Dokumente, weil durchdachteres Vorgehen z PCDATA = Parsed Character Data

Definition von Elementen in einer DTD XML-Dokument: Ronald Bourret Zugehörige DTD: XML-Dokument: Bourret Ronald Zugehörige DTD:

Definition von Elementen in einer DTD (Inhaltsmodelle) Sequenz (A , B) A und B müssen in der angegebenen Reihenfolge im Dokument auftreten z Alternative (A | B) entweder A oder B treten im Dokumente auf z Wiederholung A? - 0..1 Mal A+ - 1..n Mal A* - 0..n Mal z Mixed Content (#PCDATA | A | B)* A, B oder beliebiger Text treten im Dokument auf z



Beispiele zur Definition von Elementen in einer DTD /1 Hotel am Leuchtturm ...

Beispiele zur Definition von Elementen in einer DTD /2 18119 Warnemuende Seestrasse 12 18051 Rostock 12345

Beispiele zur Definition von Elementen in einer DTD /3 Das Hotel am Leuchtturm befindet sich direkt am Alten Strom, mit Blick auf die Hafeneinfahrt, die Mole und den Strand. Unser Hotel verfügt über eine Sauna und eine Meerwasserschwimmhalle . Das Hotelrestaurant bietet regionale Küche und Fischspezialitäten.

Syntax von Attributen /1 Attribute werden einem Element des XML-Dokumentes zugeordnet: Attributwert Attributname Ronald Bourret Start-Tag

Elementinhalt

Zugehörige DTD:

Ende-Tag

Syntax von Attributen / 2 XML-Dokument DTD

Darstellung von XMLDokumenten z

XML-Dokumente sind Bäume!

Beispiel: Bourret Ronald

vortragender

tutorial

name

vorname

T1

Ronald

Elementknoten Textknoten Attributknoten

Bourret

Deklaration von Attributen in einer DTD Attribute haben z einen Namen z einen Typ (CDATA, ID, IDREF/IDREFs, ENTITY/ENTITYS, NMTOKEN/NMTOKENS oder (wert1|wert2|...) Aufzählung möglicher Werte z eine Angabe, ob das Attribut auftreten muss (#REQUIRED, #IMPLIED oder #FIXED) oder z einen optionalen Defaultwert (bei #FIXED ist dieser auch erforderlich)



Zusammenfassung der DTDDeklarationen

DTD-Elementdeklaration

DTD-Attributdeklaration

DTD-Attributdeklaration Beispiel

Beispiel: Bookstore

DTD-Deklarationsformen

Beispiel – externe Deklaration

Processing Instructions Anweisungen für die Verarbeitung des Dokuments z Einschränkung: im Namen der Processing Instruction darf der Teilstring xml nicht auftreten z gebräuchlichster Einsatz: Zuweisung von Stylesheets zu XMLDokumenten. Syntax: Beispiel:

Kommentare können in DTDs und in XML-Dokumenten auftreten z Kommentare lassen sich durch Applikationen auswerten (z.B. mit XML-Prozessoren, XSLT) z Syntax: z

XML-Editoren - Video z

XML-Editoren

Gliederung XML- Historie, Ziel, Position zu HTML z Struktur und Syntax z XPath, XQuery, Ablage z

XML-Zugriff

XPath

Quelle: Gorke, 2006

XQuery

Quelle: Gorke, 2006

Alternativen der XML-Dokumente Speicherung Speicherung im Dateisystem z XML-erweiterte Datenbanksysteme (XED) z Native XML-Datenbanksysteme (NXD) z Hybride XML-Datenbanksysteme (HXD) z

XED – Relation/XML

Quelle: Schöning, 2003

XED - BLOB

Quelle: Schöning, 2003

DTD-Schema – relationale Struktur

Quelle: Schöning, 2003

Vorteil – relationale Struktur

Quelle: Oracle

Vorteil - BLOB

Quelle: Oracle

Native Ablage

Vergleich – Relational vs. XML

XML-Flexibilität Flexibilität von XML bietet viele Möglichkeiten für den Aufbau eines XML Dokumentes z Dokumenttyp (Schema) ist nicht explizit festgelegt/bekannt z Probleme: z Anwendungen sind für bestimmte Dokumenttypen geschrieben z Fehlende Kompatibilität bei Datenaustausch z Fehleranfälligkeit (Datenformate, fehlende Datenfelder, etc.) z Vorgehen : Einschränkung der Flexibilität z Verabredung einheitlicher Formate z Standardisierung on Klassen von XML-Dokumenten z Möglichkeiten zur Beschreibung des Dokumenttyps bzw. -schemas z XML-DTD und XML-Schema z

Eigenschaften von XMLDokumenten Wohlgeformtheit z Dokument syntaktisch korrekt? Überprüft wird: z Alle Elemente müssen ein Start-Tag und ein Ende-Tag haben, außer leere Elemente z Korrekte Schachtelung von Tags z Alle Attributwerte stehen in Hochkommas oder Anführungsstrichen z Ohne zugeordnete DTD sind alle Attribute nach Definition vom Typ CDATA z Keine mehrfach auftretenden Attributnamen an einem Element z Alle Zeichen, die Markup sein könnten (Bsp

Suggest Documents