Einführung in XML Schemata - die Alternative zu DTDs
description
Transcript of 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
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)
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
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)
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)
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)
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>
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
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>
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.
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.
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>........
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
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.
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
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