Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge.

Ähnliche Präsentationen


Präsentation zum Thema: "DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge."—  Präsentation transkript:

1 DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge

2 DTD (Dokumenttyp- Deklaration) Inhalt  genaue Definition aller nutzbaren Elemente und Entities  Inhalt und Attribute der Elemente Zweck  Validierung des XML-Dokuments  Dokumentation der gewünschten Struktur

3 DTD am Beispiel Element-Deklaration Festlegung des allgemeinen Typs Beschreibung des Inhalts Reihenfolge der Deklarationen sind beliebig person enthält genau einmal name und eine beliebige Anzahl von beruf -Elementen name muß genau einmal vorname und einmal nachname enthalten vorname, nachname und beruf haben den Typ PCDATA (Parsed Character Data) DTD (person.dtd) Gültiges XML-Dokument Förster Peter Mustermann Fahrer Mechaniker

4 Deklaration einer externen DTD: Bedeutung:  Wurzelelement des XML-Dokuments ist person  XML-Dokument bezieht sich auf die DTD in der Datei person.dtd  Quelle kann lokal oder im Internet liegen Dokumenttyp-Deklaration 1

5 DTD kann im XML-Dokument enthalten sein (interne Deklaration) <!DOCTYPE person[../.. ]> Kombination externer/interner Deklaration möglich <!DOCTYPE person SYSTEM "name.dtd" [ <!ELEMENT person (name, beruf*) ]> Dokumenttyp-Deklaration 2

6 Syntax: #PCDATA  Ist einfachstes Inhaltsmodell  Hat keine Kindelemente  Enthält vom Parser ersetzte Zeichendaten <!ELEMENT telefonnummer (#PCDATA) einfache Kindelemente  Enthalten nur einzelne Kindelemente Element-Deklaration 1

7 Element-Deklaration 2 Folgen (Sequenzen)  Enthält mehrere Kindelemente  Anzahl der Kinder im XML-Dokument durch Suffix bestimmt: ? Kein oder ein Element erlaubt * Kein oder mehrere Elemente erlaubt +Ein oder mehrere Elemente erlaubt Erfolgt keine explizite Suffix-Angabe, so muss das Kindelement genau einmal vorkommen Auswahl  Auswählbare Elemente werden durch „|“ getrennt Klammern  Schachtelung von Auswahl und Folgen möglich

8 Element-Deklaration 3 Gemischter Inhalt  Enthält Kindelemente und Zeichendaten  Die Liste der Kindelemente kann beliebig lang sein, allerdings muss #PCDATA an erster Stelle stehen.  Gezeigte Deklaration ist die einzig gültige Möglichkeit, gemischten Inhalt darzustellen Leere Elemente  Für Elemente ohne Inhalt. Können Attribute enthalten   Beispiel: ANY  Ein als ANY deklariertes Element kann beliebigen Inhalt haben  Enthaltene Elemente müssen definiert sein 

9 Attribut-Deklaration #REQUIRED  Angabe erforderlich #IMPLIED  Angabe optional #FIXED  Angabe optional, Wert unveränderlich Literal  Standardwert 10 erlaubt Attributtypen: CDATA, NMTOKEN, NMTOKENS, Aufzählung, ENTITY, ENTITIES, ID, IDREF, IDREFS, NOTATION <!ATTLIST bild quelle CDATA #REQUIRED hoehe CDATA #IMPLIED breite CDATA "250" alt CDATA #FIXED "Bild" > Entspricht:

10 Allgemeine Entities  Vorkommen: Dokumenteninhalt  5 vordefinierte Entities (,&,‘,“)  Deklaration  Nutzung &baustein; Externe geparste allgemeine Entities  Vorkommen: Dokumenteninhalt  Referenz &baustein2; kann vom Parser durch den externen Inhalt ersetzt werden Parameter-Entities  Vorkommen: DTD  Gruppiert Elemente  Redefinition externer Entities intern möglich Entity-Deklaration

