Title: XML und Datenbanken - Einf
1XML und Datenbanken- Einführung in XML -
- Meike Klettke
- Universität Rostock
- Fakultät für Informatik und Elektrotechnik
- meike_at_informatik.uni-rostock.de
- www.xml-und-datenbanken.de
2Inhalt
- XML
- Elemente, Attribute
- Vergleich Elemente und Attribute
- ID/IDREF
- DTDs
- Elemente, Attribute, Entities
- XLink, XPointer
- Eigenschaften von XML-Dokumenten
- Weiterführende Literatur
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
3Beispiele für XML-Dokumente
- ltordergt
- ltcustomergtMeyerlt/customergt
- ltpositiongt
- ltisbngt1-234-56789-0lt/isbngt
- ltnumbergt2lt/numbergt
- ltprice currencyEurogt30.00lt/pricegt
- lt/positiongt
- lt/ordergt
- ltcontentgt
- XML builds on the principles of two
- existing languages, ltemphgtHTML
- lt/emphgt and ltemphgtSGML
- lt/emphgt to create a simple mechanism .. The
generalized markup concept .. lt/contentgt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
Elemente und Attribute hierarchische
Schachtelung Sequenz
Markup in Volltexten Mixed Content Elemente
4Syntax von Elementen /1
- Grundbausteine eines XML-Dokumentes
- Ein Element besteht aus
- Start-Tag
- Ende-Tag und
- Elementinhalt
- Beispiel
- ltvortragendergt Ronald Bourret lt/vortragendergt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
Start-Tag
Ende-Tag
Elementinhalt
5Syntax von Elementen /2
- Leere Elemente sind möglich
- Beispiel
- ltkoordinaten/gt
- Elemente können verschachtelt werden
- ltvortragendergt
- ltnamegtBourretlt/namegt
- ltvornamegtRonaldlt/vornamegt
- lt/vortragendergt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
Start-Tag
Elementinhalt
Ende-Tag
6Graphische Darstellung von XML-Dokumenten
- XML-Dokumente sind Bäume!
- Beispiel
- ltvortragendergt
- ltnamegtBourretlt/namegt
- ltvornamegtRonaldlt/vornamegt
- lt/vortragendergt
- korrekte Schachtelung der
- Elemente notwendig
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
Elementknoten Textknoten
7Verwendung 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
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
8Definition von Elementen in einer DTD
- XML-Dokument
- ltvortragendergt Ronald Bourret lt/vortragendergt
- Zugehörige DTD
- lt!ELEMENT vortragender (PCDATA)gt
- XML-Dokument
- ltvortragendergt
- ltnamegt Bourret lt/namegt
- ltvornamegt Ronald lt/vornamegt
- lt/vortragendergt
- Zugehörige DTD
- lt!ELEMENT vortragender (name, vorname)gt
- lt!ELEMENT name (PCDATA)gt
- lt!ELEMENT vorname (PCDATA)gt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
9Definition von Elementen in einer DTD
(Inhaltsmodelle)
- 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
lt!ELEMENT hotel (name,
adresse)gt lt!ELEMENT name
(PCDATA)gt lt!ELEMENT adresse (plz, ort,
((strasse, nummer?)
postfach))gt lt!ELEMENT beschreibung (PCDATA
ausstattung gastronomie)gt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
10Beispiele zur Definition von Elementen in einer
DTD /1
- lt!ELEMENT hotel (name, adresse)gt
- lthotelgt
- ltnamegtHotel am Leuchtturmlt/namegt
- ltadressegt...lt/adressegt
- lt/hotelgt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
11Beispiele zur Definition von Elementen in einer
DTD /2
- lt!ELEMENT adresse (plz, ort, ((strasse, nummer?)
postfach))gt - ltadressegt
- ltplzgt18119lt/plzgt
- ltortgtWarnemuendelt/ortgt
- ltstrassegtSeestrasselt/strassegt
- ltnummergt12lt/nummergt
- lt/adressegt
- ltadressegt
- ltplzgt18051lt/plzgt
- ltortgtRostocklt/ortgt
- ltpostfachgt12345lt/postfachgt
- lt/adressegt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
12Beispiele zur Definition von Elementen in einer
DTD /3
- lt!ELEMENT beschreibung ( PCDATA ausstattung
gastronomie)gt - ltbeschreibunggtDas Hotel am Leuchtturm befindet
sich direkt am - Alten Strom, mit Blick auf die Hafeneinfahrt, die
Mole und den - Strand.lt/beschreibunggt
- ltbeschreibunggtUnser Hotel verfügt über eine
ltausstattunggt - Sauna lt/ausstattunggt und eine ltausstattunggt
- Meerwasserschwimmhalle lt/ausstattunggt. Das
ltgastronomiegt - Hotelrestaurantlt/gastronomiegt bietet regionale
Küche und - Fischspezialitäten. lt/beschreibunggt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
13Syntax von Attributen /1
- Attribute werden einem Element des XML-Dokumentes
zugeordnet - ltvortragender tutorialT1gt Ronald Bourret
lt/vortragendergt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
Attributname
Attributwert
Start-Tag
Ende-Tag
Elementinhalt
- Zugehörige DTD
- lt!ELEMENT vortragender (PCDATA)gt
- lt!ATTLIST vortragender tutorial CDATA REQUIREDgt
14Syntax von Attributen / 2
- XML-Dokument
- ltkoordinaten x200 y300 z150 /gt
- DTD
- lt!ELEMENT koordinaten EMPTYgt
- lt!ATTLIST koordinaten x CDATA REQUIRED
- y CDATA
REQUIRED - z CDATA
IMPLIED gt -
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
15Darstellung von XML-Dokumenten (mit Elementen und
Attributen)
- XML-Dokumente sind Bäume!
- Beispiel
- ltvortragender tutorialT1gt
- ltnamegtBourretlt/namegt
- ltvornamegtRonaldlt/vornamegt
- lt/vortragendergt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
vortragender
tutorial
name
vorname
T1
Bourret
Ronald
Elementknoten Textknoten Attributknoten
16Deklaration von Attributen in einer DTD
- Attribute haben
- einen Namen
- einen Typ
- (CDATA, ID, IDREF/IDREFs,
- ENTITY/ENTITYS,
- NMTOKEN/NMTOKENS
- oder (wert1wert2...)
- 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
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
lt!ATTLIST preis waehrung
CDATA REQUIREDgt lt!ATTLIST projekt id ID
REQUIREDgt lt!ATTLIST person projekt
IDREF REQUIREDgt lt!ATTLIST plz xml-sqltype
CDATA FIXED INTEGERgt
17ID / IDREF
- Attribute können als ID/ IDREF/ IDREFS definiert
sein - Werte innerhalb eines Dokumentes eindeutig
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
lt!ELEMENT projekt (title)gt lt!ATTLIST projekt
bearbeiter IDREF
REQUIREDgt lt!ELEMENT person (name,
..)gt lt!ATTLIST person id ID
REQUIREDgt ... lt!ELEMENT abteilung
EMPTYgt lt!ATTLIST abteilung abt_id ID
REQUIREDgt
ltprojekt bearbeiterp0001gt lttitlegt...lt/titlegt lt
/projektgt ltprojekt bearbeitera0001gt lttitlegt...
lt/titlegt lt/projektgt ... ltperson idp0001gt
ltnamegtMeyerlt/namegt lt/persongt ... ltabteilung
abt_ida0001gt
18ID/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
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
19Verwendung von Elementen oder Attributen (in DTDs)
- 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
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
20Entities /1
- Allgemeine Entity-Deklarationen
- zur Definition von Dokumentbestandteilen
- lt!ENTITY hansesailtermin 11.-14. August 2005gt
- lt!ENTITY hansesailteilnehmer 200
Traditionssegler und Museumsschiffegt - ltveranstaltunggt
- Die Hansesail findet in diesem Jahr vom
- hansesailtermin statt.
- Es werden hansesailteilnehmer erwartet.
- lt/veranstaltunggt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
21Entities /2
- Vordefinierte Entities
- zur Verwendung spezieller Zeichen
- lt für lt
- gt für gt
- amp für
- apos für
- quot 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
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
22Entities /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
- 60 stellt das Zeichen lt dar
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
23Entities /4
- Nichtgeparste Entities zur Einbindung anderer
Dateiformate - Bilder und ähnliches
- Beispiel
- lt!ELEMENT Hotel (PCDATA)gt
- lt!ATTLIST Hotel ansicht ENTITY IMPLIEDgt
- lt!ENTITY ansicht_Huebner
- SYSTEM "ansicht_Huebner.gif" NDATA GIFgt
- lt!NOTATION GIF SYSTEM 'gifviewer.exegt
-
- ltHotel ansicht"ansicht_Huebner"gt
- Strand Hotel Hübner
- lt/Hotelgt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
24Entities /5
- Parameter Entities
- zur Verwendung in DTDs
- Beispiel
- lt!ENTITY adressdef (ort,plz,strasse,nummer)gt
- lt!ELEMENT adresse adressdefgt
- Einsatz zur Deklaration von mehrfach auftretenden
Teilen einer DTD - Ziel Wiederverwendung, Modularisierung
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
25Processing 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 lt? PI-Name PI-Anweisung ?gt
- Beispiel
- lt?xml-stylesheet type"text/xsl"
- href"C/Eigene Dateien/meike/xml/my
-style.xsl"?gt - Anwendungen muss Processing Instruction auswerten
können
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
26Kommentare
- 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 lt!-- Dies ist ein Beispielkommentar --gt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
27Aufbau eines XML-Dokumentes
- Bestandteile eines XML-Dokumentes
- Vorspann
- DTD
- XML
- DTD und XML schon kurz vorgestellt, wie sieht der
Vorspann aus?
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
28Vorspann 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 auch
Defaultwert, 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 nicht angegeben ist
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
29Beispiele für den Vorspann
- lt?XML version"1.0" encoding"UTF-8"
- standalone"yes"gt
-
- lt?XML version"1.0" encoding"UTF-16"
- standalone"no"gt
- lt!DOCTYPE tourismus-infos SYSTEM "tourismus.dtd"gt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
30Eigenschaften 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 lt, ),
dürfen nicht im Text auftreten, sondern müssen
durch Entityreferenzen (lt amp) ersetzt
werden - ...
- Verlernen schlechter Eigenschaften, die man sich
bei der HTML-Erstellung leicht angewöhnt ?
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
31Eigenschaften 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
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
Schema-
beschreibung
XML-Dokumente
32Ein umfangreicheres Beispiel
- lt!-- Hotel DTD--gt
- lt!ELEMENT hotel (name, kategorie?, adresse,
- hausbeschreibung, preisegt
- lt!ATTLIST hotel id ID REQUIRED
- url CDATA REQUIREDgt
- lt!ELEMENT name (PCDATA)gt
- lt!ELEMENT kategorie (PCDATA)gt
- lt!ELEMENT adresse (plz, ort,
- strasse, hausnummer, telefon,
- fax?, e-mail?)gt
- lt!ELEMENT plz (PCDATA)gt
- ...
- lt!ELEMENT hausbeschreibung (PCDATA)gt
- lt!ELEMENT preise (PCDATA einzelzimmer
- doppelzimmer appartment)gt
- lt!ATTLIST preise waehrung CDATA REQUIREDgt
- lt!ELEMENT einzelzimmer (PCDATA)gt
- ...
- lt?xml version'1.0' encoding'UTF-8'?gt
- lt!DOCTYPE hotel SYSTEM "hotel_dt.dtd"gt
- lthotel id"id001"
- url"http//www.hotel-huebner.de"gt
- ltnamegtStrand Hotel Huebnerlt/namegt
- ltadressegt
- ltplzgt18119lt/plzgt
- ltortgtRostock-Warnemuendelt/ortgt
- ...
- lt/adressegt
- lthausbeschreibunggt Direkt an der Promenade
von Warnemuende befindet sich das Strand-Hotel
Huebner mit Blick auf Leuchtturm, Hafeneinfahrt
und Strand. - lt/hausbeschreibunggt
- ltpreise waehrungEuro"gt
- lteinzelzimmergtab 78,-lt/gtlt/gt
- ...
- lt/hotelgt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
33Umfangreicheres Beispiel DTD
- lt!ELEMENT publications (book article
conference)gt - lt!ELEMENT book (front, body, references)gt
- lt!ATTLIST book isbn CDATA REQUIREDgt
- lt!ELEMENT front (title, author, edition?,
publisher)gt - lt!ELEMENT title (PCDATA)gt
- lt!ELEMENT author (first, second, e-mail?)gt
- lt!ELEMENT first (PCDATA)gt
- ...
- lt!ELEMENT edition (PCDATA)gt
- lt!ELEMENT publisher (PCDATA)gt
- lt!ELEMENT body (part chapter)gt
- lt!ELEMENT part (ptitle, chapter)gt
- lt!ATTLIST part id ID REQUIREDgt
- lt!ELEMENT ptitle (PCDATA)gt
- lt!ELEMENT chapter (ctitle, section)gt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
34Graphische Darstellung DTD
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
35Umfangreicheres Beispiel XML-Dokument /1
- lt?xml version"1.0" encoding"UTF-8"?gt
- lt!DOCTYPE publications SYSTEM "C\..\vorlesungen\x
mldb\publications.dtd"gt - ltpublicationsgt
- ltbook isbn354041956"gt
- ltfrontgt
- lttitlegtDatenbanken und XMLlt/titlegt
- ltauthorgt ltfirstgtWasilioslt/firstgt
ltsecondgtKazakoslt/secondgt lt/authorgt - ltauthorgt ltfirstgtAndreaslt/firstgt
ltsecondgtSchmidtlt/secondgt lt/authorgt - ltauthorgt ltfirstgtPeterlt/firstgt
ltsecondgtTomazcyklt/secondgt lt/authorgt - ltpublishergtSpringer
Verlaglt/publishergt - lt/frontgt
- ltbodygt
- ltpart id"k1"gt
- ltptitlegt..lt/ptitlegt
- ...
- lt/partgt
- lt/bodygt
- lt/bookgt
- ...
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
36Umfangreicheres Beispiel XML-Dokument /2
- ltbook isbn3446220089"gt
- ltfrontgt
- lttitlegtXML und Datenbankenlt/titlegt
- ltauthorgt ltfirstgtHaraldlt/firstgt
ltsecondgtSchoeninglt/secondgt lt/authorgt - ltpublishergtHanser Verlaglt/publishergt
- lt/frontgt
- ltbodygt
- ltpart id"s1"gt
- ltptitle/gt
- ltchaptergt
- ltctitle/gt
- ...
- lt/chaptergt
- lt/partgt
- lt/bodygt
- ltreferencesgt..lt/referencesgt
- lt/bookgt
- lt/publicationsgt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
37Graphische Darstellung XML-Dokument
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
38Logische vs. physische Struktur
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
39XLink / 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
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
40XLink einfache Verweise
- Gehen von beliebigen Elementen aus, können die
folgenden Attribute verwenden - xlinktype
- Bei einfachen Verweisen auf simple gesetzt
- xlinkhref
- Enthält den eigentlichen Verweis
- xlinkrole
- xlinkarcrole
- xlinktitle
- xlinkshow
- (newreplaceembedothernone) Anzeige des
Verweises wird gesteuert - xlinkactuate
- (onLoadonRequestothernone) Zeitpunkt der
Auswertung des Verweises wird festgelegt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
41XLink Beispiel
lt?xml version"1.0" encoding"UTF-8"?gt ltrechnung
kundennummer"k333063143" xmlnsxlink"http//www.
w3.org/1999/xlink"gt ltmonatspreisgt0,00lt/monatsprei
sgt lteinzelverbindungsnachweis xlinktitle"Monats
abrechnung" xlinkhref"april2003.xml"
xlinkshow"embed"/gt lt/rechnunggt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
42XPointer
- 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
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
43XPointer Beispiel
- ltlexikongt
- lteintrag stichwort"Informationgt ...
- lterklaerung num"3"gtltanwendunggtInformatiklt/anwe
ndunggt die formulierte - Unterrichtung nicht nur von Menschen,
sondern auch von Organisationen und
techn. Einrichtungen über Sachverhalte, - Ereignisse, Abläufe. Die
ltsiehe_eintrag xmllink"locator - xlinkhref"band3.xml//eintrag_at_stichwo
rtInformationstheorie"
xlink.show"replace" title"Informationstheorie"gtI
nformationstheorie - lt/siehe_eintraggt versteht unter
Informatik ein Maß, das den Zeichen - einer Nachricht zugeordnet ist.
- lt/erklaerunggt ...
- lt/eintraggt
- lt/lexikongt
- Der Verweis erfolgt in das Dokument band3.xml auf
das Element eintrag, dem - das Stichwort Informationstheorie als Attribut
zugeordnet ist.
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
44Vorausschau 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)
45Beispiel XML-Schema
- ltxscomplexType name"Adresse"gt
- ltxscomplexContentgt ltxsrestriction
base"xsanyType"gt ltxssequencegt
ltxselement name"Ort" minOccurs"1"
maxOccurs"1" type"ort" /gt
ltxselement name"PLZ" minOccurs"1"
maxOccurs"1" type"xsinteger" /gt
ltxselement name "Strasse" minOccurs"1"
maxOccurs"1"
type "xsstring"/gt ltxselement name"Nr"
minOccurs"1" maxOccurs"1"
type"hausnummer"/gt
lt/xssequencegt lt/xsrestrictiongtlt/xscomplexCo
ntentgt - lt/xscomplexTypegt
- ltxselement nameadresse typeAdressegt
46Zusammenfassung
- 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
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
47Zusammenfassung / 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
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
48Klassifikation von XML Dokumenten
- 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
ltordergt ltcustomergtMeyerlt/customergt
ltpositiongt ltisbngt1-234-56789-0lt/isbngt
ltnumbergt2lt/numbergt ltprice currencyEurogt30.0
0lt/pricegt lt/positiongt lt/ordergt
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
ltcontentgt XML builds on the principles of two
existing languages, ltemphgtHTMLlt/emphgt and
ltemphgtSGMLlt/emphgt to create a simple mechanism
.. The generalized markup concept .. lt/contentgt
ltbookgt ltauthorgtNeil Bradleylt/authorgt
lttitlegtXML companionlt/titlegt ltisbngt1-234-56789-0
lt/isbngt ltcontentgt XML builds on the
principles of two existing languages,
ltemphgtHTMLlt/emphgt and .. lt/contentgt lt/bookgt
49Empfehlung
- 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
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur
50Weiterführende Literatur
- www.w3.org (Informationen des W3C)
- ... unzählige Bücher
- - Einleitung
- - Syntax
- gt Elemente
- gt Attribute
- gt ID, IDREF
- gt Entities
- gt PI
- gt Kommentare
- - Vorspann
- - Eigenschaften
- - Beispiele
- - XLink
- XPointer
- - Literatur