XML-Einführung 1

Werbung
Ü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)
• Die XML-Definition besteht nur aus einer Basissyntax
• XML-Dokumente besitzen eine hierarchische
Baumstruktur
Ein XML Dokument
<?xml version="1.0"?>
XML-Deklaration
<!-- Dateiname: Inventory.xml -->
Kommentar
<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>
End-Tag
Start-Tag
Prolog
DokumentElement
Im DokumentElement
verschachtelte
Elemente
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
Die Struktur eines XML Dokuments
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
• XML-Objektnamen sind „Case-sensitive“
• Kann mit jedem Text-Editor erstellt werden
• Kann mit dem Internet Explorer 5 angezeigt werden
XML Dokumente anzeigen
Der XML-Parser
(ein Teil des XMLProzessors)
analysiert das
Dokument und
erkennt
Syntaxfehler.
XML Dokumente anzeigen
• Drei Möglichkeiten:
– Stylesheet-Verknüpfungen
 Eigene Datei, die das Wiedergabeverhalten steuert
– Datenbindung
 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
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-style:italic - Kursivschrift
• font-weight:bold - Schriftart fett
• display:none - Element wird nicht angezeigt
• margin-left:15pt - 15 Punkte Abstand nach links
XML Dokumente anzeigen
• Stylesheet-Verknüpfungen
/* Dateiname: Inventory01.css */
<?xml version="1.0"?>
BOOK
{display:block;
margin-top:12pt;
font-size:10pt}
<!-- Dateiname: Inventory01.xml -->
TITLE
{font-style:italic}
<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>
...
AUTHOR
{font-weight:bold}
Inventory01.css
<?xml-stylesheet type="text/css"
href="Inventory01.css"?>
Inventory01.xml
XML Dokumente anzeigen
/* 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}
<?xml version="1.0"?>
<!-- Dateiname: Inventory02.xml -->
<?xml-stylesheet type="text/css"
href="Inventory02.css"?>
PRICE
{display:block;
margin-left:15pt}
<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
BINDING
{display:block;
margin-left:15pt}
PAGES
{display:none}
Wohlgeformte XML Dokumente
• Besteht aus Prolog und Dokumentenelement
• Zusätzlich sind auch Kommentare, Verarbeitungsanweisungen und Leerzeilen zulässig
• Kommentare beginnen mit „!--“, enden mit „--“ und
dürfen (natürlich) „--“ als Zeichenkette nicht enthalten
• Zeichenketten im XML Markup Code, sog. Literate,
werden entweder in ´oder in “ eingeschlossen
– <?xml version=´1.0´?>
– <?xml version=“1.0“?>
• Beispieldatei: parts.xml
Minimalistische XML Dokumente
• Konform zum XML-Standard
• <minimal> Ein minimalistisches Dokument </minimal>
Struktur eines Elements
Typ
Typ
<TITLE> The Adventures of Huckleberry Finn </TITLE>
Start-Tag
Inhalt
(Zeichendaten)
End-Tag
• 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
Der Elementtyp (Elementname)
Typ
Typ
<TITLE> The Adventures of Huckleberry Finn </TITLE>
Start-Tag
Inhalt
(Zeichendaten)
End-Tag
• Der Elementname kann Buchstaben, Zahlen, Punkte (.)
oder Bindestriche enthalten
• Der Elementname muß mit einem Buchstaben oder
einem Unterstrich beginnen
Gültige Namen
•
•
•
•
•
Part
_1stPlace
A
B-SECTION
Strasse.Adresse.1
Ungültige Namen
•
•
•
•
•
•
•
•
 Beginnt mit Zahl
1stPlace
 Klammern nicht zugelassen
(Test)
 Schrägstrich nicht zugelassen
B/Section
 Doppelpunkt nicht zugelassen
Kapitel:01
 Bindestrich nicht zugelassen
-Teilbereich
Dungeons&Dragons  „&“ nicht zugelassen
 Leerzeichen nicht zugelassen
B Section
_Teilbereich04.test.  GÜLTIG !!!
Leere XML Elemente
• Leere Elemente können in 2 Varianten notiert werden:
– <Titel></Titel>
– <Titel/>
• Beide Notationen sind gleichbedeutend
• Übung: Inventory03.xml
Attribute in XML-Dokumenten
• Eine Attributsspezifikation besteht aus einem
Paar „Name:Wert“
• Beispiel:
<TITLE Language=“Englisch”> The Adventures of Huckleberry Finn </TITLE>
<TITLE Language=“Englisch”/>
• Alternative, Informationen zu einem Element
hinzuzufügen
• Attribute können nur mit XLS-Stylesheets,
Datenbindung oder Scripts dargestellt werden
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
Herunterladen