Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Günther Brandt Geändert vor über 9 Jahren
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)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.