einführung in xml schemata - die alternative zu dtds

16
Dipl.- Dok. Rusalka Offer XML XML SCHEMA SCHEMA Fachhochschule Köln Fachbereich Informationswissen schaft Einführung in XML Schemata - die Alternative zu DTDs

Upload: fairly

Post on 02-Feb-2016

48 views

Category:

Documents


0 download

DESCRIPTION

Einführung in XML Schemata - die Alternative zu DTDs. Zweck von XML - Schema: Definition von Dokumentypen oder Dokumentklassen Formulierung von Regeln für die Auszeichnung ->Anordnung der Tags (mit Attributen). Vorteile gegenüber DTDs (1) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft

Einführung in

XML Schemata -

die Alternative zu DTDs

Page 2: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft

Zweck von XML - Schema:

• Definition von Dokumentypen oder Dokumentklassen

• Formulierung von Regeln für die Auszeichnung

->Anordnung der Tags (mit Attributen)

Page 3: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft Vorteile gegenüber DTDs (1)

•Definition in XML selber(gleiche Deklarations- und Auszeichnungs- syntax)

•Datenstrukturen und -typen sind in größerer Anzahl vorhanden und

können beliebig erweitert werden (hierzu zählen auch genaue Häufigkeits- angaben)

•Implementierung von Namensräumen

•Erweiterung der Referenzierungs-möglichkeiten

Page 4: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft

Vorteile gegenüber DTDs (2)

•Möglichkeiten zur Vererbung von Eigenschaften deklarierter

Objekte

•Stärkere Datenorientierung (anstatt Dokumentorientierung)

•Schemata durch XML-Prozessor verarbeitbar

(keine Erweiterungen für die Prüfung von DTDs notwendig)

Page 5: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft

Nachteile gegenüber DTDs:

•keine deutliche Unterscheidung zwischen Deklaration und Verwendung(Verzicht auf syntaktisch eigenständige Deklarationssprache)

•deutlich längerer Sourcecode (Lesbarkeit!)

•Entwicklung noch nicht abgeschlossen

•(früher: Existenz von mehreren Schemasprachen)

Page 6: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft XML -Schema-Sprachen

aktuell:W3C: XML Schema language

bisher:Microsoft/IBM: Document Content Description Language (DCD)

GMD / TU Darmstadt: Document Defintion Markup Language (DDML)

Veo Systems / Muzmo Communications u.a.:Schema for object-oriented XML (SOX)

Page 7: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft

Aufbau von XML-Schemata

<? xml version="1.0“ encoding="UTF8“?>

<xsd:schema

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

Beschreibung der Datenstruktur(simpleType | complexType | group| attributeGroup) | element |attribute | notation)*

</xsd:schema>

Page 8: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft Deklarationsarten in

Schemata:•Element - Deklarationen

•Attribut - Deklarationen

•Notations - Deklarationen

Elemente und Attribute können verschiedenen Typen zugeordnet werden, die deklariert werden müssen

•Complex - Type

•Simple - Type

XML-Schemata werden unter der Endung .xsd gespeichert

Page 9: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft Complex - Type

Beispiel:

<xsd:complexType name="Adresse" ><xsd:sequence><xsd:element name=“Name" type="xsd:string"/><xsd:element name=“Strasse" type="xsd:string"/><xsd:element name=“PLZ" type="xsd:decimal"/><xsd:element name=“Ort" type="xsd:string"/></xsd:sequence><xsd:attribute name=“Land" type="xsd:NMTOKEN" fixed=“Deutschland"/></xsd:complexType>

Page 10: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft Erläuterung Complex-Type

(1):•Complex-Type Elemente können im Gegensatz zu den Simple-Type Elemente weitere Elemente und Attribute beinhalten.

•Im vorigen Beispiel wird folgendes festgelegt:-Jedes Element in einem XML-Dokument vom Typ Adresse muss vier Elemente und ein Attribut besitzen. -Die Elemente müssen in der vorgegebenen

Reihenfolge stehen und die vorgegebenen Namen tragen. -Drei Elemente sind vom Typ string und ein Element vom Typ decimal-Das Element Adresse kann einem Attribut “Land “ haben, das denn Wert “ Deutschland “ haben muss.

Page 11: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft Erläuterung Complex-Type (2):

Dieser definierte Complex-Type kann an anderer Stelle im Schema referenziert werden:

<xsd:complexType name=“Bestellung"><xsd:sequence><xsd:element name=“Empfaenger" type="Adresse"/><xsd:element name=“Absender" type=“Adresse"/></xsd:sequence></xsd:complexType>

In diesem Beispiel ist der Complex-Type Adresse Bestandteil des Complex-Types Bestellung.

Page 12: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft Erläuterung Complex-Type

(3):XML-Beispiel: <?xml version="1.0"?><Bestellung> <Empfaenger Land=“Deutschland"> <Name>Rusalka Offer</Name> <Strasse>Claudiusstr. 1</Strasse> <PLZ>50678</PLZ> <Ort>Koeln</Ort> </Empfaenger> <Absender Land=“Deutschland""> <Name>Firma 1</Name> <Strasse>Firmenweg 1</Strasse> <PLZ>11111</PLZ> <Ort>Wolkenkuckucksheim</Ort></Absender>........

Page 13: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft Simple Type (1)

(Datentypen von Elementen)

Beispiel:

<xsd:element name= "Name" type="xsd:string"/><xsd:element name= "Strasse" type="xsd:string"/>

Erläuterung:•Die beiden Elemente Name und Strasse sind vom Typ string•Der Typ string ist innerhalb von XML Schema als Simple Type definiert.• Andere Beispiele für Simple Types sind:decimal, integer, double, long, token, boolean•Eine komplette Liste gibt es auf den Seiten des W3C

Page 14: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft Simple Type (2)

Neue Datentypen können aus den bestehenden abgeleitet werden.

Beispiel:<xsd:simpleType name="meine_Zahl"><xsd:restriction base="xsd:integer"><xsd:minInclusive value="100"/><xsd:maxInclusive value="999"/></xsd:restriction></xsd:simpleType>

In diesem Beispiel wird ein neuer Simple Type auf der Basis des Datentyps integer erstellt. Dieser Datentyp ist auf die Zahlen von 100 bis 999 beschränkt.

Page 15: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft

Element - Deklarationen:Beispiel:

<xsd:element name=“Auslieferungsdatum" type="xsd:date" minOccurs="0"/>

•Neben dem Datentyp kann bei Elementen sowohl die Häufigkeit des Auftretens bestimmt werden, als auch ein Default- oder Fixed-Wert

•Zur Bestimmung gibt es festgelegte Attribute:minOccurs, maxOccurs, fixed, default

•In diesem Beispiel ist das Auftreten des Elementes optional, da minOccurs auf 0 gesetzt ist

Page 16: Einführung in  XML Schemata - die  Alternative zu DTDs

Dipl.- Dok. Rusalka OfferX

ML

XM

L

SC

HEM

AS

CH

EM

A

Fachhochschule KölnFachbereichInformationswissenschaft

Attribut - Deklarationen:Beispiel:

<xsd:attribute name=“Land" type="xsd:NMTOKEN" fixed=“Deutschland"/>

•Attribute zu Elementen dürfen einmal oder gar nicht auftreten (bezogen auf ein Element)

•Bei der Deklaration wird das Auftreten von Attributen mit den Vorgaben use

(Werte:required, optional, prohibited), fixed und default geregelt

•In diesem Beispiel hat das Attribut Land einen festen Wert (Deutschland) und ist vom Typ NMTOKEN