Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu...

21

Transcript of Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu...

Page 1: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.
Page 2: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Überblick• XML: “Extensible Markup Language”• Entwickelt, um Informationen bereitzustellen, zu speichern und zu

übertragen

• Im Gegensatz zu HTML keine vordefinierten Elemente wie Anker, Überschriften, Listen und Links

• Alle XML-Elemente eines XML-Dokumentes sind frei definierbar (daher extensible = erweiterbar)

• XML-Dokumente besitzen eine hierarchische Baumstruktur

• Die XML-Definition besteht nur aus einer Basissyntax

Page 3: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Ein XML Dokument<?xml version="1.0"?>

<!-- Dateiname: Inventory.xml -->

<INVENTORY>

<BOOK>

<TITLE>The Adventures of Huckleberry Finn</TITLE>

<AUTHOR>Mark Twain</AUTHOR>

<BINDING>Taschenbuch</BINDING>

<PAGES>336</PAGES>

<PRICE>DM 12,75</PRICE>

</BOOK>

. . .

<BOOK>

<TITLE>Leaves of Grass</TITLE>

<AUTHOR>Walt Whitman</AUTHOR>

<BINDING>Gebundene Ausgabe</BINDING>

<PAGES>462</PAGES>

<PRICE>DM 25,00</PRICE>

</BOOK>

</INVENTORY>

Prolog

Dokument-Element

XML-Deklaration

Kommentar

Im Dokument-Element verschachtelte Elemente

Start-Tag

End-Tag

Page 4: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Ein XML Dokument• XML wird zur Beschreibung einer Datenbank eingesetzt

• Ist für Menschen lesbar (Vorteil gegenüber anderen Formaten wie z.B. Access *.mdb)

• Die Elementnamen (wie INVENTORV, BOOK oder TITLE) sind nicht Teil der XML-Spezifikation

• Alle Elemente sind vollständig ineinander verschachtelt

• Nur ein einziges Element auf oberster Ebene, das Dokumentenelement oder Wurzelelement genannt wird

• Benennung der Elemente ist frei wählbar

Page 5: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Die Struktur eines XML Dokuments

Page 6: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

XML Dokumente erstellen

• Streng definierte Syntax

• Jedes Objekt muß einen Start- und End-Tag besitzen

• Jedes verschachtelte Element muß vollständig innerhalb des Elementes liegen, das es umschließt

• Kann mit jedem Text-Editor erstellt werden

• Kann mit dem Internet Explorer 5 angezeigt werden

• XML-Objektnamen sind „Case-sensitive“

Page 7: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

XML Dokumente anzeigen

Der XML-Parser (ein Teil des XML-Prozessors) analysiert das Dokument und erkennt Syntaxfehler.

Page 8: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

XML Dokumente anzeigen

• Drei Möglichkeiten:

– Stylesheet-Verknüpfungen

– Datenbindung

Eigene Datei, die das Wiedergabeverhalten steuert

HTML-Elemente einer Seite an XML-Datei anbinden, dann wird durch diese HTML-Seite das XML-Dokument angezeigt

– Scripts

z.B. VBScripts, die das XML-Dokument lesen und darstellen

Page 9: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Formatierung mit CSS-Stylesheets

• display:block - Zeilenvorschub nach dem Element

• margin-top:12pt - 12 Punkte Abstand vor dem Objekt

• font-size:10pt - Zeichensatz 10 Punkte

• font-weight:bold - Schriftart fett

• font-style:italic - Kursivschrift

• display:none - Element wird nicht angezeigt

• margin-left:15pt - 15 Punkte Abstand nach links

Page 10: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

XML Dokumente anzeigen

• Stylesheet-Verknüpfungen

/* Dateiname: Inventory01.css */

BOOK {display:block; margin-top:12pt; font-size:10pt}

TITLE {font-style:italic}

AUTHOR {font-weight:bold}

/* Dateiname: Inventory01.css */

BOOK {display:block; margin-top:12pt; font-size:10pt}

TITLE {font-style:italic}

AUTHOR {font-weight:bold}

<?xml version="1.0"?>

<!-- Dateiname: Inventory01.xml -->

<?xml-stylesheet type="text/css" href="Inventory01.css"?>

<INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>Taschenbuch</BINDING> <PAGES>336</PAGES> <PRICE>DM 12,75</PRICE> </BOOK> ...

<?xml version="1.0"?>

<!-- Dateiname: Inventory01.xml -->

<?xml-stylesheet type="text/css" href="Inventory01.css"?>

<INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>Taschenbuch</BINDING> <PAGES>336</PAGES> <PRICE>DM 12,75</PRICE> </BOOK> ...

Inventory01.css Inventory01.xml

Page 11: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

/* Dateiname: Inventory02.css */

