Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Prof. Dr. rer. nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil XML – Document.

Ähnliche Präsentationen


Präsentation zum Thema: "Prof. Dr. rer. nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil XML – Document."—  Präsentation transkript:

1 Prof. Dr. rer. nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil XML – Document Type Definition Teil 4

2 Grossmann2 Ziele Mit der Entwicklung einer DTD wird das Ziel verfolgt, eine Grammatik für eine Klasse von Dokumenten der realen Welt zu definieren. Dokumente, die einer bestimmten Grammatik entsprechend aufgebaut sind heißen gültig oder valide. Genügt ein Dokument diesem Regelwerk, so lässt sich dem Dokument eine Semantik zuordnen, es kann interpretiert werden. Beziehung zwischen DTD und einem Dokument Um die obige Zielstellung zu erfüllen, muss ein Dokument mit einer DTD in Beziehung gebracht werden. Diese Verbindung geschieht im Prolog eines XML-Dokumentes durch ein Konstrukt Der name muss immer der Name des Wurzel-Elementes des Dokumentes sein. Es gibt im Prinzip vier Ausprägungsformen für eine solche Verbindung. XML – Document Type Definition Ziele / Beziehung zwischen DTD und Dokument

3 Grossmann3 Verbindungsformen zwischen DTD und einem Dokument 1. Interne Form der DTD Eine DTD wird komplett in das DOCTYPE-Konstrukt eingebettet: Diese Ausprägungsform hat den Nachteil, dass sie nur diesem Dokument zugeordnet ist, obwohl der eigentliche Sinn einer DTD darin besteht, für eine Klasse von Dokumenten zu gelten und nicht nur für ein Dokument. Für den Leser ergibt sich der Vorteil, dass die Grammatik sofort einsehbar ist. Bsp.: dtd_01.xml XML – Document Type Definition Verbindungsformen zwischen DTD und Dokument

4 Grossmann4 Verbindungsformen zwischen DTD und einem Dokument 2. Externe Form der DTD Eine DTD wird komplett extern als eigene Datei abgelegt. Dies hat den Vorteil, dass mehrere Dokumente darauf Bezug nehmen können: Für diese externe Form gibt es zwei Varianten. Die DTD kann im Netz über eine URL öffentlich zur Verfügung gestellt werden (PUBLIC) oder für Nutzer einer Domäne reserviert werden (SYSTEM) XML – Document Type Definition Verbindungsformen zwischen DTD und Dokument DTD XML Dokument

5 Grossmann5 Verbindungsformen zwischen DTD und einem Dokument Eine öffentliche DTD wird durch das DOCTYPE-Konstrukt wie folgt eingebettet: Beispiel: Bsp.: Aufg_01_xhtml.htm XML – Document Type Definition Verbindungsformen zwischen DTD und Dokument

6 Grossmann6 Verbindungsformen zwischen DTD und einem Dokument Eine nicht öffentliche DTD wird durch ein DOCTYPE-Konstrukt wie folgt eingebettet: Für URL kann eine richtige URL, aber auch eine Pfadangabe in einem lokalen System oder nur ein Dateiname sein, wenn sich die DTD im selben Verzeichnis wie das Dokument befindet. Beispiel: Bsp.: dtd_02.xml XML – Document Type Definition Verbindungsformen zwischen DTD und Dokument

7 Grossmann7 Markup-Definitionen in DTDs Die folgende Tabelle enthält alle Markup-Definitionen (nach Bedeutung geordnet), die in einer DTD stehen können: XML – Document Type Definition Markup-Definitionen in DTDs Markup-DeklarationBeschreibung Definition eines Markups Definition einer Attributliste Definition einer Entität Definition einer Datentypnotation Definition eines bedingten Abschnittes Kommentar

8 Grossmann8 Das Inhaltsmodell für DTDs (Content Model) Der Hauptinhalt eines Dokumentes wird bei der Strukturierung den Elementen zugeordnet. Bei der Element-Definition spricht man den Teil als Modell an, der die Grammatik eines gültigen Inhalts beschreibt: Das Modell wird unter Nutzung der EBNF als Metasprache angegeben. Ist das Modell leer EMPTY (vgl. 3.) wird die runde Klammer weggelassen! Für die Notation des Modells gilt ein wichtiger Grundsatz: Das Modell muss durch den XML-Parser deterministisch analysiert werden können. Die Grammatik des Modells muss also eine LF(1)- bzw. eine LR(1)- Grammatik sein. Das sind Grammatiken, die ohne Backtracking- und Lookahead-Techniken geparst werden können. Bsp.: dtd_03_error.xml verstößt gegen diese Regel ! XML – Document Type Definition Das Inhaltsmodell für DTDs (Content Model)

