1 xml und datenbanken kapitel 7: modellierung, teil 1 meike klettke universität rostock fakultät...

47
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik [email protected] www.xml-und-datenbanken.de

Upload: herrick-stopher

Post on 05-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

1

XML und DatenbankenKapitel 7: Modellierung, Teil 1

Meike Klettke

Universität Rostock

Fakultät für Informatik und Elektrotechnik

[email protected]

www.xml-und-datenbanken.de

Page 2: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

2Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Nachtrag zur merkwürdign Syntax von union: korrekt ist:

<xs:simpleType> <xs:union> <xs:simpleType>

<xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType> <xs:restriction base="xs:date"/> </xs:simpleType> </xs:union> </xs:simpleType>

Page 3: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

3Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

nächster Nachtrag: folgende Facets können direkt bei den

Elementdeklarationen definiert werden:– default– fixed– (id)– maxOccurs– minOccurs– nillable– (ref) eingeklammert, weil keine facets,

können aber als Attribute auftreten

Page 4: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

4Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Inhalt

Teil 1: Einführung Explizite Schemadefinition

– Vorteile eines expliziten Schemas– Methoden zur Darstellung von Schemata

• DTDs, XML Schema

Teil 2: konzeptuelle Modellierung

– Vorteile einer Modellierung– Methoden zur konzeptuellen Modellierung

Ableitung von Schemainformationen aus XML-Dokumenten Metriken Weiterführende Literatur

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 5: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

5Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Vorteile einer expliziten Struktur

Explizitmachen der Struktur (für Anwendungen und Applikationen)

Erkennung und dadurch Vermeidung von Fehlern in den XML-Dokumenten

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 6: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

6Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Schemata für XML-Dokumente

DTDs– (aus SGML, einfach, kompakt, gut lesbar, aber keine

XML-Syntax)

XML Schema– (wesentlich mehr Darstellungsmöglichkeiten,

Datentypen, exakte Kardinalitäten, ...)

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 7: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

7Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Document Type Definitions /1

Deklaration von Elementen und Attributen Elementen können aus

– einer Sequenz von Elementen (A,B), – einer Alternative von Elementen (A|B)– mit einer angegebenen Wiederholung (A?, A+, A*), möglich ist:

Minimum 0 oder 1, Maximum 1 oder n– #PCDATA– mixed content (#PCDATA | A | B)* – Inhaltsmodell ANY oder EMPTY, sowie– beliebigen Kombinationen (Gruppierungen) aus den oberen

Möglichkeiten

bestehen. Den Elementen können Attribute zugeordnet sein.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 8: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

8Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Document Type Definitions /2

Attribute haben einen Attributnamen, eine Typangabe (CDATA, NMTOKEN, NMTOKENS, ID,

IDREF, IDREFS, ENTITY oder eine Aufzählung), eine Angabe, ob Attribute immer auftreten müssen oder