BOOK {display:block; margin-top:12pt; font-size:10pt}

TITLE {display:block; font-size:12pt; font-weight:bold; font-style:italic}

AUTHOR {display:block; margin-left:15pt; font-weight:bold}

BINDING {display:block; margin-left:15pt}

PAGES {display:none}

PRICE {display:block; margin-left:15pt}

/* Dateiname: Inventory02.css */

BOOK {display:block; margin-top:12pt; font-size:10pt}

TITLE {display:block; font-size:12pt; font-weight:bold; font-style:italic}

AUTHOR {display:block; margin-left:15pt; font-weight:bold}

BINDING {display:block; margin-left:15pt}

PAGES {display:none}

PRICE {display:block; margin-left:15pt}

<?xml version="1.0"?>

<!-- Dateiname: Inventory02.xml -->

<?xml-stylesheet type="text/css" href="Inventory02.css"?>

<INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>Taschenbuch</BINDING> <PAGES>336</PAGES> <PRICE>DM 12,75</PRICE> </BOOK> ...

<?xml version="1.0"?>

<!-- Dateiname: Inventory02.xml -->

<?xml-stylesheet type="text/css" href="Inventory02.css"?>

<INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>Taschenbuch</BINDING> <PAGES>336</PAGES> <PRICE>DM 12,75</PRICE> </BOOK> ...

Inventory02.css Inventory02.xml

XML Dokumente anzeigen

Page 12: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Wohlgeformte XML Dokumente

• Besteht aus Prolog und Dokumentenelement

• Zusätzlich sind auch Kommentare, Verarbeitungs- anweisungen und Leerzeilen zulässig

• Kommentare beginnen mit „!--“, enden mit „--“ und dürfen (natürlich) „--“ als Zeichenkette nicht enthalten

– <?xml version=´1.0´?>– <?xml version=“1.0“?>

• Zeichenketten im XML Markup Code, sog. Literate, werden entweder in ´oder in “ eingeschlossen

• Beispieldatei: parts.xml

Page 13: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Minimalistische XML Dokumente

• Konform zum XML-Standard

• <minimal> Ein minimalistisches Dokument </minimal>

Page 14: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Struktur eines ElementsStruktur eines Elements

<TITLE> The Adventures of Huckleberry Finn </TITLE>

Inhalt (Zeichendaten)

Start-Tag End-Tag

Typ Typ

• Der Typ wird auch Elementname oder „Generischer Bezeichner“, kurz GI genannt

• Der Typ definiert einen bestimmten Typ oder eine Klasse von Elementen, nicht aber ein bestimmtes Element

Page 15: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Der Elementtyp (Elementname)

<TITLE> The Adventures of Huckleberry Finn </TITLE>

Inhalt (Zeichendaten)

Start-Tag End-Tag

Typ Typ

• Der Elementname kann Buchstaben, Zahlen, Punkte (.) oder Bindestriche enthalten

• Der Elementname muß mit einem Buchstaben oder einem Unterstrich beginnen

Page 16: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Gültige Namen

• Part• _1stPlace• A• B-SECTION• Strasse.Adresse.1

Page 17: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Ungültige Namen

• 1stPlace• (Test)• B/Section• Kapitel:01• -Teilbereich• Dungeons&Dragons• B Section• _Teilbereich04.test.

Beginnt mit Zahl Klammern nicht zugelassen

Schrägstrich nicht zugelassen

Doppelpunkt nicht zugelassen

Bindestrich nicht zugelassen

„&“ nicht zugelassen Leerzeichen nicht zugelassen

GÜLTIG !!!

Page 18: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Leere XML Elemente

• Leere Elemente können in 2 Varianten notiert werden:

– <Titel></Titel>

– <Titel/>

• Beide Notationen sind gleichbedeutend

• Übung: Inventory03.xml

Page 19: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Attribute in XML-Dokumenten

• Eine Attributsspezifikation besteht aus einem Paar „Name:Wert“

• Beispiel:

• Alternative, Informationen zu einem Element hinzuzufügen

• Attribute können nur mit XLS-Stylesheets, Datenbindung oder Scripts dargestellt werden

<TITLE Language=“Englisch”> The Adventures of Huckleberry Finn </TITLE>

<TITLE Language=“Englisch”/>

Page 20: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.

Regeln für die Attributserstellung

• Name muß mit einem Unterstrich oder einem Buchstaben beginnen

• Beispiel: Folgen dürfen beliebig viele Buchstaben, Zahlen, Bindestriche, Punkte oder Unterstriche

• Attribute mit dem Präfix xml (beliebige Kombination aus Groß- und Kleinbuchstaben) sind für die Standardisierung von XML reserviert

• Ein bestimmter Attributname kann innerhalb eines Tags nur einmal vorkommen

• Abschließend Beispiele

Page 21: Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.