Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

Ähnliche Präsentationen


Präsentation zum Thema: "Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme"—  Präsentation transkript:

1 Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

2 2 Sprachfamilie AG Netzbasierte Informationssysteme Quelle:http://www.jeckle.de/images/xml/languageFamily.gif

3 3 Motivation  einheitliches Format nötig  Format sollte durch XML- Prozessor validierbar sein AG Netzbasierte Informationssysteme My Life and Times Paul McCartney 1998 July McMillin Publishing My Life and Times Paul McCartney July, McMillinPublishing oder so? so?

4 4 Typen von Daten im Netz Textbasiert RTF ASCII Semistrukturiert XMLHTML Binär: Word Postscript Strukturiert: Datenbanken Binär: A/V

5 5 Typen von XML Dokumenten XML Dokumente (wohlgeformt) SVG Vokabular index.xhtml zeichnung.svg mein.xml books.xml clipart.svg info.xhtml XHTML Vokabular

6 6 Dokument-Typ AG Netzbasierte Informationssysteme Typ von erlaubten XML-Dokumenten = "XML-Sprache"  Dokument-Typ definiert mit einer DTD, einem XML-Schema oder ähnlichen Formalismen Objekt Dokument-Typ XML-Dokument XML-Dokument XML-Dokument Objekt XML-DokumentXML-Dokument XML-DokumentXML-Dokument XML-DokumentXML-Dokument Schnittstelle

7 7  prinzipieller Aufbau von Dokumenten: Welche Elemente/Attribute?  Datentypen der Inhalte: Welche Inhalte? AG Netzbasierte Informationssysteme PCDATA  konkrete Inhalte werden nicht beschrieben  Klasse von erlaubten XML-Dokumenten Spezifische Formate

8 Document Type Definitions (DTDs)

9 9 Wie sieht eine DTD hierfür aus?  BookStore soll mindestens ein Buch enthalten.  ISBN optional  alle anderen Kind-Elemente obligatorisch AG Netzbasierte Informationssysteme My Life and Times Paul McCartney July, McMillin Publishing

10 10 Die DTD für das Beispiel-Dokument AG Netzbasierte Informationssysteme ähnelt einer kontextfreien Grammatik Element-Deklaration

11 11 Elementdeklaration: Datentypen für Inhalte Element: Ausdruck über Elemente mit Symbolen, + * | ? #PCDATA: unstrukturierter Inhalt ohne reservierte Symbole ( EMPTY: leerer Inhalt, Element kann Attribute haben : ANY: beliebiger Inhalt (strukturiert, unstrukturiert, gemischt oder leer) Keine gewohnten Datentypen wie INTEGER oder FLOAT AG Netzbasierte Informationssysteme

12 12 Deklaration von BookStore AG Netzbasierte Informationssysteme  +: n Wiederholungen mit n > 0.  *: n Wiederholungen mit n ≥ 0.  BookStore hat mindestens ein Kind Book  Außer Book darf BookStore keine anderen Kind- Elemente haben.

13 13 Rekursive Deklarationen Bookstore besteht aus genau einer der Alternativen: genau ein Kind-Element Book zwei Kind-Elemente: Book und BookStore | : Auswahl, genau eine der beiden Alternativen, : Sequenz von Elementen. Beachte: Rekursive Deklaration nicht äquivalent zur vorherigen, iterativen Definition! AG Netzbasierte Informationssysteme

14 14 Rekursive vs. iterative Deklaration AG Netzbasierte Informationssysteme … … … … BookStore mit 3 Büchern

15 15 Die DTD für das Beispiel-Dokument AG Netzbasierte Informationssysteme

16 16 Deklaration von Book  Title, Author, Date, ISBN und Publisher (in dieser Reihenfolge) Kind-Elemente von Book  außer diesen keine anderen Kind-Elemente  ? : optional AG Netzbasierte Informationssysteme …

17 17 Die DTD für das Beispiel-Dokument AG Netzbasierte Informationssysteme

18 18 Deklaration von Title etc. AG Netzbasierte Informationssysteme My Life and Times Paul McCartney July, McMillin Publishing

19 19 Verschachtelungen AG Netzbasierte Informationssysteme ChapChap  beliebige Verschachtelung von Sequenz, Auswahl |, ?, *, + und Rekursion erlaubt  Beispiel: Kap1 Ein Absatz Kap1.1 … … Kap1.2 …

20 20 Einschränkung der Verschachtelung AG Netzbasierte Informationssysteme  Beispiel: ((b, c) | (b, d)) ist nicht-deterministisch  Grund: Wenn erstes Element = b, dann kann XML- Prozessor keine der beiden Alternativen ausschließen.  XML erlaubt nur deterministische Content Modelle  jedes nicht-deterministische Content Modell kann in ein äquivalentes deterministisches umgeformt werden  Beispiel: ((b, c) | (b, d)) = (b, (c | d))

21 DTDs: Attribut-Deklaration

22 22 Deklaration von Attributen AG Netzbasierte Informationssysteme version CDATA #IMPLIED> Attribut- Deklarationen