11 <![IGNORE[ ]]> <![INCLUDE[ ]]> <![%namen_einfuegen;[ ]]> DTDs sind aufteilbar Kombination mittels externer Paramter-Entity-Referenzen %namen; Bedingtes Einfügen Externe DTD-Teilmengen

12 W3C XML Schema Hauptzweck  Validierung  Dokumentation Nachfolger von DTD XML Schema nutzt XML Notation

13 XML Schema – Ein Beispiel Elemente: name, vorname, nachname Attribute: id Schema-Dokumentelement: schema Zur Erstellung eines XML Schemas ist es nötig, einzelne XML Elemente zu klassifizieren.

14 Klassifizierung 1 Inhaltsmodelle InhaltsmodellLeerEinfachKomplexGemischt KindelementeNein Ja KindtextNeinJaNeinJa Leeres Inhaltsmodell <name vorname="Peter„ nachname="Mustermann" /> Komplexes Inhaltsmodell Peter Mustermann Einfaches Inhaltsmodell Peter Mutermann Auf den Hund gekommen Gemischtes Inhaltsmodell Peter lebt in Deutschland

15 Klassifizierung 2 Typen Enthält ein Element nur Textknoten und weder Kindelemente noch Attribute, dann wird es als einfacher Typ bezeichnet. In allen anderen Fällen handelt es sich um komplexe Typen. Einfache Typen (simpleType) Peter Mutermann Komplexe Typen (complexType) Auf den Hund gekommen Peter

16 Elementdefinition xs ist das Präfix, welches mit dem W3C XML Schema verknüpft ist (auch wenn im folgenden teilweise weggelassen, so ist doch der Bezug zum W3C XML Schema gemeint) xs:string ist ein Datentyp, der im, mit xs verknüpften, Schema definiert ist Reihenfolge der Definition ist ohne Bedeutung Sprachelemente können nahezu beliebig geschachtelt werden Definitionen im Wurzelelement (hier schema) werden als global bezeichnet

17 Typen 1 Überblick

18 Typen 2 primitive Typen

19 Typen 3 string-ähnliche Typen

20 Typen 4 Numerische Typen

21 Definition eigener Typen 1 einfache Datentypen, restriction Begrenzte Anzahl von primitiven Typen vorhanden Neubildung von Typen durch Ableitung möglich Neue Eigenschaften ergeben sich durch Erweiterung (nur bei komplexen Datentypen) oder Einschränkung Beispiel: Definition eines Ganzzahlwertes mit dem Wertebereich [-2;5] restiction gibt den Datentyp an, auf den die neuen Einschränkungen angewendet werden sollen

22 Definition eigener Typen 2 komplexe Typen, extension Nachfolgende Definition hat die Aussage: Das Element titel hat komplexen Typ, der einfachen Inhalt hat, der wiederum durch Erweiterung des Typs xs:string entsteht, indem das an anderer Stelle definierte Attribut lang hinzugefügt wird. Beispiel: Auf den Hund gekommen

23 <xs:element ref="born" minOccurs="1"/> <xs:element ref="dead" minOccurs="0"/> <xs:element name="author" type="author"> Definition eigener Typen 3 komplexe Typen, sequence, all sequence  Standard für das minimale und maximale Auftreten eines Kindelements ist 1  Reihenfolge in einer Sequence ist bindend  Attribute nach Folge definieren  Beispiel: sequence ist Kompositor und element -Elemente sind Partikel all  definiert Folge, bei der Reihenfolge unbedeutend  Einschränkungen: Nur als Kompositor, nicht Partikel Nur Elemente vom Typ xs:element enthalten Auftretenshäufigkeit von Elementen nicht größer als 1 Das Beispiel für sequence ist daher nicht für all geeignet

24 Definition eigener Typen 4 komplexe Typen, choise Ein Element kann verschiedene Möglichkeiten haben, Inhalte aufzunehmen. Im Beispiel ist choise ein Kompositor, die element - und sequence - Elemente die Partikel