9 Grossmann9 Das Inhaltsmodell für DTDs (Content Model) - Fortsetzung Für die Ausprägung eines Modells werden folgende Formen unterschieden: 1. Element besitzt nur freien Text als Inhalt Das Modell besteht dann nur aus der Angabe (#PCDATA). Sogen. Parsed Character Data sind beliebige Zeichenfolgen, die der Parser untersucht. Sie dürfen keine Elemente (also Markups) enthalten. Gewisse Sonderzeichen wie dürfen nur durch Referenz auf ihre Entity-Form (< >) benutzt werden. Bsp.: dtd_04_error.xml verstößt gegen #PCDATA ! XML – Document Type Definition Das Inhaltsmodell für DTDs (Content Model)

10 Grossmann10 Das Inhaltsmodell für DTDs (Content Model) - Fortsetzung 2. Element besitzt gemischten Inhalt D.h. im Element können sich freier Text und Sub-Elemente abwechseln. Hier bestehen einige Formeinschränkungen. Das Modell muss unbedingt mit (#PCDATA beginnen und kann dann weitere Alternativen (|) enthalten. Hinter der schließenden Klammer muss unbedingt der * -Operator angegeben werden, z.B: Ein Weglassen des * oder #PCDATA nicht an erster Stelle führt sofort zu Fehlermeldungen. Bsp.: dtd_05_error.xml Bei der Form gemischter Inhalt ist keine Sequenz anzugeben und auch keine Kontrolle über Reihenfolge oder Anzahl der Vorkommen der Elemente möglich. Bsp.: dtd_06_error.xml verstößt gegen Aufzählung (Reihenfolge) ! XML – Document Type Definition Das Inhaltsmodell für DTDs (Content Model)

11 Grossmann11 Das Inhaltsmodell für DTDs (Content Model) - Fortsetzung 3. Element mit leerem Inhalt (EMPTY) Besitzt ein Element keinen Inhalt, so besteht das Modell nur aus der Angabe EMPTY: Beispiel: Bsp.: dtd_07.xml XML – Document Type Definition Das Inhaltsmodell für DTDs (Content Model)

12 Grossmann12 Das Inhaltsmodell für DTDs (Content Model) - Fortsetzung 4. Element - Alternative In diesem Fall besteht der Inhalt aus einer aufgezählten Reihenfolge von Elementen. Es ist kein freier Text zugelassen. + und * dürfen im Modell verwendet werden. Beispiel: Im Dokument darf nur ein Element dieser Auswahl stehen. Der Operator | stellt das exklusive ODER dar. XML – Document Type Definition Das Inhaltsmodell für DTDs (Content Model)

13 Grossmann13 Das Inhaltsmodell für DTDs (Content Model) - Fortsetzung 5. Element - Sequenz In diesem Fall besteht der Inhalt aus einer aufgezählten Reihenfolge von Elementen. Es ist kein freier Text zugelassen. + und * dürfen im Modell verwendet werden. Beispiel: Im Dokument müssen die Elemente in dieser Reihenfolge stehen. Der Operator, stellt den Sequenzoperator dar. Die Elemente der Sequenz können wieder in () eingeschlossene Elementgruppen sein, also z.B. auch Alternativen enthalten. XML – Document Type Definition Das Inhaltsmodell für DTDs (Content Model)

14 Grossmann14 Beispiel zum Inhaltsmodell für DTDs Als Beispiel soll die Tabelle der LV (1.Übung, 3.Aufgabe) dienen (Modelle rot dargestellt): XML – Document Type Definition Beispiel zum Inhaltsmodell für DTDs

15 Grossmann15 Attributliste eines Elementes in der DTD Enthält ein Element ein oder mehrere Attribute, muss hinter dem Inhaltsmodell eines Modells eine Attribut- Definition mit einem ATTLIST-Markup folgen : Bsp.: Eine solche Definition beginnt mit dem Elementnamen, zu dem die Attribute gehören. Dahinter folgt eine Aufzählung (Liste) von Attributdefinitionen. Im obigen Beispiele sind drei Attribut-Definitionen für Typ, SWS und Anerk angegeben. XML – Document Type Definition Attributlisten in DTDs

16 Grossmann16 Definition eines Attributes Wie aus dem letzten Beispiel zu ersehen, besteht eine Attributdefinition aus drei Bestandteilen: - Attributname, - Attributtyp und - Attributzusatz Bsp.: Die Reihenfolge der Aufzählung (Liste) von Attributdefinitionen ist dabei nicht signifikant,d.h. im Dokument kann eine andere (beliebige) Reihenfolge bei der Attribut-Angabe gewählt werden. XML – Document Type Definition Definition eines Attributes

17 Grossmann17 Attribut-Typen Wie aus dem letzten Beispiel zu ersehen, besteht eine Attributdefinition aus drei Bestandteilen: - Attributname, - Attributtyp und - Attributzusatz Bsp.: Die Reihenfolge der Aufzählung (Liste) von Attributdefinitionen ist dabei nicht signifikant, d.h. im Dokument kann eine andere (beliebige) Reihenfolge bei der Attribut-Angabe gewählt werden. XML – Document Type Definition Attribut-Typen / Überblick

18 Grossmann18 1.Attribut-Typ CDATA Diese Angabe (Character Data) bedeutet, dass als Attributwert eine beliebige Zeichenkette (in Doppelapostroph eingeschlossen) im Dokument stehen darf. Beispiel: SWS CDATA 2.Attribut-Typ Aufzählung (enumerated) Bei diesem Typ werden alle möglichen Wert in einer Liste aufgezählt. Das Trennzeichen ist der ODER-Operator |. Im Dokument darf (in Doppelapostroph eingeschlossen) nur ein Wert aus der angegebenen Aufzählung stehen. Beispiel: Typ (LV |WS) 3. Attribut-Typ NMTOKEN / NMTOKENS Als Wert vom Typ NMTOKEN ist eine Zeichenkette zugelassen, die analog einem Bezeichner aufgebaut sein muss, d.h. außer Buchstaben und Ziffern nur bestimmte Sonderzeichen, wie z.B. Punkt enthalten dürfen. Beispiel: Status NMTOKEN Im Dokument kann dann kodiert sein, z.B. Status= Entwurf oder Status= Verabschiedet Bei der Variante NMTOKENS können mehrere solche Worte durch Leerzeichen getrennt als Attribut- Wert auftreten. Beispiel: Interessen NMTOKENS Im Dokument kann dann kodiert sein, z.B. Interessen= Lesen Reisen Radfahren XML – Document Type Definition Attribut-Typen : CDATA, Aufzählung und NMTOKEN

19 Grossmann19 4. Attribut-Typ ID D iese Angabe bedeutet, dass als Attributwert eine Zeichenkette (in Doppelapostroph eingeschlossen) im Dokument stehen darf, die den Einschränkungen von NMTOKEN genügt, aber mit einem alphabetischen Zeichen (Buchstaben oder _) beginnt und zusätzlich eindeutig im Dokument vergeben ist, d.h. das Element im Dokument eindeutig kennzeichnet. Beispiel: ISBN ID Im Dokument könnte stehen ISBN= B Dieser Wert dürfte im Dokument nicht noch einmal vorkommen. XML – Document Type Definition Attribut-Typ : ID

20 Grossmann20 5. Attribut-Typ IDREF, IDREFS Diese Angabe IDREF bedeutet, dass als Attributwert eine Zeichenkette (in Doppelapostroph eingeschlossen) im Dokument stehen darf, die an anderer Stelle bereits als ID gekennzeichnet ist. Damit sind also eindeutige Bezugnahmen auf andere Elemente (Eltern-Elemente) möglich. Bei IDREFS dürfen als Wert mehrere Bezugnahmen durch Leerzeichen getrennt stehen. Für Eltern-Elemente und Kind-Elemente ist keine Reihenfolge vorgeschrieben, d.h. Bezugnahmen im Dokument können nach hinten führen. Beispiel: Bez ID gehoert_zu IDREF Bez ist ein Attribut eines Elementes Abteilung und gehoert_zu ist ein Attribut eines Elementes Person. So könnten in einem Dokument folgende Elemente stehen:..... Meier XML – Document Type Definition Attribut-Typ : IDREF, IDREFS

21 Grossmann21 6.Attribut-Typ ENTITY, ENTITIES Die Angabe ENTITY als Attribut-Typ bedeutet, dass als Attributwert auf ein anderes Objekt oder eine Datei Bezug genommen wird, die in der DTD unter dem Namen als ENTITY definiert sein muss (vgl. ENTITY-Definition). Beispiel: Spurny Ist ENTITIES angegeben, so können mehrere Werte als Verweis auf Entities angegeben werden. XML – Document Type Definition Attribut-Typ : ENTITY

22 Grossmann22 7. Attribut-Typ NOTATION (Abkürzung) Die Angabe NOTATION als Attribut-Typ mit einem folgenden Kürzel in Klammern bedeutet, dass als Attributwert auf ein externes Objekt ( Datei ) Bezug genommen wird, die in der DTD unter dem Namen als NOTATION definiert sein muss (vgl. NOTATION - Definition). Die Nutzung ist analog der von Entity-Bezugnahmen, nur mit der Beschränkung auf externe Dateien. Ist NOTATIONS angegeben, so können mehrere Werte als Verweis auf externe Objekte angegeben werden. XML – Document Type Definition Attribut-Typ : NOTATION, NOTATIONS

23 Grossmann23 Attribut-Zusatz Der dritte Bestandteil einer Attributdefinition besteht aus zusätzlichen Angaben. Dies sind vor allem Verfügungen über die Notwendigkeit der Attributangabe, Default-Werte usw. - Attributzusatz #REQUIRED Mit der Angabe dieses Zusatzes wird festgelegt, dass das betreffende Attribut stets im entsprechenden Element-Tag anzu- geben ist. - Attributzusatz #IMPLIED Mit der Angabe dieses Zusatzes wird festgelegt, dass das betreffende Attribut im entsprechenden Element-Tag wahlweise an- gegeben oder auch weggelassen werden kann. - Attributzusatz Default-Wert Ist der Attributtyp insbesondere ein Aufzählungstyp oder CDATA, so kann hinter die Aufzählung zulässiger Attributwerte bzw. CDATA ein Default-Wert als Standardwert in Doppelapostroph angegeben werden. XML – Document Type Definition Attribut-Zusatz

24 Grossmann24 ENTITY-Definition Es gibt mehrere Formen der Definition von Entities in einer DTD. XML – Document Type Definition ENTITY-Definition in der DTD Entity Zeichen-Entity Generelle Entity Externe P-Entity Parameter-Entity Interne P-Entity Interne G-Entity Externe G-Entity

25 Grossmann25 ENTITY-Definition 1. Zeichenentity Hinter einer Zeichenentity verbirgt sich die implizite Definition eines Sonderzeichens wie z.B.: & usw. über einen Namen wie z.B.: lt, gt, amp, apos usw. Für den Nutzer existiert eigentlich nur der Aufruf (Referenz), wie z.B. ' Diese können überall im Dokument und in der DTD verwendet werden. XML – Document Type Definition ENTITY-Definition in der DTD

26 Grossmann26 2. Parameter-Entity a) interne Parameter-Entity Mit der Angabe wird ein Name für eine Zeichenkette festgelegt. Im Dokument wird diese Zeichenkette über den Aufruf %name; aktiviert (substituiert). Bsp.: Dieser Parameter-Entity darf auch in ELEMENT- oder ATTLIST-Markups stehen ! XML – Document Type Definition ENTITY-Definition in der DTD

27 Grossmann27 b) externe Parameter-Entity Mit der Angabe wird ein Name für eine externe Datei als DTD-Definition festgelegt. In der DTD wird diese Zeichenkette über den Aufruf %name; aktiviert (substituiert). Bsp.: %person; ]> XML – Document Type Definition ENTITY-Definition in der DTD