23 23 Deklaration von Attributen AG Netzbasierte Informationssysteme  BookStore hat Attribut version  Außer version hat BookStore keine weiteren Attribute  CDATA: Attribut-Wert = String ohne <, &, ', "  Beachte: nicht verwechseln mit  daher Entity References für <, & und ' bzw. " verwenden …

24 24 Aufzählungstypen AG Netzbasierte Informationssysteme  hier statt CDATA Aufzählungstyp:  Attribut gender hat entweder Wert male oder female.  "female" ist Standard-Wert von gender.

25 25 Weitere Datentypen für Attribute AG Netzbasierte Informationssysteme Zusätzlich zu CDATA (Strings) und Aufzählungstypen:  NMTOKEN: String, der Namenskonventionen (grob) von XML entspricht  ID: eindeutiger Bezeichner, der Namenskonventionen von XML entspricht  IDREF: Referenz auf einen eindeutigen Bezeichner

26 26 NMTOKEN Leerzeichen nicht zulässig eignet sich somit dazu Werte mit Leerzeichen auszuschließen AG Netzbasierte Informationssysteme Deutsches Wörterbuch Beispiel von:

27 27 ID/IDREF  Wert des Attributes key muss eindeutig sein: Zwei Attribute vom Typ ID dürfen nie gleichen Wert haben  Wert von keyref muss gültige Referenz sein: keyref muss Wert eines Attributes vom Typ ID sein AG Netzbasierte Informationssysteme

28 28 Beispiel AG Netzbasierte Informationssysteme Text key="k1 Text Text pkey="p1" Text Text keyref="k1" Text pkey="p1" Text Wert k1 muss eindeutig sein: kein anderes Attribut vom Typ ID darf diesen Wert haben. Referenz k1 muss existieren: ein Attribut vom Typ ID muss den Wert k1 haben.

29 29 Optionale / erforderliche Attribute  #FIXED: Attribut hat immer den gleichen Wert  #IMPLIED: Attribut optional  #REQUIRED: Attribut obligatorisch AG Netzbasierte Informationssysteme #FIXED "1.0"

30 DTDs: Entitäten AG Netzbasierte Informationssysteme

31 31 XML Entitäten Vom letzten Mal: Entity References in XML: &  & <  < >  > '  ‚ "  „ Entities sind Abkürzungen für Zeichenfolgen In DTDs selbst definierbar AG Netzbasierte Informationssysteme

32 32 Deklaration von Entitäten Verwendung: Autor: &author “Import” aus externen Definitionen: „General Entity“ zur Verwendung in Dokumenten AG Netzbasierte Informationssysteme

33 33 Deklaration von internen Entitäten „Internal Entity“ zur Verwendung in DTDs Verwendung: “Import” aus externen Definitionen: %fu-attribs; übernimmt alle Definitionen aus der Datei AG Netzbasierte Informationssysteme

34 DTDs: Deklaration von Dokument-Typ

35 35 Deklaration des Dokument-Typs (Document Type Declaration) AG Netzbasierte Informationssysteme  vollständige DTD intern im XML-Dokument  ein Verweis auf eine externe DTD im XML-Dokument oder  Dokument-Typ direkt nach XML-Deklaration einfügen

36 36 Interne DTD AG Netzbasierte Informationssysteme …

37 37 Externe DTD AG Netzbasierte Informationssysteme … … Dokument-Typ Deklaration

38 DTDs: Wohlgeformt & zulässig

39 39 Wohlgeformheit vs. Zulässigkeit wohlgeformt (well formed): XML-Dokument entspricht Syntaxregeln von XML zulässig (valid) bzgl. einer DTD: 1.Wurzel-Element des XML-Dokumentes in DTD deklariert 2.Wurzel-Element hat die in der DTD festgelegte Struktur AG Netzbasierte Informationssysteme

40 40 Nachteile von DTDs keine XML-Syntax, eigener Parser nötig sehr wenige Datentypen keine eigenen Datentypen definierbar keine Namensräume: DTDs können nur dann kombiniert werden, wenn es keine Namenskonflikte gibt! keine Vererbungshierarchien für Typen AG Netzbasierte Informationssysteme

41 41 Und noch ein Nachteil Sequenzen einfach zu definieren: Aber: Soll Reihenfolge der Kind-Elemente egal sein, müssen alle Permutationen explizit aufgezählt werden: nicht praktikabel: bei n Kind-Elementen n! Permutationen AG Netzbasierte Informationssysteme

42 42 DTDs Zusammenfassung AG Netzbasierte Informationssysteme DTD deklariert das erlaubte Vokabular DTD definiert für jedes Element ein Content-Modell  Content-Modell legt fest:  Elemente oder Daten  Reihenfolge & Anzahl von Elementen/Daten innerhalb eines Elements  Pflicht oder optionale Elemente DTD deklariert für jedes Element eine Menge von erlaubten Attributen


Herunterladen ppt "Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme"

Ähnliche Präsentationen


Google-Anzeigen