25 Definition eigener Datentypen 5 komplexe Typen, group Wenn bestimmte Gruppen oft benötigt werden, lassen sie sich zu Gruppen zusammenfassen Gruppen müssen global definiert werden Es gibt Attribut- und Elementgruppen Definition Attributgruppe Benutzung: Definition Elementgruppe Benutzung:

26 Schema-Inklusion Aufteilung eines Schemas Schema-Inclusion ( include )  Mehrere Teile werden mittels include in ein Hauptschema eingebunden  Doppelte Definitionen in beiden Schemas werden als Fehler behandelt Schema-Inclusion mittels Redefinition ( redefine )  Typen und Element/Attributgruppen des eingebundenen Schemas können unter gleichem Namen redefiniert werden, was sonst verboten wäre  Erweiterung / Einschränkung wie beim Erstellen eigener Datentypen möglich Inclusionsmethoden von XML  Externe geparste Entities Können lokal eingebunden werden. Werden in DTD deklariert und im Dokument als Entity referenziert  XInclude Können lokal eingebunden werden Vorherige Deklaration nicht notwendig

27 Eindeutigkeit, Schlüssel und Schlüsselverweise 1 Ein XML-Dokument muss die Möglicheit bieten, einhaltene Infomationen zu identifizieren und zu referenzieren Dazu bietet XML Schema zwei Möglichkeiten 1. ID, IDREF und IDREFS  Teilweise von DTD geerbt  Lexikalischer Raum wie beim Datentyp NCName (darf u.a. nicht mit Ziffern beginnen und kein Whitespace enthalten)  Global definiert  Kann in Elementen und Attributen verwendet werden  Beispiel:  ID stellt den Identifikator, IDREF den Verweis darauf und IDREFS den Verweise auf eine Liste von Identifikatoren dar  Der Wert für ID muss im Dokument eindeutig sein, der Wert für IDREF bzw. IDREFS muss im Dokument vorhanden sein

28 Eindeutigkeit, Schlüssel und Schlüsselverweise 2 2. unique, key und keyref  unique Der selector gibt den relativen Pfad zum Unterelement an und field das/die Element/e, die zur Identifikation genutzt werden. Knoten, deren „ field “ nicht existiert, werden nicht beachtet In jeder Bibliothek sollte ein Buch, das über seine ISBN identifiziert wird, eindeutig bestimmt sein..../...

29  key Hat die selben Eigenschaften wie unique und zusätzlich die Bedingung, dass die als field deklarierten Knoten angegeben werden müssen.../... Eindeutigkeit, Schlüssel und Schlüsselverweise 3

30 Eindeutigkeit, Schlüssel und Schlüsselverweise 4  keyref Kann als Verweis auf key und unique verwendet werden keyref muss unterhalb des Elements oder dessen Nachkommen definiert sein, in dem die referenzierten Elemente key oder unique definiert sind Ein referenzierter Wert muß im Dokument vorhanden sein.../...

31 Der Autor eines Buches. <xs:element name="author" type="authorType" doc:doc="Beschr. des Autors eines Buches." xmlns:doc="http://xyz.de/doc"/> Dokumentation und Kommentare XML 1.0 – Kommentare annotation -Element  documentation  appinfo Fremdattribute

32 DTD vs. W3C XML Schema

33 Vorteile von XML Schema gegenüber DTD statt 10 Datentypen werden bereits 41 Basis-Datentypen definiert mit den objektorientierten Methoden Restriction und Extension können diese Basis-Typen eingeschränkt bzw. ausgedehnt werden und somit die Beschreibung beliebiger Datenstrukturen erlauben XML Schemas werden selbst in XML erstellt, sodass Parser und Transformationen (XSLT) sehr einfach darauf angewendet werden können beliebige Elemente können als eindeutige Elemente und sogar als Schlüsselwerte definiert werden ( unique, key ) statt in einer sequentiellen Anordnung von Elementen können Elemente auch in einer Menge angeordnet werden ( all ) beliebige Elemente können den gleichen Namen besitzen, aber verschiedenen Inhalt (mittels unterschiedlicher Namespaces)


Herunterladen ppt "DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge."

Ähnliche Präsentationen


Google-Anzeigen