1 XML Data Management Document Type Definitions (DTDs) Werner Nutt.
Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf...
Transcript of Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf...
![Page 1: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/1.jpg)
Document Type Definitions (DTDs)
Robert Tolksdorf
Freie Universität BerlinInstitut für InformatikNetzbasierte Informationssysteme
![Page 2: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/2.jpg)
2
Sprachfamilie
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
Quelle:http://www.jeckle.de/images/xml/languageFamily.gif
![Page 3: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/3.jpg)
3
Motivation
einheitliches Format nötig
Format sollte durch XML-Prozessor validierbar sein
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<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>McMillinPublishing</publisher>
</book>
<Book>
<Title>My Life and Times</Title>
<Author>Paul McCartney</Author>
<Date>July, 1998</Date>
<ISBN>94303-12021-43892</ISBN>
<Publisher>McMillinPublishing</Publisher>
</Book>
oder so?
so?
![Page 4: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/4.jpg)
4
Typen von Daten im Netz
Textbasiert
RTF
ASCII
Semistrukturiert
XMLHTML
Binär:Word
PostscriptStrukturiert:Datenbanken
Binär:A/V
![Page 5: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/5.jpg)
5
Typen von XML Dokumenten
XML Dokumente (wohlgeformt)
SVG Vokabular
index.xhtml
zeichnung.svg
mein.xml
books.xml
clipart.svg
info.xhtml
XHTML Vokabular
![Page 6: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/6.jpg)
6
Dokument-Typ
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
Typ von erlaubtenXML-Dokumenten= "XML-Sprache"
Dokument-Typ definiert mit einer DTD, einemXML-Schema oder ähnlichen Formalismen
ObjektObjekt
Objekt
Dokument-Typ
XML-DokumentXML-Dokument
XML-Dokument
ObjektObjektObjektObjekt
ObjektObjekt
XML-DokumentXML-DokumentXML-DokumentXML-Dokument
XML-DokumentXML-Dokument
Schnittstelle
![Page 7: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/7.jpg)
7
prinzipieller Aufbauvon Dokumenten:WelcheElemente/Attribute?
Datentypen derInhalte:Welche Inhalte?
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<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
Spezifische Formate
![Page 8: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/8.jpg)
Document Type Definitions (DTDs)
![Page 9: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/9.jpg)
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
<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>
![Page 10: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/10.jpg)
10
Die DTD für das Beispiel-Dokument
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!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 einerregulären
Grammatik
<!ELEMENT Name Content-Modell>
Element-Deklaration
![Page 11: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/11.jpg)
11
Elementdeklaration:Datentypen für Inhalte
• 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, gemischtoder leer)<!ELEMENT Absatz ANY>
• Keine gewohnten Datentypen wie INTEGER oder FLOAT
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
![Page 12: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/12.jpg)
12
Deklaration von BookStore
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!ELEMENT<!ELEMENT BookStore (Book+)>>
+: 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.
<BookStore>
<Book>…</Book><Book>…</Book>
</BookStore>
![Page 13: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/13.jpg)
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 zurvorherigen, iterativen Definition!
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!ELEMENT BookStore (Book | (Book, BookStore))>
![Page 14: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/14.jpg)
14
Rekursive vs. iterative Deklaration
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<BookStore>
<Book>…</Book>
<BookStore>
<Book>…</Book>
<BookStore>
<Book>…</Book>
</BookStore>
</BookStore>
</BookStore><!ELEMENT BookStore (Book | (Book, BookStore))>
<BookStore>
<Book>…</Book><Book>…</Book>
<Book>…</Book>
</BookStore> <!ELEMENT BookStore (Book+)>
BookStore mit 3Büchern
BookStore mit 3Büchern
![Page 15: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/15.jpg)
15
Die DTD für das Beispiel-Dokument
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!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)>
![Page 16: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/16.jpg)
16
Deklaration von Book
Title, Author, Date, ISBN undPublisher (in dieser Reihenfolge)Kind-Elemente von Book
außer diesen keine anderenKind-Elemente
? : optional
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!ELEMENT Book (Title, Author, Date, ISBN?, Publisher)>
<Book>
<Title>…</Title>
<Author>…</Author>
<Date>…</Date>
<ISBN>…</ISBN>
<Publisher>…</Publisher>
</Book>
![Page 17: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/17.jpg)
17
Die DTD für das Beispiel-Dokument
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!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)>
![Page 18: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/18.jpg)
18
Deklaration von Title etc.
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!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>
![Page 19: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/19.jpg)
19
Verschachtelungen
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!ELEMENT ChapChap (Title, (Para | ChapChap)+)>
<!ELEMENT Para ANY>
<!ELEMENT Title (#PCDATA)>
eliebige Verschachtelung vonSequenz, Auswahl |, ?, *, +und Rekursion erlaubt
Beispiel:
<Chap><Title>Kap1</Title><Para>Ein Absatz</Para><Chap>
<Title>Kap1.1</Title><Para>…</Para>
</Chap><Para>…</Para><Chap>
<Title>Kap1.2</Title><Para>…</Para>
</Chap></Chap>
![Page 20: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/20.jpg)
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 inein äquivalentes deterministisches umgeformtwerden
Beispiel: ((b, c) | (b, d)) = (b, (c | d))
![Page 21: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/21.jpg)
DTDs: Attribut-Deklaration
![Page 22: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/22.jpg)
22
Deklaration von Attributen
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!ATTLIST<!ATTLIST BookStore
version CDATA #IMPLIED>>
<!ATTLIST Name
AttrName1 AttrTyp1 Attrbeschr1
AttrName2 AttrTyp2 Attrbeschr2
>
Attribut-Deklarationen
![Page 23: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/23.jpg)
23
Deklaration von Attributen
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!ATTLIST BookStore
version CDATACDATA #IMPLIED>
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
<BookStore version="1.0">
…
</BookStore>
![Page 24: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/24.jpg)
24
Aufzählungstypen
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!ATTLIST Author
gender (male | female)(male | female) "female">
hier statt CDATA Aufzählungstyp:
Attribut gender hat entweder Wert
male oder female.
"female" ist Standard-Wert von gender.
![Page 25: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/25.jpg)
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 vonXML entspricht
ID: eindeutiger Bezeichner, derNamenskonventionen von XML entspricht
IDREF: Referenz auf einen eindeutigen Bezeichner
![Page 26: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/26.jpg)
26
NMTOKEN
• Leerzeichen nicht zulässig
• eignet sich somit dazu Werte mit Leerzeichenauszuschließen
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!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
![Page 27: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/27.jpg)
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
key IDID #IMPLIED
keyref IDREFIDREF #IMPLIED>
![Page 28: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/28.jpg)
28
Beispiel
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<BookStore>
<Book>
<Title>Text</Title>
<Author key="k1key="k1">Text</Author>
<Date>Text</Date>
<Publisher pkey="p1"pkey="p1">Text</Publisher>
</Book>
<Book>
<Title>Text</Title>
<Author keyref="k1"keyref="k1"/>
<Date>Text</Date>
<Publisher pkey="p1"pkey="p1">Text</Publisher>
</Book>
</BookStore>
Wert k1 muss eindeutig sein:kein anderes Attribut vom TypID darf diesen Wert haben.
Referenz k1 muss existieren:ein Attribut vom Typ ID mussden Wert k1 haben.
![Page 29: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/29.jpg)
29
Deklaration von Attributen
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!ATTLIST<!ATTLIST BookStore
version CDATA #IMPLIED>>
<!ATTLIST Name
AttrName1 AttrTyp1 Attrbeschr1
AttrName2 AttrTyp2 Attrbeschr2
>
Attribut-Deklarationen
![Page 30: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/30.jpg)
30
Optionale / erforderliche Attribute
#FIXED: Attribut hat immer den gleichen Wert
#IMPLIED: Attribut optional
#REQUIRED: Attribut obligatorisch
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!ATTLIST BookStore version CDATA #FIXED#FIXED ""1.01.0"">
![Page 31: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/31.jpg)
DTDs: Entitäten
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
![Page 32: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/32.jpg)
32
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
![Page 33: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/33.jpg)
33
Deklaration von Entitäten
• 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
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!ENTITY author "Robert Tolksdorf">
<!ENTITY Name Definition >
![Page 34: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/34.jpg)
34
Deklaration von Entitäten
• „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
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!ENTITY % t "(#PCDATA)">
<!ENTITY % Name Definition >
![Page 35: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/35.jpg)
DTDs: Deklaration von Dokument-Typ
![Page 36: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/36.jpg)
36
Deklaration des Dokument-Typs(Document Type Declaration)
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
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
![Page 37: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/37.jpg)
37
Interne DTD
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BookStore [<!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>
![Page 38: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/38.jpg)
38
Externe DTD
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
<!DOCTYPE Wurzel-Element SYSTEM "DTD">
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BookStore SYSTEM "Bookstore.dtd"><!DOCTYPE BookStore SYSTEM "Bookstore.dtd">
<BookStore>…
</BookStore>
<?xml version="1.0" encoding="UTF-16" ?>
<!DOCTYPE Book SYSTEM "Book.dtd"><!DOCTYPE Book SYSTEM "Book.dtd">
<Book>…
</Book>
Dokument-TypDeklaration
![Page 39: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/39.jpg)
DTDs: Wohlgeformt & zulässig
![Page 40: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/40.jpg)
40
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
![Page 41: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/41.jpg)
Ein Blick in die damalige DTD von XHTML
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
![Page 42: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/42.jpg)
42
Beginn und Import von Entitäten
<!--Extensible HTML version 1.0 Strict DTD[…]Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),All Rights Reserved.
This DTD module is identified by the PUBLIC and SYSTEM identifiers:
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
$Revision: 1.1 $$Date: 2002/08/01 13:56:03 $
-->
<!--============ Character mnemonic entities =============-->
<!ENTITY % HTMLlat1 PUBLIC"-//W3C//ENTITIES Latin 1 for XHTML//EN""xhtml-lat1.ent">
%HTMLlat1;
![Page 43: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/43.jpg)
43
Importierte Entitäten
<!-- Portions (C) International Organization for Standardization 1986Permission to copy in any form is granted for use withconforming SGML systems and applications as defined inISO 8879, provided this notice is included in all copies.
-->[…]
<!ENTITY nbsp " "> <!-- no-break space = non-breaking space,U+00A0 ISOnum -->
<!ENTITY iexcl "¡"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
<!ENTITY cent "¢"> <!-- cent sign, U+00A2 ISOnum --><!ENTITY pound "£"> <!-- pound sign, U+00A3 ISOnum --><!ENTITY curren "¤"> <!-- currency sign, U+00A4 ISOnum --><!ENTITY yen "¥"> <!-- yen sign = yuan sign, U+00A5 ISOnum --><!ENTITY brvbar "¦"> <!-- broken bar = broken vertical bar,
U+00A6 ISOnum --><!ENTITY sect "§"> <!-- section sign, U+00A7 ISOnum --><!ENTITY uml "¨"> <!-- diaeresis = spacing diaeresis,
U+00A8 ISOdia -->
![Page 44: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/44.jpg)
44
Entitäten für Standardattribute
<!--========= Generic Attributes ==============-->
<!-- core attributes common to most elementsid document-wide unique idclass space separated list of classesstyle associated style infotitle advisory title/amplification
--><!ENTITY % coreattrs"id ID #IMPLIEDclass CDATA #IMPLIEDstyle %StyleSheet; #IMPLIEDtitle %Text; #IMPLIED">
<!ENTITY % i18n"lang %LanguageCode; #IMPLIEDxml:lang %LanguageCode; #IMPLIEDdir (ltr|rtl) #IMPLIED">
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
![Page 45: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/45.jpg)
45
Elementdefinitionen
<!ENTITY % lists "ul | ol | dl">
<!ENTITY % block
"p | %heading; | div | %lists; | %blocktext; | fieldset | table">
<!-- Unordered list -->
<!ELEMENT ul (li)+>
<!ATTLIST ul
%attrs;
>
![Page 46: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/46.jpg)
46
Inhaltsmodell durch Entität
<!-- list item -->
<!ELEMENT li %Flow;>
<!ATTLIST li
%attrs;
>
<!-- %Flow; mixes block and inline and is used for list items etc. -->
<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
![Page 47: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/47.jpg)
47
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 eskeine Namenskonflikte gibt!
• keine Vererbungshierarchien für Typen
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
![Page 48: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/48.jpg)
48
Und noch ein Nachteil
• 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
AG Netzbasierte Informationssysteme http://www.ag-nbi.de
![Page 49: Document Type Definitions (DTDs) - ag-nbi.de · Document Type Definitions (DTDs) Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme](https://reader031.fdocuments.in/reader031/viewer/2022041404/5e17e08f0d7b7a4f2a610222/html5/thumbnails/49.jpg)
49
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 innerhalbeines Elements
Pflicht oder optionale Elemente
DTD deklariert für jedes Element eine Menge vonerlaubten Attributen