500 likes | 631 Views
XML und Datenbanken - Einführung in XML -. Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de www.xml-und-datenbanken.de. Inhalt. XML Elemente, Attribute Vergleich Elemente und Attribute ID/IDREF DTDs
E N D
XML und Datenbanken- Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de www.xml-und-datenbanken.de
Inhalt • XML • Elemente, Attribute • Vergleich Elemente und Attribute • ID/IDREF • DTDs • Elemente, Attribute, Entities • XLink, XPointer • Eigenschaften von XML-Dokumenten • Weiterführende Literatur - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
<content> XML builds on the principles of two existing languages, <emph>HTML </emph> and <emph>SGML </emph> to create a simple mechanism .. The generalized markup concept .. </content> <order> <customer>Meyer</customer> <position> <isbn>1-234-56789-0</isbn> <number>2</number> <price currency=´Euro´>30.00</price> </position> </order> Beispiele für XML-Dokumente - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur Elemente und Attribute hierarchische Schachtelung Sequenz Markup in Volltexten Mixed Content Elemente
„Grundbausteine“ eines XML-Dokumentes Ein Element besteht aus: Start-Tag Ende-Tag und Elementinhalt Beispiel: <vortragender> Ronald Bourret </vortragender> Syntax von Elementen /1 - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur Start-Tag Elementinhalt Ende-Tag
Syntax von Elementen /2 Leere Elemente sind möglich: Beispiel: <koordinaten/> Elemente können verschachtelt werden: <vortragender> <name>Bourret</name> <vorname>Ronald</vorname> </vortragender> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur Start-Tag Elementinhalt Ende-Tag
Graphische Darstellung von XML-Dokumenten • XML-Dokumente sind Bäume! • Beispiel: <vortragender> <name>Bourret</name> <vorname>Ronald</vorname> </vortragender> • korrekte Schachtelung der Elemente notwendig - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur Elementknoten Textknoten
Verwendung einer Schemabeschreibung: DTD • Darstellung, welche Elemente auftreten können und wie sie geschachtelt werden • Also: Deklaration von Strukturinformationen • Vorteile einer DTD: • Entspricht einer Dokumentation für die XML-Dokumente • Anwendungen können darauf reagieren • Fehler in XML-Dokumenten können erkannt werden • Oft: bessere Qualität der XML-Dokumente, weil durchdachteres Vorgehen - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Definition von Elementen in einer DTD XML-Dokument: <vortragender> Ronald Bourret </vortragender> Zugehörige DTD: <!ELEMENT vortragender (#PCDATA)> XML-Dokument: <vortragender> <name> Bourret </name> <vorname> Ronald </vorname> </vortragender> Zugehörige DTD: <!ELEMENT vortragender (name, vorname)> <!ELEMENT name (#PCDATA)> <!ELEMENT vorname (#PCDATA)> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Definition von Elementen in einer DTD (Inhaltsmodelle) <!ELEMENT hotel (name, adresse)> <!ELEMENT name (#PCDATA)> <!ELEMENT adresse (plz, ort, ((strasse, nummer?) | postfach))> <!ELEMENT beschreibung (#PCDATA | ausstattung | gastronomie)*> • Sequenz (A , B) A und B müssen in der angegebenen Reihenfolge im Dokument auftreten • Alternative (A | B) entweder A oder B treten im Dokumente auf • Wiederholung A? - 0..1 Mal A+ - 1..n Mal A* - 0..n Mal • Mixed Content (#PCDATA | A | B)* A, B oder beliebiger Text treten im Dokument auf - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Beispiele zur Definition von Elementen in einer DTD /1 <!ELEMENT hotel (name, adresse)> <hotel> <name>Hotel am Leuchtturm</name> <adresse>...</adresse> </hotel> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Beispiele zur Definition von Elementen in einer DTD /2 <!ELEMENT adresse (plz, ort, ((strasse, nummer?) | postfach))> <adresse> <plz>18119</plz> <ort>Warnemuende</ort> <strasse>Seestrasse</strasse> <nummer>12</nummer> </adresse> <adresse> <plz>18051</plz> <ort>Rostock</ort> <postfach>12345</postfach> </adresse> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Beispiele zur Definition von Elementen in einer DTD /3 <!ELEMENT beschreibung (# PCDATA | ausstattung | gastronomie)*> <beschreibung>Das Hotel am Leuchtturm befindet sich direkt am Alten Strom, mit Blick auf die Hafeneinfahrt, die Mole und den Strand.</beschreibung> <beschreibung>Unser Hotel verfügt über eine <ausstattung> Sauna </ausstattung> und eine <ausstattung> Meerwasserschwimmhalle </ausstattung>. Das <gastronomie> Hotelrestaurant</gastronomie> bietet regionale Küche und Fischspezialitäten. </beschreibung> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Attribute werden einem Element des XML-Dokumentes zugeordnet: <vortragender tutorial=´T1´> Ronald Bourret </vortragender> Zugehörige DTD: <!ELEMENT vortragender (#PCDATA)> <!ATTLIST vortragender tutorial CDATA #REQUIRED> Syntax von Attributen /1 - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur Attributname Attributwert Start-Tag Elementinhalt Ende-Tag
XML-Dokument <koordinaten x=´200´ y=´300´ z=´150´ /> DTD <!ELEMENT koordinaten EMPTY> <!ATTLIST koordinaten x CDATA #REQUIRED y CDATA #REQUIRED z CDATA #IMPLIED > Syntax von Attributen / 2 - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Darstellung von XML-Dokumenten (mit Elementen und Attributen) • XML-Dokumente sind Bäume! Beispiel: <vortragender tutorial=´T1´> <name>Bourret</name> <vorname>Ronald</vorname> </vortragender> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur vortragender tutorial name vorname T1 Ronald Bourret Elementknoten Textknoten Attributknoten
Deklaration von Attributen in einer DTD Attribute haben • einen Namen • einen Typ (CDATA, ID, IDREF/IDREFs, ENTITY/ENTITYS, NMTOKEN/NMTOKENS oder (wert1|wert2|...) Aufzählung möglicher Werte • eine Angabe, ob das Attribut auftreten muss (#REQUIRED, #IMPLIED oder #FIXED) oder • einen optionalen Defaultwert (bei #FIXED ist dieser auch erforderlich) - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur <!ATTLIST preis waehrung CDATA #REQUIRED> <!ATTLIST projekt id ID #REQUIRED> <!ATTLIST person projekt IDREF #REQUIRED> <!ATTLIST plz xml-sqltype CDATA #FIXED ´INTEGER´>
ID / IDREF Attribute können als ID/ IDREF/ IDREFS definiert sein Werte innerhalb eines Dokumentes eindeutig - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur <projekt bearbeiter=´p0001´> <title>...</title> </projekt> <projekt bearbeiter=´a0001´> <title>...</title> </projekt> ... <person id=´p0001´> <name>Meyer</name> </person> ... <abteilung abt_id=´a0001´> <!ELEMENT projekt (title)> <!ATTLIST projekt bearbeiter IDREF #REQUIRED> <!ELEMENT person (name, ..)> <!ATTLIST person id ID #REQUIRED> ... <!ELEMENT abteilung EMPTY> <!ATTLIST abteilung abt_id ID #REQUIRED>
ID/IDREF-Veranschaulichung Durch die Werte der IDREF-Attribute ergibt sich, welche IDs referenziert werden. Diese können verschiedenen Elementtypen zugeordnet sein. Globale Eindeutigkeit der IDs ist erforderlich. ganz anderes Konzept als Schl./Fremdschlüssel in DB - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Elemente Quantifizierer 1/?/+/* Alternativen keine Defaultwerte keine Aufzählungstypen geeignet für komplexere Informationen Einsatz für Darstellung von Daten Attribute #REQUIRED/#IMPLIED keine Alternativen Defaultwerte Aufzählungstypen geeignet für strukturierte und wenig detaillierte Informationen Einsatz für Darstellung von Metadaten Verwendung von Elementen oder Attributen (in DTDs) - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Entities /1 Allgemeine Entity-Deklarationen: • zur Definition von Dokumentbestandteilen <!ENTITY hansesailtermin ´11.-14. August 2005´> <!ENTITY hansesailteilnehmer ´200 Traditionssegler und Museumsschiffe´> <veranstaltung> Die Hansesail findet in diesem Jahr vom &hansesailtermin; statt. Es werden &hansesailteilnehmer; erwartet. </veranstaltung> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Entities /2 Vordefinierte Entities • zur Verwendung spezieller Zeichen • < für < • > für > • & für & • ' für ´ • " für “ • Zeichen können nicht direkt im Text dargestellt werden, da sie eine besondere Bedeutung haben. • Diese Entities kann jeder XML-Prozessor auswerten. - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Entities /3 Character Entities • zur Definition von Sonderzeichen • Dezimalzahlen im Bereich 0..255 • Verwendung der Zeichen der erweiterten ASCII-Menge (ISO 8859/1), auch Latin-1 genannt • Dezimalzahlen im Bereich 256..65535 • Verwendung der Zeichen des Unicode-Zeichensatzes (ISO 10646) • Anstelle von Dezimalzahlen lassen sich Hexadezimalzahlen verwenden, diesen wird ein x vorangestellt • Beispiel: • < stellt das Zeichen < dar - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Entities /4 • Nichtgeparste Entities zur Einbindung anderer Dateiformate • Bilder und ähnliches • Beispiel: <!ELEMENT Hotel (#PCDATA)> <!ATTLIST Hotel ansicht ENTITY #IMPLIED> <!ENTITY ansicht_Huebner SYSTEM "ansicht_Huebner.gif" NDATA GIF> <!NOTATION GIF SYSTEM 'gifviewer.exe‘> <Hotel ansicht="ansicht_Huebner"> Strand Hotel Hübner </Hotel> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Entities /5 • Parameter Entities • zur Verwendung in DTDs • Beispiel: • <!ENTITY % adressdef ´(ort,plz,strasse,nummer)´> • <!ELEMENT adresse %adressdef;> • Einsatz zur Deklaration von mehrfach auftretenden Teilen einer DTD • Ziel: Wiederverwendung, „Modularisierung“ - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Processing Instructions Anweisungen für die Verarbeitung des Dokuments • Einschränkung: im Namen der Processing Instruction darf der Teilstring xml nicht auftreten • gebräuchlichster Einsatz: Zuweisung von Stylesheets zu XML-Dokumenten. Syntax: <? PI-Name PI-Anweisung ?> Beispiel: <?xml-stylesheet type="text/xsl" href="C:/Eigene Dateien/meike/xml/my-style.xsl"?> • Anwendungen muss Processing Instruction auswerten können - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Kommentare • können in DTDs und in XML-Dokumenten auftreten • Verwendung: • Strukturierung von Dokumenten, • Gliederung • Lesbarkeit für den Anwender erhöhen • Kommentare lassen sich durch Applikationen auswerten (z.B. mit XML-Prozessoren, XSLT) • Dennoch nicht geeignet • um Informationen darzustellen, die ins XML-Dokument oder die Processing Instruction gehören • Syntax: <!-- Dies ist ein Beispielkommentar --> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Aufbau eines XML-Dokumentes Bestandteile eines XML-Dokumentes Vorspann DTD XML DTD und XML schon kurz vorgestellt, wie sieht der Vorspann aus? - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Vorspann eines XML-Dokumentes enthält die folgenden Bestandteile: • version • gegenwärtig nur 1.0, 1.1 • falls zukünftig weitere Versionen als Empfehlung vom W3C verabschiedet werden, dann ermöglicht der Parameter die Verarbeitung verschiedener Versionen. • encoding (optional) • Kodierung des Dokuments,Beispiele (UTF-8 – auchDefaultwert, UTF-16 - müssen ebenfalls alle XML-Prozessoren unterstützen). • standalone (optional) • 'yes' - spezifiziert, dass dem Dokument keine externe Markup-Deklaration (DTD oder XML-Schema) zugeordnet wird, sonst 'no' • Defaultwert 'no'‚ wenn externe Deklaration definiert ist und standalone nichtangegeben ist - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Beispiele für den Vorspann <?XML version="1.0" encoding="UTF-8" standalone="yes"> <?XML version="1.0" encoding="UTF-16" standalone="no"> <!DOCTYPE tourismus-infos SYSTEM "tourismus.dtd"> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Eigenschaften von XML-Dokumenten Wohlgeformtheit • Dokument syntaktisch korrekt? Überprüft wird: • Alle Elemente müssen ein Start-Tag und ein Ende-Tag haben, außer leere Elemente • Korrekte Schachtelung von Tags • Alle Attributwerte stehen in Hochkommas oder Anführungsstrichen • Ohne zugeordnete DTD sind alle Attribute nach Definition vom Typ CDATA • Keine mehrfach auftretenden Attributnamen an einem Element • Alle Zeichen, die Markup sein könnten (Bsp <, &), dürfen nicht im Text auftreten, sondern müssen durch Entityreferenzen (< &) ersetzt werden • ... • Verlernen schlechter Eigenschaften, die man sich bei der HTML-Erstellung leicht angewöhnt - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Eigenschaften von XML-Dokumenten • Gültigkeit • Wohlgeformtheit und entspricht das XML-Dokument der zugeordneten DTD? • Getestet wird z.B.: • Inhaltsmodelle der Elemente, so im Schema definiert? • Attribute definiert? - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur Schema- beschreibung XML-Dokumente
<!-- Hotel DTD--> <!ELEMENT hotel (name, kategorie?, adresse, hausbeschreibung, preise*> <!ATTLIST hotel id ID #REQUIRED url CDATA #REQUIRED> <!ELEMENT name (#PCDATA)> <!ELEMENT kategorie (#PCDATA)> <!ELEMENT adresse (plz, ort, strasse, hausnummer, telefon, fax?, e-mail?)> <!ELEMENT plz (#PCDATA)> ... <!ELEMENT hausbeschreibung (#PCDATA)> <!ELEMENT preise (#PCDATA | einzelzimmer | doppelzimmer | appartment)*> <!ATTLIST preise waehrung CDATA #REQUIRED> <!ELEMENT einzelzimmer (#PCDATA)> ... <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hotel SYSTEM "hotel_dt.dtd"> <hotel id="id001" url="http://www.hotel-huebner.de"> <name>Strand Hotel Huebner</name> <adresse> <plz>18119</plz> <ort>Rostock-Warnemuende</ort> ... </adresse> <hausbeschreibung> Direkt an der Promenade von Warnemuende befindet sich das Strand-Hotel Huebner mit Blick auf Leuchtturm, Hafeneinfahrt und Strand. </hausbeschreibung> <preise waehrung=„Euro"> <einzelzimmer>ab 78,-</></> ... </hotel> Ein umfangreicheres Beispiel - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Umfangreicheres Beispiel: DTD <!ELEMENT publications (book | article | conference)*> <!ELEMENT book (front, body, references)> <!ATTLIST book isbn CDATA #REQUIRED> <!ELEMENT front (title, author+, edition?, publisher)> <!ELEMENT title (#PCDATA)> <!ELEMENT author (first, second, e-mail?)> <!ELEMENT first (#PCDATA)> ... <!ELEMENT edition (#PCDATA)> <!ELEMENT publisher (#PCDATA)> <!ELEMENT body (part+ | chapter+)> <!ELEMENT part (ptitle, chapter+)> <!ATTLIST part id ID #REQUIRED> <!ELEMENT ptitle (#PCDATA)> <!ELEMENT chapter (ctitle, section+)> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Graphische Darstellung: DTD - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Umfangreicheres Beispiel: XML-Dokument /1 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE publications SYSTEM "C:\..\vorlesungen\xmldb\publications.dtd"> <publications> <book isbn=„354041956"> <front> <title>Datenbanken und XML</title> <author><first>Wasilios</first><second>Kazakos</second></author> <author><first>Andreas</first><second>Schmidt</second></author> <author><first>Peter</first><second>Tomazcyk</second></author> <publisher>Springer Verlag</publisher> </front> <body> <part id="k1"> <ptitle>..</ptitle> ... </part> </body> </book> ... weiter auf der nächsten Seite - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Umfangreicheres Beispiel: XML-Dokument /2 <book isbn=„3446220089"> <front> <title>XML und Datenbanken</title> <author> <first>Harald</first> <second>Schoening</second></author> <publisher>Hanser Verlag</publisher> </front> <body> <part id="s1"> <ptitle/> <chapter> <ctitle/> ... </chapter> </part> </body> <references>..</references> </book> </publications> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Graphische Darstellung: XML-Dokument - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Logische vs. physische Struktur - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
XLink / XPointer • Realisierung von Hyperlinks XLink: • Einfache und erweiterte Verweise sind möglich • Einfache Verweise (ähnlich wie in HTML) • Erweiterte Verweise können mit Metadaten annotiert werden XPointer: • Realisierung von Hyperlinks, die nicht nur auf ganze XML-Dokumente zeigen, sondern auf Bestandteile • diese Bestandteile werden durch XPath-Ausdrücke angegeben - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
XLink: einfache Verweise • Gehen von beliebigen Elementen aus, können die folgenden Attribute verwenden • xlink:type • Bei einfachen Verweisen auf simple gesetzt • xlink:href • Enthält den eigentlichen Verweis • xlink:role • xlink:arcrole • xlink:title • xlink:show • (new|replace|embed|other|none) – Anzeige des Verweises wird gesteuert • xlink:actuate • (onLoad|onRequest|other|none) – Zeitpunkt der Auswertung des Verweises wird festgelegt - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
XLink: Beispiel <?xml version="1.0" encoding="UTF-8"?> <rechnung kundennummer="k333063143" xmlns:xlink="http://www.w3.org/1999/xlink"> <monatspreis>0,00</monatspreis> <einzelverbindungsnachweis xlink:title="Monatsabrechnung" xlink:href="april2003.xml" xlink:show="embed"/> </rechnung> - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
XPointer • Realisierung von Hyperlinks, die direkt auf einzelne Bestandteile von XML-Dokumenten verweisen • XPath wird eingesetzt, um diese zu beschreiben • XPath ist eine Sprache, die der Adressierung von Dokumentbestandteilen dient • Auf XPath basiert eine Reihe weiterer Empfehlungen wie XQuery (Anfragesprache für XML-Dokumente), XSLT Transformationssprache für XML-Dokumente) und XPointer. • XPath ist Bestandteil einer eigenen Vorlesung, hier erfolgt nur ein Vorgriff • Informal: Adressierung von Dokumentteilen durch Beschreibung von Pfaden und Bedingungen - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
XPointer: Beispiel <lexikon> <eintrag stichwort="Information„> ... <erklaerung num="3"><anwendung>Informatik:</anwendung> die formulierte Unterrichtung nicht nur von Menschen, sondern auch von Organisationen und techn. Einrichtungen über Sachverhalte, Ereignisse, Abläufe. Die <siehe_eintrag xml:link="locator„ xlink:href="band3.xml#//eintrag@stichwort=´Informationstheorie´" xlink.show="replace" title="Informationstheorie">Informationstheorie </siehe_eintrag> versteht unter Informatik ein Maß, das den Zeichen einer Nachricht zugeordnet ist. </erklaerung> ... </eintrag> </lexikon> Der Verweis erfolgt in das Dokument band3.xml auf das Element eintrag, dem das Stichwort Informationstheorie als Attribut zugeordnet ist. - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Vorausschau: andere Methoden zur Schemabeschreibung • XML-Schema (kommt in einer sp,teren Vorlesung) • Genauere Darstellung von Strukturinformation ist möglich, Bsp: minOccurs, maxOccurs, pattern, … • XML-Syntax • Datentypen (41 Standard-Datentypen, benutzerdefinierte DT)
Beispiel: XML-Schema <xs:complexType name="Adresse"> <xs:complexContent> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:element name="Ort" minOccurs="1" maxOccurs="1" type="ort" /> <xs:element name="PLZ" minOccurs="1" maxOccurs="1" type="xs:integer" /> <xs:element name= "Strasse" minOccurs="1" maxOccurs="1" type= "xs:string"/> <xs:element name="Nr" minOccurs="1" maxOccurs="1" type="hausnummer"/> </xs:sequence> </xs:restriction></xs:complexContent> </xs:complexType> <xs:element name=“adresse” type=“Adresse”>
Zusammenfassung XML-Dokumente bestehen aus • Elementen • Attributen • Processing Instructions • Kommentaren Ihnen können externe und interne DTDs zugeordnet sein. Zuordnung eines XML-Schemas ist ebenfalls möglich. DTDs bzw. XML Schema beschreiben die Struktur von XML- Dokumenten. Gültigkeit der XML-Dokumente wird an diesen getestet. - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Zusammenfassung / 2 • Durch diese einfache Syntax können verschiedene Arten von Informationen dargestellt werden • Palette reicht von Daten bis hin zu Dokumenten • Siehe dazu auch nächste Folie - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Klassifikation von XML Dokumenten <order> <customer>Meyer</customer> <position> <isbn>1-234-56789-0</isbn> <number>2</number> <price currency=„Euro“>30.00</price> </position> </order> • Datenzentrierte Dokumente strukturiert, regulär Beispiele: Produktkataloge, Bestellungen, Rechnungen • Dokumentzentrierte Dokumente unstrukturiert, irregulär Beispiele: wissenschaftliche Artikel, Bücher, E-Mails, Webseiten • Semistrukturierte Dokumente datenzentrierte und dokumentzentrierte Anteile Beispiele: Veröffentlichungen, Amazon - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur <content> XML builds on the principles of two existing languages, <emph>HTML</emph> and <emph>SGML</emph> to create a simple mechanism .. The generalized markup concept .. </content> <book> <author>Neil Bradley</author> <title>XML companion</title> <isbn>1-234-56789-0</isbn> <content> XML builds on the principles of two existing languages, <emph>HTML</emph> and .. </content> </book>
Empfehlung • Vor den nächsten Vorlesungen ist es sinnvoll, praktisch mit XML-Dokumenten und DTDs gearbeitet zu haben. • Dazu eine Übung oder individuelles Ausprobieren von • Erstellung eines XML-Dokumentes (mit Elementen und Attributen) • Test der Wohlgeformtheit • Erstellung einer DTD • Test der Gültigkeit. • Verwendbar dazu XML Spy, für 30 Tage kostenlose Probelizenz, kann unter www.xmlspy.com angefordert werden. - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur
Weiterführende Literatur • www.w3.org (Informationen des W3C) • ... unzählige Bücher - Einleitung • - Syntax • > Elemente • > Attribute • > ID, IDREF • > Entities • > PI • > Kommentare • - Vorspann • - Eigenschaften • - Beispiele • - XLink • XPointer • - Literatur