Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Marie Ingrid Roth Geändert vor über 8 Jahren
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: & & < < > > ' ‚ " „ 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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.