optional sind (#REQUIRED, #IMPLIED, #FIXED) sowie einen Defaultwert.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 9: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

9Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

XML Schema /1

seit Mai 2001 als Empfehlung des W3C verabschiedet enthält drei Teile:

– Einführung– Strukturen sowie– Datentypen

XML Schema enthält wesentlich umfangreichere Darstellungsmöglichkeiten als DTDs.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 10: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

10Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

XML Schema /2

vielfältige vordefinierte Datentypen, die Möglichkeit zur Definition eigener Datentypen, umfangreiche Darstellungsmöglichkeiten, die Möglichkeit, Integritätsbedingungen darzustellen, die

die Korrektheit der XML-Dokumente beschreiben, sowie XML-Syntax.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 11: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

11Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

XML Schema /3

Enthält Definitionen und Deklarationen

Mit den Definitionen werden neue Typen (einfache oder komplexe) erzeugt,

Deklarationen beschreiben das Inhaltsmodell von Elementen und Attributen.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 12: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

12Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Einschub: Namensräume

Namensräume in XML: XML-Namensräume bieten eine einfache Möglichkeit, um Element- und Attributnamen, die in "Extensible Markup Language"-

Dokumenten verwendet werden können, eindeutig zu benennen. die Element- und Attributnamen werden mit Namensräumen verknüpft, die

durch URI-Verweise identifiziert werden.Namensraum in XML-Schema: jedes Element im Schema hat das Präfix xs: ist assoziiert mit: xmlns:xs="http://www.w3.org/2001/XMLSchema" dasselbe Präfix (also auch dieselbe Assoziation) steht bei den Namen der

vordefinierten einfachen Typen, Beispiel: xs:string Grund:

– Namensraum wird den Elementen und einfachen Typen dem XML Schema-Vokabular zugeordnet

– keine Zuordnung zum Vokabular des XML-Schema, das der Autor festlegt

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 13: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

13Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Beispiel

<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2000/10/XMLSchema"

elementFormDefault="qualified">

<xs:element name="anzahl" type="xs:int"/> <xs:simpleType name="kategorie"> <xs:restriction base="xs:integer"> <xs:minInclusive value="1"/> <xs:maxInclusive value="5"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="hausnummer"> <xs:restriction base="xs:string"> <xs:pattern value="[1-9][0-9]+[a-z]?"/> </xs:restriction> </xs:simpleType> …

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 14: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

14Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Einfache Typen

Einfache Typdefinitionen können vordefiniert oder benutzerdefiniert sein.

Eine Vielzahl von Standardtypen (string, boolean, float, integer, decimal, time, date, u.v.m.) ist vordefiniert, vgl. Abbildung

Einfache Datentypen sind die Basis aller anderen Typen. 

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 15: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

15Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Typhierarchie von XML Schema

anySimpleType

anyType

QName

NOTATION

anyURI

NMTOKEN

normalizedString

string

NMTOKENS

Namelanguage

NCName

ENTITY

ENTITIES

IDIDREF

IDREFS

token

duration

dateTime

time

date

gYear

gYearMonth

gMonth

gMonthDay

gDay

float

double

hexBinary

base64Binary

boolean

nonPositiveInteger

decimal

integer

long

int

short

byte

negativeInteger

unsignedLong

unsignedShort

unsignedByte

unsignedInt

nonNegativeInteger

positiveInteger

Subtypbildung mittels Restriktion

Liste von

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 16: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

16Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Beispiele für die Definition einfacher Typen /1

Definition einer Ortsangabe als String der Länge 30<xs:simpleType name="ort"> <xs:restriction base="xs:string"> <xs:length value="30"/> </xs:restriction>

</xs:simpleType>

Definition einer Angabe kategorie im Bereich zw. 1 und 5<xs:simpleType name="kategorie"> <xs:restriction base="xs:integer"> <xs:minInclusive value="1"/> <xs:maxInclusive value="5"/> </xs:restriction></xs:simpleType>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 17: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

17Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Beispiele für die Definition einfacher Typen /2

Definition einer Hausnummer als Zahl, der ein Buchstabe folgen kann

<xs:simpleType name="hausnummer">

<xs:restriction base="xs:string">

<xs:pattern value="[1-9][0-9]*[a-z]?"/>

</xs:restriction>

</xs:simpleType>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 18: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

18Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Benutzerdefinierte Typen

basieren auf den vordefinierten Datentypen durch sogenannte facets werden Eigenschaften definiert,

die die Typen weiter einschränken facets definieren Eigenschaften über einem Datentyp, die

ihn von anderen Datentypen unterscheiden.– lenght, minLenght, maxLength, – pattern, enumeration,– whitespace, sowie– minExclusive, maxExclusive, minInclusive,

maxInclusive.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 19: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

19Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Benutzerdefinierte Typen – Beispiel

Definition einer Adresse<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>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 20: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

20Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Typhierarchien

Es gibt zwei verschiedene Vererbungsstrategien Extension – Erweiterung eines bestehenden Typs

<xs:complexType name="firmenadresseType"> <xs:extension base="adresseType"> <xs:sequence> <xs:element name=`tel_sekretariat´/>

<xs:element name=`tel_chef´/> </xs:sequence>

</xs:extension> </xs:ComplexType>

Restriction – Einschränkung eines bestehenden Typs<xs:simpleType name="hausnummer">

<xs:restriction base="xs:string"> <xs:pattern value="[1-9][0-9]*[a-z]?"/> </xs:restriction>

</xs:simpleType>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 21: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

21Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Listen- und Vereinigungstypen

List - Liste von durch Leerzeichen getrennten Elemente Beispiel:

<xs:simpleType name= ´Telefonnummern´><xs:list itemType=´Telefonnummer´/>

</xs:simpleType> Union – Vereinigung von Wertebereichen Beispiel: <xs:simpleType name="kontakt">

<xs:union memberTypes="e-mail telefonnummer"></xs:union>

</xs:simpleType>

<xs:simpleType name="e-mail">...

</xs:simpleType>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 22: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

22Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Vereinigungstypen

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

<simpleType name="myUnionType">

<union>

<simpleType>

...

</simpleType>

<simpleType>

...

</simpleType>

</union>

</simpleType>

Page 23: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

23Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Attributdeklaration

Attributdeklarationen beinhalten einen Namen, einen (einfachen) Typ,

(vordefiniert oder benutzerdefiniert) eine Angabe, wie das Attribut verwendet wird (use),

möglich sind die Werte optional, required und fixed sowie einen optionalen Defaultwert (value). Wenn das

Attribut use=´fixed´ gesetzt ist, so gibt der Defaultwert den Wert an, den das Attribut immer annimmt.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 24: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

24Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Beispiel zur Attributdeklaration

<xs:attribute name="id" type="xs:ID" use="required"/>

<xs:attribute name="url" type="xs:string"

use="required"/>

<xs:attribute name="creation-time" type="xs:string"

use="optional"/>

 

<xs:attribute name="autor" type="xs:string"

use="required"/>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 25: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

25Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Deklaration von Attributgruppen

Attributgruppen sind bei mehrfacher Verwendung der

gleichen Attribute sinnvoll.

 

Beispiel:  

 <xs:attributeGroup name="preis_attribute"> 

<xs:attribute name="waehrung" type="xs:string"  

use="required"/>

<xs:attribute name="betrag" type="preis"

use="required"/>

</xs:attributeGroup>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 26: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

26Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Elementdeklaration

Elementdeklarationen enthalten

einen Namen (name) oder eine Referenz (ref) auf eine andere Elementdeklaration

sowie einen Typ (type) Es können Default- und Fixed-Werte (default, fixed)

angegeben werden sowie die Häufigkeit des Auftretens eines Elementes (minOccurs,

maxOccurs) definiert werden. Weiterhin kann durch nilable definiert werden, dass das

Element leer sein kann.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 27: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

27Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Beispiele zur Elementdeklaration /1

// Deklaration eines Hotelnamens<xs:element name="Hotelname" type="xs:string"/>

 

// Deklaration einer (optional auftretenden) Kategorie<xs:element name="Kategorie" minOccurs="0"  

maxOccurs="1" type="kategorie"/>

// Deklaration einer Adresse als Verweis auf eine andere Elementdeklaration

<xs:element ref="Adresse"/>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 28: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

28Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Beispiel zur Elementdeklaration /2

<xs:element name="Hotel"> <xs:complexType> <xs:sequence> … <xs:element ref="Telefon" minOccurs="1" maxOccurs="3"/> </xs:sequence> </xs:complexType></xs:element><xs:element name="Telefon"> <xs:complexType> <xs:sequence> <xs:element name="Vorwahl" minOccurs="0" maxOccurs="1" type="xs:string"/> <xs:element name="Rufnummer" minOccurs="1" maxOccurs="1" type="xs:string"/>  </xs:sequence> </xs:complexType></xs:element> 

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 29: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

29Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Inhaltsmodelle- Gruppierungen

Mögliche Gruppierungen:– sequence (ähnlich DTDs)– choice (ähnlich DTDs)– all

• alle Elemente dürfen in beliebiger Reihenfolge auftreten

• darf keine anderen Gruppen enthalten• der Wert für maxOccurs darf für die darin

enthaltenen Elemente nicht größer als 1 werden

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 30: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

30Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Gruppierung, Beispiele /1

<xs:element name="Telefon">

<xs:complexType>

<xs:sequence>

<xs:element name="Vorwahl" minOccurs="0"

maxOccurs="1" type="xs:string"/>

<xs:element name="Rufnummer" minOccurs="1"

maxOccurs="1" type="xs:string"/> 

</xs:sequence>

</xs:complexType>

</xs:element> 

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 31: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

31Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Gruppierung, Beispiele /2

<xs:complexType name="adresseType"><xs:sequence>

<xs:element ref="plz"/><xs:element ref="ort"/><xs:choice>

<xs:sequence><xs:element ref="strasse"/><xs:element ref="nummer"/>

</xs:sequence><xs:element ref="postfach"/>

</xs:choice><xs:element ref="telefon"/><xs:element ref="fax" minOccurs="0"/>

</xs:sequence></xs:complexType>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 32: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

32Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Definition von „Integritätsbedingungen“

definiert Bedingungen, die in den XML-Dokumenten erfüllt

sein müssen.

Möglich sind:  Eindeutigkeitsbedingung (unique) Schlüssel (key) sowie Referenzen auf Schlüssel (keyref).  

Die Definition der Elemente und Attribute, auf die eine

Integritätsbedingung angewendet werden soll, erfolgt über

einen XPath-Ausdruck.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 33: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

33Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Beispiele

<xs:key name="Hotel_key">

<xs:selector xpath="/Hotelinformationen/Hotel"/>

<xs:field xpath="@Hotelnummer"/>

</xs:key>

 

<xs:keyref name="Hotelverzeichnis_keyref" refer="Hotel_key“>

<xs:selector xpath="/Hotelverzeichnis/Ort/Hotels"/>

<xs:field xpath="@Hotelnummer"/>

</xs:keyref>

selector gibt eine Knotenmenge an, die eindeutig sein soll. Mit field wird relativ dazu angegeben, auf welchem

Elementwert oder Attribut die Eindeutigkeit getestet werden soll.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 34: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

34Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Definition globaler Typen

Typdefinitionen können global erfolgen. zugeordneter Bezeichner existiert Typdefinitionen können mehrfach verwendet werden.

Typen können auch die Basis für andere Typdefinitionen sein.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 35: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

35Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Beispiel für globale Deklarationen

<xs:element name="adresse">

<xs:complexType>

<xs:all>

<xs:element ref="ort"/>

<xs:element ref="plz" minOccurs="0"/>

<xs:element ref="strasse"/>

<xs:element ref="hausnummer"/>

</xs:all>

</xs:complexType>

</xs:element>

<xs:element name="hausnummer" type="xs:integer"/>

<xs:element name="ort" type="xs:string"/>

<xs:element name="plz" type="xs:integer"/>

<xs:element name="strasse" type="xs:string"/>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 36: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

36Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Definition lokaler Typen

Typdefinitionen können lokal erfolgen.

zugeordneter Bezeichner existiert nicht Definitionen sind dementsprechend nicht mehrfach

verwendbar.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 37: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

37Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Beispiel zur Definition lokaler Typen<xs:element name="adresse"> <xs:complexType> <xs:all>  <xs:element name="plz"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:length value="5"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ort" type="xs:string"/> <xs:element name="strasse" type="xs:string"/> <xs:element name="hausnummer"> <xs:simpleType name="hausnummer“> <xs:restriction base="xs:string"> <xs:pattern value="[1-9][0-9]+[a-z]?"/> </xs:restriction> </xs:simpleType>  </xs:element> </xs:all> </xs:complexType></xs:element>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 38: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

38Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Modellierungsstile

Typdefinitionen und Deklarationen können global oder lokal

erfolgen.

globale Definitionen und Deklarationen: zugeordneter Bezeichner existiert mehrfache Verwendung möglich Typen können auch die Basis für andere Typdefinitionen

sein.

lokale Definitionen und Deklarationen: zugeordneter Bezeichner existiert nicht Definitionen sind dementsprechend nicht mehrfach

verwendbar.

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 39: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

39Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Russian Doll (Matrjoschka) Design... <xs:element name="hotel"> <xs:complexType> <xs:sequence> <xs:element name="hotelname" type="xs:string"/> <xs:element name="kategorie" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="1"/> <xs:maxInclusive value="5"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="adresse"> <xs:complexType> <xs:sequence> <xs:element name="plz"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:length value="5"/> </xs:restriction> </xs:simpleType>...

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 40: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

40Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Salami Slice Design

...

<xs:element name="hotelname" type="xs:string"/>

...

<xs:element name="ort" type="xs:string"/>

<xs:element name="strasse" type="xs:string"/>

...

<xs:element name="adresse">

<xs:complexType>

<xs:sequence>

<xs:element ref="plz"/>

<xs:element ref="ort"/>

<xs:element ref="strasse"/>

<xs:element ref="hausnummer"/>

</xs:sequence>

</xs:complexType>

</xs:element>

...

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 41: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

41Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Venetian Blind Design... <xs:simpleType name="hotelname"> <xs:restriction base="xs:string"/> </xs:simpleType> ...<xs:simpleType name="plz"> <xs:restriction base="xs:integer"> <xs:length value="5"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="ort"> <xs:restriction base="xs:string"/> </xs:simpleType> ... <xs:complexType name="adresse"> <xs:sequence> <xs:element name="plz" type="plz"/> <xs:element name="ort" type="ort"/> <xs:element name="strasse" type="strasse"/> <xs:element name="hausnummer" type="hausnummer"/> </xs:sequence> ...

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 42: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

42Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Eigenschaften der Modellierungsstile

Matrjoschka-Design– Alle Typdefinitionen und alle Deklarationen erfolgen lokal (tief

geschachtelt)– Wiederverwendung nicht möglich

Salami Slice– Global Element- und Attributdeklarationen– Verwendung dieser durch ref– Wiederverwendung möglich

Venetian Blind– Alle Informationen werden in globalen Typdefinitionen

festgelegt– Diese Typen können die Basis für weitere Typen sein– Aus Sicht der Wiederverwendung beste Methode

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 43: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

43Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Verwendung von Elementen oder Attributen (DTD)

Elemente

Quantoren 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

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 44: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

44Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Verwendung von Elementen oder Attributen (XML Schema)

Elemente

minoccurs, maxoccurs Alternativen Defaultwerte mgl. Aufzählungstypen mgl. 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

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 45: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

45Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Modularer Entwurf /1

Schemata lassen sich zusammensetzen include/import- Mechanismus Beispiel:

<xs:include schemaLocation="telephone_bill.xs"/>

<xs:element name="customer">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="first_name" type="xs:string"/>

<xs:element name="telephone_calls" type="toll_type"/>

</xs:sequence>

</xs:complexType>

</xs:element>

Im XML-Schema telephone_bill.xs definiert

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 46: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

46Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Modularer Entwurf /2

Einige Anpassungen sind mit redefine möglich, z.B.– Ergänzen von Elementen und Attributen– Einschränken des Wertebereiches (durch facets)

Beispiel:<xs:redefine schemaLocation="telephone_bill.xs"> <xs:complexType name="toll_type"> <xs:complexContent> <xs:extension base="toll_type"> <xs:sequence> <xs:element name="tax" type="xs:decimal"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:redefine>

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung

Page 47: 1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

47Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

4) Generieren von XML-Dokumenten aus Datenbanken

Zusammenfassung

Nach der Einführung der Methoden zur Schemadarstellung folgen in der nächsten Vorlesung die Methoden zur konzeptuellen Modellierung

EinleitungDTDsXML-Schema- Typen- Attribute- Elemente- ModellierungsstileZusammenfassung