Document Type Definitions (DTDs)

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.
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Dipl.- Dok. Rusalka Offer
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)
Seminar XML und Datenbanken Sven Wiegelmann SS 2002.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
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.
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.
Programmieren mit JAVA
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
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?
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
XML DTD.
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
Peter Brezany Institut für Softwarewissenschaften Universität Wien
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.
Seminar zur Geoinformation Folie 1 Inhalt: –XML –XML- SCHEMA –XSL –Syntax –GML Seminar zur Geoinformation Datenaustausch mit XML / GML im InternetDatenaustausch.
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.
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.
8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
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
6/11/2018 Vorlesung XML-Technologien – SoSe 2017 Rückblick und Klausurvorbereitung Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte.
Fortsetzung DTDs, UML  XML
Aufbau von XML-Dokumenten
 Präsentation transkript:

Document Type Definitions (DTDs) 8/6/2018 Document Type Definitions (DTDs) Prof. Dr.-Ing. Robert Tolksdorf & Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme tolk@ag-nbi.de harasic@inf.fu-berlin.de Name, Abteilung

Sprachfamilie AG Netzbasierte Informationssysteme http://www.ag-nbi.de 8/6/2018 Quelle:http://www.jeckle.de/images/xml/languageFamily.gif AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Motivation oder so? <book> so? einheitliches Format nötig 8/6/2018 oder so? <book> <title>My Life and Times</title> <authors> <author> <first>Paul</first> <last>McCartney</last> </author> </authors> <date> <year>1998</year> <month>July</month> </date> <isbn>94303-12021-43892</isbn> <publisher>McMillin Publishing</publisher> </book> so? <Book> <Title>My Life and Times</Title> <Author>Paul McCartney</Author> <Date>July, 1998</Date> <ISBN>94303-12021-43892</ISBN> <Publisher>McMillinPublishing</Publisher> </Book> einheitliches Format nötig Format sollte durch XML-Prozessor validierbar sein AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

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

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

Typ von erlaubten XML-Dokumenten = "XML-Sprache" Dokument-Typ 8/6/2018 Typ von erlaubten XML-Dokumenten = "XML-Sprache" Schnittstelle Dokument-Typ Objekt Objekt Objekt XML - Dokument Objekt XML XML - - Dokument Dokument Objekt Objekt XML - Dokument Objekt XML XML - - Dokument Dokument Objekt Objekt XML - Dokument XML XML - - Dokument Dokument Dokument-Typ definiert mit einer DTD, einem XML-Schema oder ähnlichen Formalismen AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

prinzipieller Aufbau von Dokumenten: Welche Elemente/Attribute? Spezifische Formate 8/6/2018 prinzipieller Aufbau von Dokumenten: Welche Elemente/Attribute? Datentypen der Inhalte: Welche Inhalte? <Book> <Title> PCDATA </Title> <Author> PCDATA </Author> <Date> PCDATA </Date> <ISBN> PCDATA </ISBN> <Publisher> PCDATA </Publisher> </Book> konkrete Inhalte werden nicht beschrieben Klasse von erlaubten XML-Dokumenten AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Document Type Definitions (DTDs) 8/6/2018 Document Type Definitions (DTDs) DTDs können intern oder extern sein. - interne DTD kann innerhalb eines XML-Dokuments vorhanden sein aber sie ist trotzdem kein Teil von dem XML-Hauptdokument - externe DTD wird als eine eigenständige Datei gespeichert. Es exstieren bereits DTDs, die als de facto Standards dienen können: z.B.: Chemical Markup Language (CML) DTD wird von wissenschaftlern benutzt um Dokumente über chemische Inhalte, die sie austauschen zu validieren. - DTD deklariert für jedes Element eine Menge von erlaubten Attributen. - Jede Attribut-Deklaration definiert den Namen, den Datentyp, die Standardwerte und das Verhalten des Attributes. - DTD stellt eine Vielzahl von Mechanismen zur Verfügung, um die Verwaltung des Datenmodells zu erleichtern. Name, Abteilung

