Studiengang Informatik FHDW Vorlesung Betriebliche Informationssysteme XML 3
Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme XML 3. Quartal 2005 Vorlesung: 1 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Gliederung Einführung / Motivation Historie Aufbau eines XML-Dokumente erstellen und anzeigen Wohlgeformte XML-Dokumente Elemente und Attribute Gültige XML-Dokumente Verarbeitungsanweisungen CDATA-Abschnitte DTD Praxis Vorlesung: 2 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Ü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 Vorlesung: 3 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Herkunft von XML wurde von einer XML-Arbeitsgruppe entwickelt, die 1996 unter der Schirmherrschaft des World Wide Web Consortium (W 3 C) gegründet wurde. Den Vorsitz hatte Jon Bosak von Sun Microsystems inne, unter aktiver Beteiligung einer XML Special Interest Group, die ebenfalls vom W 3 C organisiert wurde. Vorlesung: 4 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Merkmale von XML Das W 3 C beschreibt XML in zehn Punkten (http: //www. w 3. org/XML/1999/XML-in-10 -points), aber drei davon sind künftige Spezifikationen. Es handelt sich zunächst um folgende sieben charakteristische Merkmale: XML bietet eine Methode zum Einfügen strukturierter Daten in eine Textdatei. XML ähnelt HTML ein wenig. XML wird von Maschinen gelesen, ist aber dem Menschen verständlich. XML umfasst eine ganze Familie von Technologien. XML ist wortreich. XML ist relativ neu, hat aber bedeutende Wurzeln. XML ist lizenzfrei, plattformunabhängig und wird breit unterstützt. Vorlesung: 5 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Ein XML Dokument <? xml version="1. 0"? > Prolog Dokument. Element <!-- 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> End-Tag Vorlesung: 6 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg XML-Deklaration Kommentar Start-Tag Im Dokument. Element 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 INVENTORY, BOOK oder TITLE) sind nicht Teil der XML-Spezifikation Alle Elemente sind vollständig ineinander verschachtelt Nur einziges Element auf oberster Ebene, das Dokumentenelement oder Wurzelelement genannt wird Benennung der Elemente ist frei wählbar Vorlesung: 7 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Die Struktur eines XML Dokuments Vorlesung: 8 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
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, dass es umschließt XML-Objektnamen sind „Case-sensitive“ Kann mit jedem Text-Editor erstellt werden Kann mit dem Internet Explorer 5 (oder höher) angezeigt werden Vorlesung: 9 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
XML Dokumente anzeigen Der XML-Parser (ein Teil des XMLProzessors) analysiert das Dokument und erkennt Syntaxfehler. Vorlesung: 10 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
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 Vorlesung: 11 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Formatierung mit CSS-Stylesheets display: block - Zeilenvorschub nach dem Element margin-top: 12 pt - 12 Punkte Abstand vor dem Objekt font-size: 10 pt - Zeichensatz 10 Punkte font-style: italic - Kursivschrift font-weight: bold - Schriftart fett display: none - Element wird nicht angezeigt margin-left: 15 pt - 15 Punkte Abstand nach links Vorlesung: 12 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
XML Dokumente anzeigen Stylesheet-Verknüpfungen /* Dateiname: Inventory 01. css */ <? xml version="1. 0"? > BOOK {display: block; margin-top: 12 pt; font-size: 10 pt} <!-- Dateiname: Inventory 01. 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} Inventory 01. css <? xml-stylesheet type="text/css" href="Inventory 01. css"? > Inventory 01. xml Vorlesung: 13 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
XML Dokumente anzeigen /* Dateiname: Inventory 02. css */ BOOK {display: block; margin-top: 12 pt; font-size: 10 pt} TITLE {display: block; font-size: 12 pt; font-weight: bold; font-style: italic} AUTHOR {display: block; margin-left: 15 pt; font-weight: bold} BINDING {display: block; margin-left: 15 pt} PAGES {display: none} PRICE {display: block; margin-left: 15 pt} Inventory 02. css Inventory 02. xml Vorlesung: 14 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
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 Bei Verstoß gegen Wohlgeformtheit meldet der XML-Prozessor einen schwerwiegenden Fehler und die Verarbeitung wird abgebrochen Zeichenketten im XML Markup Code werden entweder in ´oder in “ eingeschlossen <? xml version=´ 1. 0´? > <? xml version=“ 1. 0“? > Vorlesung: 15 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Minimalistische XML Dokumente Konform zum XML-Standard <minimal> Ein minimalistisches Dokument </minimal> Vorlesung: 16 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Struktur eines Elements 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 Vorlesung: 17 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Der Elementtyp (Elementname) 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 Vorlesung: 18 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Leere XML Elemente Leere Elemente können in 2 Varianten notiert werden: <Titel></Titel> <Titel/> Beide Notationen sind gleichbedeutend Übung: Inventory 03. xml Vorlesung: 19 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
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 XSL-Stylesheets, Datenbindung oder Scripts dargestellt werden Vorlesung: 20 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Regeln für die Attributserstellung Name muß mit einem Unterstrich oder einem Buchstaben beginnen 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 Vorlesung: 21 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Weitere Regeln für die Attributserstellung Zeichenketten können in Apostrophe (´) oder Anführungszeichen (“) eingefasst werden Die Zeichenkette darf das Zeichen nicht enthalten, in das sie eingeschlossen ist Desweiteren sind die Zeichen < (Beginn eines XMLMarkupcodes) und & (Anfang einer Zeichenreferenz) verboten Wenn dennoch Anführungszeichen (“) benötigt werden, muß die Zeichenkette in Apostrophe (´) eingefasst werden Vorlesung: 22 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Einführung XML ENDE TEIL 1 Vorlesung: 23 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Verarbeitungsanweisungen Stellt Informationen bereit, die der XML-Prozessor an die Anwendung übergibt Der XML-Prozessor ist das Softwaremodul, daß die Inhalte des XML-Dokumentes liest Die Anwendung ist ein separates Modul, daß vom Prozessor den Inhalt des Dokumentes erhält und weiterverarbeitet Vorlesung: 24 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Verarbeitungsanweisungen Allgemeines Format für Verarbeitungsanweisungen: <? ziel anweisung ? > ziel bezeichnet des Namen der Anwendung, an den sich die anweisung richtet Name muß mit einem Unterstrich oder einem Buchstaben beginnen Folgen dürfen beliebig viele Buchstaben, Zahlen, Bindestriche, Punkte oder Unterstriche Vorlesung: 25 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Verarbeitungsanweisungen Die genaue Menge von Anweisungen, die benutzt werden darf, hängt vom verwendeten XML-Prozessor ab Beim IE 5 sind das reservierte Standardanweisungen wie die stylesheet-Anweisung oder Anweisungen für ein Webseiten. Script, daß mit diesen Informationen umgehen und das Dokument in einer bestimmten Weise verarbeiten soll Verarbeitungsanweisungen können an beliebiger Stelle außerhalb des Markup. Codes in ein XML-Dokument eingefügt werden Vorlesung: 26 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
CDATA-Abschnitte Wie bereits bekannt, dürfen (<) und (&) nicht in den Zeichendaten eines Objektes vorkommen Abhilfe: Zeichenreferenzen < und & oder vordefinierte Entity-Referenzen < (kleiner-als, less-than) und & (Ampersand, et-Zeichen) Genauso kann (>) mit > (größer-als, greater-than), (') als ' und (") als " dargestellt werden. Sollen jedoch mehrere solcher Zeichen eingefügt werden, ist diese Methode ziemlich „lästig“ Einfacher: den Text mit diesen Zeichen in einen CDATAAbschnitt aufnehmen Vorlesung: 27 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
CDATA-Abschnitte Syntax: Ein CDATA-Abschnitt beginnt immer mit: <![CDATA[ und endet mit ]]> Zwischen diesen Zeichengruppen können beliebige Zeichen stehen, incl. < und &, ausgenommen ]]> Alle Zeichen innerhalb dieses Abschnitts werden als Teil der Zeichendaten des Elements, nicht als Markup. Code interpretiert Vorlesung: 28 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
CDATA-Abschnitte <? xml version="1. 0"? > <!-- Dateiname: Cdata. xml --> <Austausch-Bereich> Einfache HTML-Seite <![CDATA[ <HTML> <HEAD> <TITLE>Homepage von mir</TITLE> </HEAD> <BODY> <P>Willkommen auf meiner Homepage</P> </BODY> </HTML> ]]> </Austausch-Bereich> Vorlesung: 29 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
CDATA-Abschnitte So wird ein Austausch von HTML-Quellcode auf einfache Weise möglich Vorlesung: 30 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
CDATA-Abschnitte Ohne CDATA-Abschnitt würde der XML-Prozessor davon ausgehen, dass es sich bei <HTML> um ein neues Element handelt CDATA-Abschnitte dürfen überall dort eingefügt werden, wo Zeichendaten erlaubt sind CDATA-Abschnitte können nicht verschachtelt werden Zeichenreferenzen und vordefinierte Entity-Referenzen innerhalb eines CDATA-Abschnittes werden BUCHSTÄBLICH wiedergegeben Vorlesung: 31 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Gültige XML-Dokumente Strengere Kriterien als wohlgeformte Dokumente (ein wohlgeformtes Dokument ist eine notwendige Bedingung für ein gültiges Dokument) Zwei weitere Anforderungen: Der Prolog muß eine Dokumententyp-Deklaration enthalten, die wiederum eine Dokumententyp-Definition (DTD) zur Definition der Dokumentenstruktur enthält, und das Dokument muß der DTD entsprechen Vorlesung: 32 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Vorteile gültige XML-Dokumente Eine DTD stellt dem Prozessor einen standardisier-ten Plan zur Prüfung der gewünschten Struktur zur Verfügung Ist ein Teil des Dokumentes nicht DTD-konform, kann der Prozessor mit Fehlermeldungen darauf hinweisen und die Korrektur so erleichtern Eine DTD definiert „die Grammatik einer Gruppe von Dokumenten“ Vorlesung: 33 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Format der DTD Eine Dokumententyp-Deklaration hat das Format <!DOCTYPE Name DTD> Name gibt den Namen des Dokumentenelements an DTD ist die Dokumententyp-Definition, welche die Elemente, Attribute und sonstige Eigenschaften des Dokuments definiert DOCTYPE muß in Großbuchstaben geschrieben werden Vorlesung: 34 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Die DTD erstellen Eine DTD besteht aus einer linken eckigen Klammner ([), gefolgt von einer Markup-Deklaration und einer rechten eckigen Klammer (]) Die Markup-Deklaration beschreibt die logische Struktur des Dokumentes Beispiel: <? xml version="1. 0"? > <!DOCTYPE SIMPLE [ <!ELEMENT SIMPLE ANY> ] > <SIMPLE>Dies ist ein extrem einfaches Dokument </SIMPLE> Vorlesung: 35 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Eine DTD kann enthalten: Elementtyp-Deklaration Attributlisten-Deklaration Entity-Deklarationen Notationsdeklarationen Verarbeitungsanweisungen Kommentare Parameter-Entity-Referenzen Vorlesung: 36 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Elementtyp-Deklaration Format: <!ELEMENT Name inhaltsspez> Name bezeichnet den Namen des Elementtyps inhaltsspez definiert den zulässigen Inhalt des Elements Vorlesung: 37 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Elementtyp-Deklaration <!ELEMENT Title (#PCDATA)>. . . definiert, dass das Element Title nur Zeichendaten enthalten darf, jedoch sind untergeordnete Elemente nicht zulässig. PCDATA steht für Parsed Character Data <!ELEMENT Allgemein ANY>. . . definiert, daß das Element Allgemein jede Art von Inhalt enthalten darf Vorlesung: 38 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Elementtyp-Deklaration <? xml version="1. 0"? > <!DOCTYPE COLLECTION [ <!ELEMENT COLLECTION (CD)+> <!ELEMENT CD (#PCDATA)> <!-- Auch Kommentare sind erlaubt --> ] > < COLLECTION > <CD>BAP - Bess demnächst</CD> <CD>Rolling Stones - Voodoo Lounge</CD> </ COLLECTION > Hier wird festgelegt, daß im Element COLLECTION nur ein oder mehrere Elemente des Typs CD enthalten sein dürfen, die wiederum nur Zeichendaten enthalten dürfen Vorlesung: 39 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Die Elementinhaltsspezifikationen EMPTY, leeres Element ANY, beliebiger Inhalt Elementinhalt (auch untergeordneter Inhalt genannt), definiert die Elemente, die enthalten sein dürfen. Zeichendaten sind hier nicht erlaubt ! Gemischter Inhalt, das Element kann Zeichendaten und die angegebenen Elemente enthalten Vorlesung: 40 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Elementtyp-Deklaration <? xml version="1. 0"? > <!DOCTYPE BOOK [ <!ELEMENT BOOK (TITLE, AUTHOR)> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT AUTHOR (#PCDATA)> <!-- Auch Kommentare sind erlaubt --> ] > <BOOK> <TITLE>Der Herr der Ringe</TITLE> <AUTHOR>J. R. R. Tolkien</AUTHOR> </BOOK > Hier wird festgelegt, daß im Element BOOK nur je ein Element des Typs TITLE und AUTHOR enthalten darf, welche wiederum nur Zeichendaten enthalten dürfen Vorlesung: 41 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Elementtyp-Deklaration <? xml version="1. 0"? > <!DOCTYPE BOOK [ <!ELEMENT BOOK (TITLE, AUTHOR)> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT AUTHOR (#PCDATA)> <!-- Auch Kommentare sind erlaubt --> ] > <BOOK> <AUTHOR>J. R. R. Tolkien</AUTHOR> <TITLE>Der Herr der Ringe</TITLE> </BOOK > Dieses Dokument ist ungültig, da die Sequenz des Inhaltsmodells (TITLE, AUTHOR) verletzt ist. Vorlesung: 42 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Elementtyp-Deklaration <? xml version="1. 0"? > <!DOCTYPE BOOK [ <!ELEMENT BOOK (TITLE | AUTHOR)> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT AUTHOR (#PCDATA)> <!-- Auch Kommentare sind erlaubt --> ] > <BOOK> <TITLE>Der Herr der Ringe</TITLE> </BOOK > Dieses Dokument ist gültig, da die Auswahl des Inhaltsmodells (TITLE | AUTHOR) erfüllt ist. Vorlesung: 43 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Elementtyp-Deklaration <? xml version="1. 0"? > <!DOCTYPE BOOK [ <!ELEMENT BOOK (TITLE | AUTHOR)> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT AUTHOR (#PCDATA)> <!-- Auch Kommentare sind erlaubt --> ] > <BOOK> <AUTHOR>J. R. R. Tolkien</AUTHOR> <TITLE>Der Herr der Ringe</TITLE> </BOOK > Ist dieses Dokument gültig? Vorlesung: 44 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Elementtyp-Deklaration Modifikationen des Inhaltsmodelles: ? + * Keines oder das vorausgehende Element notwendig (das vorausgehende Element ist optional) Eines oder mehrere der vorausgehenden Elemente notwendig Keines oder mehrere der vorausgehenden Elemente notwendig Vorlesung: 45 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
Elementtyp-Deklaration <? xml version="1. 0"? > <!DOCTYPE BERG [ <!ELEMENT BERG (NAME+, HOEHE? )> <!ELEMENT NAME (#PCDATA)> <!ELEMENT HOEHE (#PCDATA)> <!-- Auch Kommentare sind erlaubt --> ] > <BERG> <NAME>Mount Everest</NAME> <NAME>Top of the World</NAME> </BERG > Dieses Dokument ist gültig. Ebenso sind weitere Kombinationen erlaubt. Vorlesung: 46 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
ENDE Fragen? Vorlesung: 47 Betriebliche Informationssysteme XML © 2005 Prof. Dr. G. Hellberg
- Slides: 47