16
XML – Grundlagen und Anwendungen Teil 2: Modellierung von Dokumenten mit der DTD Prof. Dr. Michael Löwe, FHDW Hannover

XML – Grundlagen und Anwendungen

  • Upload
    amalia

  • View
    53

  • Download
    10

Embed Size (px)

DESCRIPTION

XML – Grundlagen und Anwendungen. Teil 2: Modellierung von Dokumenten mit der DTD Prof. Dr. Michael Löwe, FHDW Hannover. Inhalt. Motivation Modellierung von Elementen und Inhalt Modellierung von Attributen Modellierung von Referenzen Validierung von Dokumenten Zusammenfassung. - PowerPoint PPT Presentation

Citation preview

Page 1: XML – Grundlagen und Anwendungen

XML – Grundlagen und Anwendungen

Teil 2: Modellierung von Dokumenten mit der DTD

Prof. Dr. Michael Löwe, FHDW Hannover

Page 2: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

2

InhaltMotivation

Modellierung von Elementen und Inhalt

Modellierung von Attributen

Modellierung von Referenzen

Validierung von Dokumenten

Zusammenfassung

Page 3: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

3

MotivationXML allein ist und kann Alles und Nichts!

Jede Verarbeitung macht Annahmen über den InhaltAnnahmen stecken in der Verarbeitung

Verarbeitung realisiert O.-K.-Fall und Ausnahmen

Austausch der Dokumente setzt Austausch der Verarbeitung voraus

Unabhängige Beschreibung des Inhalts ist besserSeparierung von Fehlern und Ausnahmen

Konzentration der Verarbeitung auf das Wesentliche

Asynchrone Erstellung der Verarbeitungen (Sender und Empfänger)

Man benötigt Modelle für Klasse ähnlicher Dokumente (DTD)

Page 4: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

4

MotivationDTD für XML wie

Datenbankschema für Datenbank

UML-Klassendiagramm für OO-Programm

Geschäftsprozessmodell für Geschäftsprozess

Algorithmus für Berechnung

Programm für Prozess

Petrinetz für „Event Structure“

Routenplan für konkrete Fahrt

Grammatik für Satz

Page 5: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

5

Anforderungen an DTDWelche Elemente sind erlaubt.

Welche Elemente kommen in welchen anderen vor (Gliederung).

In welcher Reihenfolge kommen sie vor.

Welche Attribute gibt es.

Welchen Typ haben die Attribute

Sind die Attribute vorgeschrieben oder optional

Elementdefinit

ionElemen

tdefinition

AttributlistenAttributlisten

Page 6: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

6

Elementdefinition<!ELEMENT name Inhaltsspezifikation>

Inhaltsspezifikation:EMPTY leeres Element

ANY beliebiger Inhalt

(#PCDATA) Text

(RA) Regulärer Ausdruck

(#PCDATA | E1 | … | En)* Gemischter Inhalt

Page 7: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

7

Reguläre Ausdrücke in der DTD

• Jeder Elementname ist ein regulärer Ausdruck

• Wenn r, r1, r2,…, rn reguläre Ausdrücke sind, dann auch

– die Sequenz (r1, r2, …, rn)

– die Auswahl (r1 | r2 | … | rn )

– die möglicherweise leere Iteration r* (Kopfgesteuert)

– die nicht leere Iteration r+ (Fußgesteuert)

– der optionale Ausdruck r?

Page 8: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

8

Eigenschaften Reg. Ausdrücke

(r, s), t = r, (s, t) ; (r | s) | t = r | (s | t)

r | s = s | r

(t, r | t, s) = t, (r | s)

r++ = r+ ; r** = r* ; r?? = r?

r+ = r, r* ; r* = (r+)? = (r?)+ ; (r*)? = (r?)* = r*

(r* | s*)* = (r | s)* ; (r+ | s+)* = (r | s)*

(r* | s*)+ = (r | s)* ; (r+ | s+)+ = (r | s)+

Page 9: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

9

Eigenschaften der Inhaltsspezifikation

Kontextfreie Grammatik in erweiterter Backus/Naur-Form.

Es gibt nur eine Regel pro Element.

Inhalt und Reihenfolge nur für direkte Nachfahren.

Inhalt eines Elements kann endlicher Automat prüfen.

Korrektheit des Inhalts des gesamten XML-Dokuments:Prüfung durch Familie endlicher Automaten für die Elemente.

Gesamtaufwand der Prüfung linear in der Anzahl der Elemente.

Gesamtprüfung kann leicht parallelisiert werden.

XML ist einfach (auch in der Verarbeitung)!!!

Page 10: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

10

Attributlisten<!ATTLIST elementName Attribute*>

Attribute name Type KindType

CDATA beliebiger TextNMTOKEN, NMTOKENS Text aus Buchstaben, Zahlen und _, -, ., :

(t1 | t2 | … | tn) Auswahl aus Liste von NMTOKENs

Kind#IMPLIED Optional#REQUIRED Zwingend erforderlich“defaultValue“ Optional, defaultValue wenn nicht vorhanden#FIXED “defaultValue“ Optional, wenn vorhanden = defaultValue

Page 11: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

11

Übung 2Schreiben Sie eine DTD für Bücher, so dass:Bücher einen Titel, Autoren und Kapitel haben.

Autoren Name, Vorname und zur internen Kommunikation eine Email haben.

Kapitel einen Titel, ggf. ersten Paragraph und mindestens 2 Abschnitte haben.

Abschnitte einen Titel haben und dann bestehen ausentweder genau einem Paragraph oder

ggf. einem ersten Paragraph und mindestens 2 Abschnitten.

Paragraphen aus Texten und Fußnoten und Endnoten bestehen.

Titel, Texte, Fußnoten und Endnoten nicht weiter strukturiert sind.

Begründen Sie stets Ihre Entwurfsentscheidungen!

Page 12: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

12

Validierung von Dokumenten

Genügen Dokumente den allgemeinen Regeln von XML, sind sie wohlgeformt.

Genügen sie den Einschränkungen einer DTD, nennt man sie gültig (bezogen auf die DTD).

Dokument auf DTD beziehen durch: <!DOCTYPE rootElementName SYSTEM “url“> oder

<!DOCTYPE rootElementName PUBLIC “publicDTDName“ “url“>

im Prolog des Dokuments.

Page 13: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

13

Übung 3Schreiben Sie eine DTD für die Dokumente

aus „Elementen“, „Attributen“ und „Texten“, die sie in Übung 1 entwickelt haben!

Page 14: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

14

ReferenzenFür Attribute gibt es folgende weitere Typen:• ID

Wert ist XML-Name, eindeutig unter allen ID-Werten.

• IDREFWert muss ein ID-Attributwert im Dokument sein.

• IDREFSDurch Leerzeichen getrennte Liste von IDREF-Werten.

XML-Namen sind NMTOKENs, die mit einem Buchstaben oder “_“ beginnen.

Page 15: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

15

Übung 4Erweitern Sie Übung 2 um Kreuzreferenzen!

Page 16: XML – Grundlagen und Anwendungen

XML Grundlagen und Anwendungen

16

ZusammenfassungXML allein ist die Beliebigkeit an sich.

Erst mit DTDs wird der Austausch von Informationen über XML sicher und vernünftig.

DTDs nutzenReguläre Ausdrücke zur Inhaltspezifikation

Typisierung und Anwendungsbedingungen für Attributsspezifikationen

Globale eindeutige Namen für Verweise

Wohlgeformte XML-Dokumente können bzgl. einer DTD gültig oder ungültig sein.

Die Prüfung auf Gültigkeit ist effizient. (Linearer Aufwand)