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 harasic@inf.fu-berlin.de

2 2 Sprachfamilie AG Netzbasierte Informationssysteme http://www.ag-nbi.de 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 http://www.ag-nbi.de My Life and Times Paul McCartney 1998 July 94303-12021-43892 McMillin Publishing My Life and Times Paul McCartney July, 1998 94303-12021-43892 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 http://www.ag-nbi.de 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 http://www.ag-nbi.de 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 http://www.ag-nbi.de My Life and Times Paul McCartney July, 1998 94303-12021-43892 McMillin Publishing

10 10 Die DTD für das Beispiel-Dokument AG Netzbasierte Informationssysteme http://www.ag-nbi.de ä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 http://www.ag-nbi.de

12 12 Deklaration von BookStore AG Netzbasierte Informationssysteme http://www.ag-nbi.de  +: 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. <Book>…</Book>

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 http://www.ag-nbi.de

14 14 Rekursive vs. iterative Deklaration AG Netzbasierte Informationssysteme http://www.ag-nbi.de … … … <Book>…</Book> … BookStore mit 3 Büchern

15 15 Die DTD für das Beispiel-Dokument AG Netzbasierte Informationssysteme http://www.ag-nbi.de

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 http://www.ag-nbi.de …

17 17 Die DTD für das Beispiel-Dokument AG Netzbasierte Informationssysteme http://www.ag-nbi.de

18 18 Deklaration von Title etc. AG Netzbasierte Informationssysteme http://www.ag-nbi.de My Life and Times Paul McCartney July, 1998 94303-12021-43892 McMillin Publishing

19 19 Verschachtelungen AG Netzbasierte Informationssysteme http://www.ag-nbi.de 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 http://www.ag-nbi.de  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 http://www.ag-nbi.de <!ATTLIST <!ATTLIST BookStore > version CDATA #IMPLIED> <!ATTLIST Elementname AttrName1 AttrTyp1 Attrbeschr1 AttrName2 AttrTyp2 Attrbeschr2 > Attribut- Deklarationen

23 23 Deklaration von Attributen AG Netzbasierte Informationssysteme http://www.ag-nbi.de <!ATTLIST BookStore CDATA version CDATA #IMPLIED>  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 http://www.ag-nbi.de <!ATTLIST Author (male | female) gender (male | female) "female">  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 http://www.ag-nbi.de 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 http://www.ag-nbi.de Deutsches Wörterbuch Beispiel von: http://www.maik-stuehrenberg.de/arbeit/projekte/milca/a-5-4/A-5-4-3-3-3-3-2-7.xhtml

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 http://www.ag-nbi.de <!ATTLIST Author ID key ID #IMPLIED IDREF keyref IDREF #IMPLIED>

28 28 Beispiel AG Netzbasierte Informationssysteme http://www.ag-nbi.de 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 http://www.ag-nbi.de #FIXED "1.0"

30 DTDs: Entitäten AG Netzbasierte Informationssysteme http://www.ag-nbi.de

31 31 XML Entitäten Vom letzten Mal: Entity References in XML: &  & <  < >  > &apos;  ‚ "  „ Entities sind Abkürzungen für Zeichenfolgen In DTDs selbst definierbar AG Netzbasierte Informationssysteme http://www.ag-nbi.de

32 32 Deklaration von Entitäten Verwendung: Autor: &author “Import” aus externen Definitionen: „General Entity“ zur Verwendung in Dokumenten AG Netzbasierte Informationssysteme http://www.ag-nbi.de

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 http://www.ag-nbi.de

34 DTDs: Deklaration von Dokument-Typ

35 35 Deklaration des Dokument-Typs (Document Type Declaration) AG Netzbasierte Informationssysteme http://www.ag-nbi.de  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 http://www.ag-nbi.de <!DOCTYPE BookStore [ ]> …

37 37 Externe DTD AG Netzbasierte Informationssysteme http://www.ag-nbi.de … … 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 http://www.ag-nbi.de

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 http://www.ag-nbi.de

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 http://www.ag-nbi.de

42 42 DTDs Zusammenfassung AG Netzbasierte Informationssysteme http://www.ag-nbi.de 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