160 likes | 341 Views
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.
E N D
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 XML Grundlagen und Anwendungen
Motivation XML allein ist und kann Alles und Nichts! Jede Verarbeitung macht Annahmen über den Inhalt Annahmen 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 besser Separierung 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) XML Grundlagen und Anwendungen
Motivation DTD 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 XML Grundlagen und Anwendungen
Anforderungen an DTD Welche 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 Elementdefinition Attributlisten XML Grundlagen und Anwendungen
Elementdefinition <!ELEMENT name Inhaltsspezifikation> Inhaltsspezifikation: EMPTY leeres Element ANY beliebiger Inhalt (#PCDATA) Text (RA) Regulärer Ausdruck (#PCDATA | E1 | … | En)* Gemischter Inhalt XML Grundlagen und Anwendungen
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? XML Grundlagen und Anwendungen
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)+ XML Grundlagen und Anwendungen
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)!!! XML Grundlagen und Anwendungen
Attributlisten <!ATTLIST elementNameAttribute*> Attribute nameTypeKind Type CDATA beliebiger Text NMTOKEN, 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 XML Grundlagen und Anwendungen
Übung 2 Schreiben 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 aus entweder 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! XML Grundlagen und Anwendungen
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. XML Grundlagen und Anwendungen
Übung 3 Schreiben Sie eine DTD für die Dokumente aus „Elementen“, „Attributen“ und „Texten“, die sie in Übung 1 entwickelt haben! XML Grundlagen und Anwendungen
Referenzen Für Attribute gibt es folgende weitere Typen: • ID Wert ist XML-Name, eindeutig unter allen ID-Werten. • IDREF Wert muss ein ID-Attributwert im Dokument sein. • IDREFS Durch Leerzeichen getrennte Liste von IDREF-Werten. XML-Namen sind NMTOKENs, die mit einem Buchstaben oder “_“ beginnen. XML Grundlagen und Anwendungen
Übung 4 Erweitern Sie Übung 2 um Kreuzreferenzen! XML Grundlagen und Anwendungen
Zusammenfassung XML allein ist die Beliebigkeit an sich. Erst mit DTDs wird der Austausch von Informationen über XML sicher und vernünftig. DTDs nutzen Regulä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) XML Grundlagen und Anwendungen