Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Kurzpräsentation von Herbert Schlechta
XML Schema Kurzpräsentation von Herbert Schlechta
2
DTD und die Nachteile keine Einschränkung auf den Inhalt
hoher Programmieraufwand um die korrekte Dateneingabe zu erzwingen DTDs sind nicht in XML definiert kein Zugriff auf Schnittstellen wie DOM
3
XML Schema Aufgabe Ein Schema beschreibt und definiert die Bedeutung
die mögliche Verwendung die Beziehung der Teile innerhalb eines XML-Dokuments.
4
Teile eines XML-Dokuments
Datentypen Elemente und deren Inhalte Attribute und deren mögliche Werte Entitäten und ihr Inhalt und Notation
5
Datentypenbaum
6
Einfache Datentypen xsd:string xsd:boolean xsd:dateTime xsd:integer
7
Einfacher Datentype selbst erstellt
<xsd:element name=“preis”> <xsd:simpleType> <xsd:restriction base=“xsd:decimal”/> <xsd:minExclusive value=“0”/> <xsd:maxExclusive value=“100”/> </xsd:restriction> </xsd:simpleType> </xsd:element>
8
Komplexer Datentyp <xsd:element name=“adresse”>
<xsd:complexType> <xsd:sequence> <xsd:element name=“strasse” type=“xsd:string”/> <xsd:element name=“hausnummer” type=“xsd:string”/> <xsd:element name=“plz” type=“xsd:string”/> <xsd:element name=“ort” type=“xsd:string”/> </xsd:sequence> <xsd:attribute name=“vorhanden” type=“xsd:boolean”/> </xsd:complexType> </xsd:element>
9
Benannte Datentype <xsd:schema xmlns…….> …
<xsd:element name=“preis”> <xsd:simpleType> <xsd:restriction base=“xsd:decimal”/> <xsd:minExclusive value=“0”/> <xsd:maxExclusive value=“100”/> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:schema> <xsd:element name=“neuerPreis” type=“preis”/>
10
Aufbau eines XML-Schemas
<?xml version=“1.0” encoding=“ISO ”?> <xsd:schema xmlns:xsd= <xsd:element name=“adresse”> <xsd:complexType> <xsd:sequence> <xsd:element name=“strasse” type=“xsd:string”/> <xsd:element name=“hausnummer” type=“xsd:string”/> <xsd:element name=“plz” type=“xsd:string”/> <xsd:element name=“ort” type=“xsd:string”/> </xsd:sequence> <xsd:attribute name=“vorhanden” type=“xsd:boolean”/> </xsd:complexType> </xsd:element> </xsd:schema>
11
Einfache Elemente hat kein Kindelement hat keine Attribute
12
Komplexe Elemente alles was kein einfaches Element ist!!!
13
Kompositor 1 <xsd:complexType name=“adresse”>
<xsd:sequence> <xsd:element name=“strasse” type=“xsd:string”/> <xsd:element name=“hausnummer” type=“xsd:string”/> <xsd:element name=“plz” type=“xsd:string”/> <xsd:element name=“ort” type=“xsd:string”/> </xsd:sequence> </xsd:complexType> Elemente müssen der Reihenfolge nach abgearbeitet werden.
14
Kompositor 2 <xsd:complexType name=“erreichbarkeit”>
<xsd:all> <xsd:element name=“festnetz” type=“xsd:string”/> <xsd:element name=“handy” type=“xsd:string”/> <xsd:element name=“ ” type=“xsd:string”/> <xsd:element name=“fax” type=“xsd:string”/> </xsd:all> </xsd:complexType>
15
Kompositor 3 <xsd:complexType name=“familienstand”>
<xsd:choice> <xsd:element name=“ledig”/> <xsd:element name=“verheiratet”/> <xsd:element name=“geschieden”/> <xsd:element name=“verwitwet”/> </xsd:choice> </xsd:complexType>
16
Wildcards <xsd:complexType name=“notizen”> <xsd:sequence>
<xsd:element name=“uhrzeit” type=“xsd:time”/> <xsd:element name=“datum” type=“xsd:date”/> <xsd:any processContents=“skip”> </xsd:sequence> <xsd:anyAttribute/> </xsd:complexType> Schema befindet sich noch im Entwicklungsstadium. Mit any wird das Dokument nicht als ungültig eingestuft.
17
Attribute 1 <xsd:complexType name=“notizen”>
<xsd:sequence> <xsd:element name=“uhrzeit” type=“xsd:time”/> <xsd:element name=“datum” type=“xsd:date”/> </xsd:sequence> <xsd:attribute name=“eingangszeit” type=“xsd:string”/> </xsd:complexType> Schema befindet sich noch im Entwicklungsstadium. Mit any wird das Dokument nicht als ungültig eingestuft.
18
Attribute 2 <xsd:element name=“einband”> <xsd:simpleType>
<xsd:restriction base=“xsd:string”/> <xsd:enumeration value=“Gebundene Ausgabe”/> <xsd:enumeration value=“Taschenbuch”/> <xsd:enumeration value=“Broschüre”/> </xsd:restriction> </xsd:simpleType> </xsd:element> Schema befindet sich noch im Entwicklungsstadium. Mit any wird das Dokument nicht als ungültig eingestuft.
19
Attribute 3 <xsd:element name=“ISBN”> <xsd:simpleType>
<xsd:restriction base=“xsd:string”/> <xsd:pattern value=“\d{1}-\d{4}-d{4}-\d{1}”/> </xsd:restriction> </xsd:simpleType> </xsd:element> Schema befindet sich noch im Entwicklungsstadium. Mit any wird das Dokument nicht als ungültig eingestuft.
20
Attribute 4 <xsd:complexType name=“notizen”>
<xsd:sequence> <xsd:element name=“uhrzeit” type=“xsd:time”/> <xsd:element name=“datum” type=“xsd:date”/> </xsd:sequence> <xsd:attribute name=“vorhanden” type=“xsd:boolean” use=“required”/> </xsd:complexType> Schema befindet sich noch im Entwicklungsstadium. Mit any wird das Dokument nicht als ungültig eingestuft.
21
Namensraum Namensraum: www.verein.at name beitrag adresse …
zeitschrift beitrag verlag … Namensraum: projekt beitrag leitung … DTD hat keine Namensräume!
22
Namensraumdeklaration 1
<xsd:schema xmlns:ve=“ xmlns:me=“ <ve.element name=“name”/> <ve.element name=“beitrag”/> … <me.element name=“beitrag”/> Namensraum: name beitrag adresse … Namensraum: zeitschrift beitrag verlag …
23
Namensraumdeklaration 2
xsd:schema xmlns:xsd= xmlns:ve=“ xmlns:me=“ <ve.element name=“name” type=“xsd:string”/> <ve.element name=“beitrag” type=“xsd:integer/> … <me.element name=“beitrag” type=“xsd:string”/> Namensraum: name beitrag adresse … Namensraum: zeitschrift beitrag verlag …
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.