Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kurzpräsentation von Herbert Schlechta

Ähnliche Präsentationen


Präsentation zum Thema: "Kurzpräsentation von Herbert Schlechta"—  Präsentation transkript:

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


Herunterladen ppt "Kurzpräsentation von Herbert Schlechta"

Ähnliche Präsentationen


Google-Anzeigen