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

Slides:



Advertisements
Ähnliche Präsentationen
Extensible Markup Language
Advertisements

Worzyk FH Anhalt Datenbanksysteme für FÜ WS 2004/2005 XML - 1 XML Extensible Markup Language.
DTD XML-Technik Dino Azzano. Definition Document Type Definition Beschreibung der Regeln zum Aufbau aller XML-Dokumente, die zu einer Dokumentklasse.
XML.
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Hands On – Einführung in XML
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
HTML - Einführung Richard Göbel.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
DOM (Document Object Model)
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
Eine Biografie aus ADB/NDB als XML Datenbanken vs. Markup Prof Dr. Manfred Thaller WS 2009 / 2010 Referent: Bilal Erkin.
HTML - Eine erste Annäherung
XML-basierte Techniken
XML-Parser Manuel Röllinghoff.
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Modularization of XHTML™
Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.
XML Schema. © Prof. T. Kudraß, HTWK Leipzig Die 3 Strömungen von XML XML Schema Dokumenten- verarbeitung Datenbanken und Datenaustausch Semistrukturierte.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Grundlagen von XML. © Prof. T. Kudraß, HTWK Leipzig Geschichte Grundidee generic coding - Trennung Information/Form formal definierter Dokumenttyp verschachtelte.
XML Standardisierungen und Abfragesprachen
Grundlagen von XML. © Prof. T. Kudraß, HTWK Leipzig Geschichte Grundidee generic coding - Trennung Information/Form formal definierter Dokumenttyp verschachtelte.
Einführung XML XML Einführung Andreas Leicht.
Vorlesung: 1 Betriebliche Informationssysteme XML © 2002 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme.
Geoinformation III Vorlesung 13b XML-Schema.
Buch S73ff (Informatik I, Oldenbourg-Verlag)
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
XML und Datenbanken - Einführung in XML -
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Was versteht man unter XML Schema?
XML DTD.
XML Schema.
XML eXtensible Markup Language
DTD – Deklaration von Elementen Beschreibt die Einschränkungen des Inhalts eines Elements Syntax: Einziger atomarer Typ: #PCDATA (Parsed Character DATA)
XML – Schema (DTD).
Fortsetzung DTDs, UML  XML
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Information und ihre Darstellung: XHTML & CSS
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
XML (Extensible Markup Language)
Kurzpräsentation von Herbert Schlechta
XJustiz: Elektronischer Rechtsverkehr mit XML
Peter Brezany Institut für Softwarewissenschaften Universität Wien
7. Formale Sprachen und Grammatiken
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
- Warum: Das HTML-Dilemma
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
XML Schema Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung WS2011/2012 Hist.-kult.wiss. Informationsverarbeitung (Teil.
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Dr. Thomas H. Kolbe Geoinformation III XML Grundlagen und Dokumentspezifikationen Vorlesung.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
Java-Kurs Übung Besprechung der Hausaufgabe
Geoinformation3 Geoinformation III XML-Schema Vorlesung 13a.
XML Grundlagen, Namensräume & Hyperlinks
DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge.
XML – Grundlagen und Anwendungen Teil 4: Modellierung von Datenmodellen mit XML-Schema Prof. Dr. Michael Löwe, FHDW Hannover.
XML - Warum: Das HTML-Dilemma HTML, SGML, XML - Wie: Syntax, Konzepte, Sprachelemente Basics Wohlgeformte XML-Dokumente (ohne DTD) Gültige XML-Dokumente.
XML - Warum: Das HTML-Dilemma HTML, SGML, XML - Wie: Syntax, Konzepte, Sprachelemente Basics Wohlgeformte XML-Dokumente (ohne DTD) Gültige XML-Dokumente.
8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —
13.Dezember 2006–1Elektronisches Publizieren: Schemasprachen — Relax NG Schemasprachen für XML — Relax NG — Anne Brüggemann-Klein TU München.
XML. Überblick In Anlehnung an Sprachmerkmale Wie jede Sprache verfügen auch ML über –Syntax  Wohlgeformtheit –Grammatik  DTD, XML-Schema.
Fortsetzung DTDs, UML  XML
Validierung vom XML mit XML Schema
Fortsetzung DTDs, UML  XML
Document Type Definitions (DTDs)
Dokumentenproduktion im Medienzentrum
 Präsentation transkript:

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

2 Sprachfamilie AG Netzbasierte Informationssysteme Quelle:

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 Typen von Daten im Netz Textbasiert RTF ASCII Semistrukturiert XMLHTML Binär: Word Postscript Strukturiert: Datenbanken Binär: A/V

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 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  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

Document Type Definitions (DTDs)

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 Die DTD für das Beispiel-Dokument AG Netzbasierte Informationssysteme ähnelt einer kontextfreien Grammatik Element-Deklaration

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 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. <Book>…</Book>

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 Rekursive vs. iterative Deklaration AG Netzbasierte Informationssysteme … … … <Book>…</Book> … BookStore mit 3 Büchern

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

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 Die DTD für das Beispiel-Dokument AG Netzbasierte Informationssysteme

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

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

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))

DTDs: Attribut-Deklaration

22 Deklaration von Attributen AG Netzbasierte Informationssysteme <!ATTLIST <!ATTLIST BookStore > version CDATA #IMPLIED> <!ATTLIST Elementname AttrName1 AttrTyp1 Attrbeschr1 AttrName2 AttrTyp2 Attrbeschr2 > Attribut- Deklarationen

23 Deklaration von Attributen AG Netzbasierte Informationssysteme <!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 Aufzählungstypen AG Netzbasierte Informationssysteme <!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 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 NMTOKEN Leerzeichen nicht zulässig eignet sich somit dazu Werte mit Leerzeichen auszuschließen AG Netzbasierte Informationssysteme Deutsches Wörterbuch Beispiel von:

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 <!ATTLIST Author ID key ID #IMPLIED IDREF keyref IDREF #IMPLIED>

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 Optionale / erforderliche Attribute  #FIXED: Attribut hat immer den gleichen Wert  #IMPLIED: Attribut optional  #REQUIRED: Attribut obligatorisch AG Netzbasierte Informationssysteme #FIXED "1.0"

DTDs: Entitäten AG Netzbasierte Informationssysteme

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

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

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

DTDs: Deklaration von Dokument-Typ

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 Interne DTD AG Netzbasierte Informationssysteme <!DOCTYPE BookStore [ ]> …

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

DTDs: Wohlgeformt & zulässig

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 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 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 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