Wie sieht eine DTD hierfür aus? 8/6/2018 <BookStore> <Book> <Title>My Life and Times</Title> <Author>Paul McCartney</Author> <Date>July, 1998</Date> <ISBN>94303-12021-43892</ISBN> <Publisher>McMillin Publishing</Publisher> </Book> </BookStore> BookStore soll mindestens ein Buch enthalten. ISBN optional alle anderen Kind-Elemente obligatorisch Ein Ausschnit (m) aus einem XML-Dokument : Buchhandlkung… Angenommen, dass die Buchhanldung … AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Die DTD für das Beispiel-Dokument 8/6/2018 <!ELEMENT BookStore (Book+)> <!ELEMENT Book (Title, Author, Date, ISBN?, Publisher)> <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> <!ELEMENT Date (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Publisher (#PCDATA)> ähnelt einer kontextfreien Grammatik <!ELEMENT Name Content-Modell> Element-Deklaration AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Elementdeklaration: Datentypen für Inhalte 8/6/2018 Element: Ausdruck über Elemente mit Symbolen , + * | ? #PCDATA: unstrukturierter Inhalt ohne reservierte Symbole (<,&) <!ELEMENT Title (#PCDATA)> EMPTY: leerer Inhalt, Element kann Attribute haben <!ELEMENT hr EMPTY>:<hr height="3"/> ANY: beliebiger Inhalt (strukturiert, unstrukturiert, gemischt oder leer) <!ELEMENT Absatz ANY> Keine gewohnten Datentypen wie INTEGER oder FLOAT AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Deklaration von BookStore 8/6/2018 <!ELEMENT BookStore (Book+)> <BookStore> <Book>…</Book> <Book>…</Book> </BookStore> +: 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. AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Rekursive Deklarationen 8/6/2018 <!ELEMENT BookStore (Book | (Book, BookStore))> 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 Name, Abteilung

Rekursive vs. iterative Deklaration 8/6/2018 <BookStore> <Book>…</Book> <Book>…</Book> <Book>…</Book> </BookStore> BookStore mit 3 Büchern <!ELEMENT BookStore (Book+)> <BookStore> <Book>…</Book> </BookStore> BookStore mit 3 Büchern <!ELEMENT BookStore (Book | (Book, BookStore))> AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Die DTD für das Beispiel-Dokument 8/6/2018 <!ELEMENT BookStore (Book+)> <!ELEMENT Book (Title, Author, Date, ISBN?, Publisher)> <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> <!ELEMENT Date (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Publisher (#PCDATA)> AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Deklaration von Book 8/6/2018 <!ELEMENT Book (Title, Author, Date, ISBN?, Publisher)> Title, Author, Date, ISBN und Publisher (in dieser Reihenfolge) Kind-Elemente von Book außer diesen keine anderen Kind-Elemente ? : optional <Book> <Title>…</Title> <Author>…</Author> <Date>…</Date> <ISBN>…</ISBN> <Publisher>…</Publisher> </Book> ? Kennzeichnet das vorausgehende Element als optional. AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Die DTD für das Beispiel-Dokument 8/6/2018 <!ELEMENT BookStore (Book+)> <!ELEMENT Book (Title, Author, Date, ISBN?, Publisher)> <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> <!ELEMENT Date (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Publisher (#PCDATA)> AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Deklaration von Title etc. 8/6/2018 <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> <!ELEMENT Date (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Publisher (#PCDATA)> <Title>My Life and Times</Title> <Author>Paul McCartney</Author> <Date>July, 1998</Date> <ISBN>94303-12021-43892</ISBN> <Publisher>McMillin Publishing</Publisher> Content-Modell mit dem unstrukturierter Inhalt, d.h. PCDATA Mit PCDATA definiert man Inhalt des Elements wenn, der Inhalt Text oder Zeichendaten sein sollte. Der Text kann beliebige Zeichen aus dem Zeichensatz beinhalten. AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Verschachtelungen 8/6/2018 beliebige Verschachtelung von Sequenz, Auswahl |, ?, *, + und Rekursion erlaubt Beispiel: <Chap> <Title>Kap1</Title> <Para>Ein Absatz</Para> <Title>Kap1.1</Title> <Para>…</Para> </Chap> <Title>Kap1.2</Title> <!ELEMENT Chap (Title, (Para | Chap)+)> <!ELEMENT Para ANY> <!ELEMENT Title (#PCDATA)> Im Grunde genommen es ist fast beliebige Verschachtlung von Sequenz, Auswahl von Symbolen und Rekursion erlaubt. Und ndatülich die Klammer können bis in einer beliebige Tiefe verschachtelt werden. AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Einschränkung der Verschachtelung 8/6/2018 Einschränkung der Verschachtelung 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)) AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

DTDs: Attribut-Deklaration 8/6/2018 DTDs: Attribut-Deklaration Name, Abteilung

Deklaration von Attributen 8/6/2018 <!ATTLIST BookStore version CDATA #IMPLIED> <!ATTLIST Elementname AttrName1 AttrTyp1 Attrbeschr1 AttrName2 AttrTyp2 Attrbeschr2 > Attribut-Deklarationen AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Deklaration von Attributen 8/6/2018 <!ATTLIST BookStore version CDATA #IMPLIED> <BookStore version="1.0"> … </BookStore> BookStore hat Attribut version Außer version hat BookStore keine weiteren Attribute CDATA: Attribut-Wert = String ohne <, &, ', " Beachte: nicht verwechseln mit <![CDATA[ … ]]> daher Entity References für <, & und ' bzw. " verwenden AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

gender (male | female) "female"> Aufzählungstypen 8/6/2018 <!ATTLIST Author gender (male | female) "female"> hier statt CDATA Aufzählungstyp: Attribut gender hat entweder Wert male oder female. "female" ist Standard-Wert von gender. AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Weitere Datentypen für Attribute 8/6/2018 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 Attribute, deren Wert vom Typ NMTOKEN (Name Token) ist, stellen eine Restriktion gegenüber Zeichenketten-Attributen dar. Der Wert eines NMTOKEN-Attributs muss prinzipiell aus einem gültigen XML Namen bestehen (» Namen in XMLXML Name), darf aber – im Gegensatz zu diesem – auch mit einer Zahl, einem Bindestrich, Punkt oder der Zeichenkette "XML" beginnen. Anders ausgedrückt: Name Token behandeln den Beginn eines Tokens nicht anders als seinen Rest. Eine wichtige Einschränkung ist, dass Leerzeichen sowohl in XML Namen als auch in Name Token nicht vorkommen dürfen. Ein NMTOKEN-Attribut kann also dazu dienen, Werte, die ein oder mehrere Leerzeichen enthalten, nicht zu zulassen. AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

NMTOKEN Leerzeichen nicht zulässig eignet sich somit dazu Werte mit Leerzeichen auszuschließen <!ELEMENT Datei EMPTY> <!ATTLIST Datei Name NMTOKEN #REQUIRED> <Datei Name="readme.txt"/> <!ELEMENT Woerterbuch (#PCDATA)> <!ATTLIST Woerterbuch ISBN NMTOKEN #REQUIRED> <Woerterbuch ISBN="3-57710-446-5"> Deutsches Wörterbuch </Woerterbuch> Beispiel von: http://www.maik-stuehrenberg.de/arbeit/projekte/milca/a-5-4/A-5-4-3-3-3-3-2-7.xhtml AG Netzbasierte Informationssysteme http://www.ag-nbi.de

ID/IDREF <!ATTLIST Author key ID #IMPLIED keyref IDREF #IMPLIED> 8/6/2018 <!ATTLIST Author key ID #IMPLIED keyref IDREF #IMPLIED> 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 Name, Abteilung

Beispiel <BookStore> <Title>Text</Title> <Author key="k1">Text</Author> <Date>Text</Date> <Publisher pkey="p1">Text</Publisher> </Book> <Author keyref="k1"/> </BookStore> 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. AG Netzbasierte Informationssysteme http://www.ag-nbi.de

Optionale / erforderliche Attribute 8/6/2018 <!ATTLIST BookStore version CDATA #FIXED "1.0"> #FIXED: Attribut hat immer den gleichen Wert #IMPLIED: Attribut optional #REQUIRED: Attribut obligatorisch AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

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

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

Deklaration von Entitäten 8/6/2018 <!ENTITY author "Robert Tolksdorf"> Verwendung: <Fusszeile>Autor: &author</Fusszeile> “Import” aus externen Definitionen: <!ENTITY fub SYSTEM "http://www.fu-berlin.de/defs.dtd"> <!ENTITY c PUBLIC "-//W3C//TEXT copyright//EN" "http://www.w3.org/xmlspec/copyright.xml"> „General Entity“ zur Verwendung in Dokumenten <!ENTITY Name Definition > AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Deklaration von internen Entitäten 8/6/2018 <!ENTITY % t "(#PCDATA)"> „Internal Entity“ zur Verwendung in DTDs Verwendung: <!ELEMENT Fusszeile %t;> “Import” aus externen Definitionen: <!ENTITY % fu-attribs SYSTEM "http://www.fu-berlin.de/defs.dtd"> <!ENTITY % Shape PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> %fu-attribs; übernimmt alle Definitionen aus der Datei <!ENTITY % Name Definition > AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

DTDs: Deklaration von Dokument-Typ 8/6/2018 DTDs: Deklaration von Dokument-Typ Name, Abteilung

Deklaration des Dokument-Typs (Document Type Declaration) 8/6/2018 vollständige DTD intern im XML-Dokument <!DOCTYPE Wurzel-Element […]> ein Verweis auf eine externe DTD im XML-Dokument <!DOCTYPE Wurzel-Element SYSTEM "DTD"> oder <!DOCTYPE Wurzel-Element PUBLIC "DTD" "URL" > Dokument-Typ direkt nach XML-Deklaration einfügen AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Interne DTD <?xml version="1.0" encoding="UTF-8" ?> 8/6/2018 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE BookStore [ <!ELEMENT BookStore (Book+)> <!ELEMENT Book (Title, Author, Date, ISBN?, Publisher)> <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> <!ELEMENT Date (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Publisher (#PCDATA)> ]> <BookStore> … </BookStore> AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

<!DOCTYPE Wurzel-Element SYSTEM "DTD"> Externe DTD 8/6/2018 <!DOCTYPE Wurzel-Element SYSTEM "DTD"> <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE BookStore SYSTEM "Bookstore.dtd"> <BookStore> … </BookStore> <?xml version="1.0" encoding="UTF-16" ?> <!DOCTYPE Book SYSTEM "Book.dtd"> <Book> </Book> Dokument-Typ Deklaration AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

DTDs: Wohlgeformt & zulässig 8/6/2018 DTDs: Wohlgeformt & zulässig Name, Abteilung

Wohlgeformheit vs. Zulässigkeit 8/6/2018 wohlgeformt (well formed): XML-Dokument entspricht Syntaxregeln von XML zulässig (valid) bzgl. einer DTD: Wurzel-Element des XML-Dokumentes in DTD deklariert Wurzel-Element hat die in der DTD festgelegte Struktur AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

Nachteile von DTDs keine XML-Syntax, eigener Parser nötig 8/6/2018 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 Name, Abteilung

Und noch ein Nachteil 8/6/2018 Sequenzen einfach zu definieren: <!ELEMENT Book (Title, Author)> Aber: Soll Reihenfolge der Kind-Elemente egal sein, müssen alle Permutationen explizit aufgezählt werden: <!ELEMENT Book ((Title, Length) | (Length, Title))> nicht praktikabel: bei n Kind-Elementen n! Permutationen N!-nFakultät AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung

DTD deklariert das erlaubte Vokabular DTDs Zusammenfassung 8/6/2018 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 AG Netzbasierte Informationssysteme http://www.ag-nbi.de Name, Abteilung