28 Grossmann28 3. Generelle Entity a) interne generelle Entity Mit der Angabe Bsp.: wird ein Name für eine Zeichenkette festgelegt. Im Dokument wird diese Zeichenkette über den Aufruf (Referenz) &name; aktiviert (substituiert). Diese Form kann überall im XML-Dokument, d.h. in der DTD als auch im Datenteil verwendet werden. XML – Document Type Definition ENTITY-Definition in der DTD

29 Grossmann29 b ) externe generelle Entity Mit der Angabe wird ein Name für eine beliebige externe Datei festgelegt. Änalog zu den externen Parameter- Entities, nur waren diese auf dtd-Dateien beschränkt. Bei externen generelle Entities existieren 2 Formen: - die geparste und - die ungeparste Ist Zusatz nicht angegeben, spricht man von der geparsten Variante, dann muss diese Datei auch den Regeln eines XML-Dokumentes genügen. Besteht der Zusatz aus der Angabe NDATA spezifikation, so spricht man von der ungeparsten Variante. Diese wird angewendet, wenn Bilder, Audio- Video-Dateien referiert werden, z.B. NDATA gif89a. In diesem Fall wird der Inhalt ohne Kontrolle weitergegeben. Im Dokument wird eine externe generelle Entity nur über die Verwendung des Entity-Namens, also nicht über einen Aufruf (Referenz) benutzt: name In der Regel erscheint dieser name aber vor allem als Attibut-Wert. XML – Document Type Definition ENTITY-Definition in der DTD

30 Grossmann30 NOTATION-Definition Notationen kommen in der Regel nur im Zusammenhang mit ungeparsten externen Entities vor. Der Unterschied besteht darin, dass neben dem Spezifizierer SYSTEM auch PUBLIC zugelassen ist, d.h. die externe Entity über eine URL definiert wird. XML – Document Type Definition NOTATION-Definition in der DTD


Herunterladen ppt "Prof. Dr. rer. nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil XML – Document."

Ähnliche Präsentationen


Google-Anzeigen