30
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

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

Embed Size (px)

Citation preview

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

Prof. Dr. rer. nat. Ralph GroßmannFakultät Informatik / Mathematik

Sommersemester 2012

Internet-Technologien

XML-basierte Techniken

Teil „XML – Document Type Definition“

Teil 4

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

Grossmann 2

ZieleMit 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-Dokumentesdurch ein Konstrukt

<!DOCTYPE name ..... >

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 DefinitionZiele / Beziehung zwischen DTD und Dokument

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

Grossmann 3

Verbindungsformen zwischen DTD und einem Dokument

1. Interne Form der DTD

Eine DTD wird komplett in das DOCTYPE-Konstrukt eingebettet:

<!DOCTYPE name [ ........ ] >

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 DefinitionVerbindungsformen zwischen DTD und Dokument

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

Grossmann 4

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 DefinitionVerbindungsformen zwischen DTD und Dokument

DTD

XMLDokument

XMLDokument

XMLDokument

XMLDokument

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

Grossmann 5

Verbindungsformen zwischen DTD und einem Dokument

Eine öffentliche DTD wird durch das DOCTYPE-Konstrukt wie folgt eingebettet:

<!DOCTYPE name PUBLIC “Kennung“ “URL“ >

Beispiel:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Bsp.: Aufg_01_xhtml.htm

XML – Document Type DefinitionVerbindungsformen zwischen DTD und Dokument

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

Grossmann 6

Verbindungsformen zwischen DTD und einem Dokument

Eine nicht öffentliche DTD wird durch ein DOCTYPE-Konstrukt wie folgt eingebettet:

<!DOCTYPE name SYSTEM “URL“ >

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:

<!DOCTYPE html SYSTEM “dtd_02.dtd“>

Bsp.: dtd_02.xml

XML – Document Type DefinitionVerbindungsformen zwischen DTD und Dokument

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

Grossmann 7

Markup-Definitionen in DTDsDie folgende Tabelle enthält alle Markup-Definitionen (nach

Bedeutung geordnet), die in einer DTD stehen können:

XML – Document Type DefinitionMarkup-Definitionen in DTDs

Markup-Deklaration Beschreibung

<!ELEMENT ...> Definition eines Markups

<!ATTLIST ...> Definition einer Attributliste

<!ENTITY ...> Definition einer Entität

<!NOTATION ...> Definition einer Datentypnotation

<![INCLUDE [...]] > Definition eines bedingten Abschnittes

<![IGNORE [...]] > „ „

<!- - ... - - > Kommentar

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

Grossmann 8

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:

<! ELEMENT name (Modell) >

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 DefinitionDas Inhaltsmodell für DTDs (Content Model)

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

Grossmann 9

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 < und > dürfen nur durch Referenz auf ihre Entity-Form (&lt; &gt;) benutzt werden.

<!ELEMENT name (#PCDATA) >

Bsp.: dtd_04_error.xml verstößt gegen #PCDATA !

XML – Document Type DefinitionDas Inhaltsmodell für DTDs (Content Model)

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

Grossmann 10

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:

<!ELEMENT person ( #PCDATA | Name | PF_Angabe ) * >

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 DefinitionDas Inhaltsmodell für DTDs (Content Model)

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

Grossmann 11

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: <!ELEMENT Zeile EMPTY >

Bsp.: dtd_07.xml

XML – Document Type DefinitionDas Inhaltsmodell für DTDs (Content Model)

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

Grossmann 12

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: <!ELEMENT LV (Titel | Profs | Fuer) >

Im Dokument darf nur ein Element dieser Auswahl stehen.Der Operator | stellt das exklusive ODER dar.

XML – Document Type DefinitionDas Inhaltsmodell für DTDs (Content Model)

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

Grossmann 13

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: <!ELEMENT LV (Titel , Profs , Fuer) >

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 DefinitionDas Inhaltsmodell für DTDs (Content Model)

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

Grossmann 14

Beispiel zum Inhaltsmodell für DTDs

Als Beispiel soll die Tabelle der LV (1.Übung, 3.Aufgabe) dienen (Modelle rot dargestellt):<!ELEMENT KURS (LV*) >

<!ELEMENT LV (Titel, Profs, Fuer) > <!ATTLIST LV Typ (LV |WS) "LV" SWS CDATA #REQUIRED Anerk CDATA #IMPLIED > <!ELEMENT Titel (#PCDATA) > <!ELEMENT Profs (Prof+) > <!ELEMENT Prof (#PCDATA) > <!ELEMENT Fuer (SG+) > <!ELEMENT SG (#PCDATA) >

XML – Document Type DefinitionBeispiel zum Inhaltsmodell für DTDs

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

Grossmann 15

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.:

<!ELEMENT LV (Titel, Profs, Fuer) > <!ATTLIST LV Typ (LV |WS) "LV" SWS CDATA #REQUIRED Anerk CDATA #IMPLIED > 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 DefinitionAttributlisten in DTDs

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

Grossmann 16

Definition eines Attributes Wie aus dem letzten Beispiel zu ersehen, besteht eine Attributdefinition aus drei Bestandteilen:- Attributname,- Attributtyp und- Attributzusatz

Bsp.: <!ATTLIST LV Typ (LV |WS) "LV" SWS CDATA #REQUIRED Anerk CDATA #IMPLIED > 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 DefinitionDefinition eines Attributes

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

Grossmann 17

Attribut-Typen Wie aus dem letzten Beispiel zu ersehen, besteht eine Attributdefinition aus drei Bestandteilen:- Attributname,- Attributtyp und- Attributzusatz

Bsp.: <!ATTLIST LV Typ (LV |WS) "LV" SWS CDATA #REQUIRED Anerk CDATA #IMPLIED > 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 DefinitionAttribut-Typen / Überblick

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

Grossmann 18

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 DefinitionAttribut-Typen : CDATA , Aufzählung und NMTOKEN

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

Grossmann 19

4. Attribut-Typ ID

Diese 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= “B3-345-298714-2“ . Dieser Wert dürfte im Dokument nicht noch einmal vorkommen.

XML – Document Type DefinitionAttribut-Typ : ID

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

Grossmann 20

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:<Abteilung Bez= “Produktion“>.....<Person gehoert_zu= “Produktion“>Meier</Person>

XML – Document Type DefinitionAttribut-Typ : IDREF, IDREFS

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

Grossmann 21

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: <!ATTLIST Student foto ENTITY #IMPLIED> <!ENTITY bild1 SYSTEM “frage.gif“ NDATA GIF89a> <Student Matr="S16231" geh="E“ foto=“bild1” > Spurny</Student>

Ist ENTITIES angegeben, so können mehrere Werte als Verweis auf Entities angegeben werden.

XML – Document Type DefinitionAttribut-Typ : ENTITY

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

Grossmann 22

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 DefinitionAttribut-Typ : NOTATION, NOTATIONS

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

Grossmann 23

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 DefinitionAttribut-Zusatz

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

Grossmann 24

ENTITY-Definition Es gibt mehrere Formen der Definition von Entities in einer DTD.

XML – Document Type DefinitionENTITY-Definition in der DTD

Entity Zeichen-Entity

Generelle Entity

Externe P-Entity

Parameter-Entity

Interne P-Entity Interne G-Entity Externe G-Entity

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

Grossmann 25

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.

&apos; Diese können überall im Dokument und in der DTD verwendet werden.

XML – Document Type DefinitionENTITY-Definition in der DTD

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

Grossmann 26

2. Parameter-Entity a) interne Parameter-Entity

Mit der Angabe

<!ENTITY % name Zeichenkette >

wird ein Name für eine Zeichenkette festgelegt. Im Dokument wird diese Zeichenkette über den Aufruf %name; aktiviert (substituiert). Bsp.: <!ENTITY % titel “ Prof. “ > <!ENTITY anrede “Frau %titel;“>Dieser Parameter-Entity darf auch in ELEMENT- oder ATTLIST-Markups stehen !

XML – Document Type DefinitionENTITY-Definition in der DTD

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

Grossmann 27

b) externe Parameter-Entity Mit der Angabe

<!ENTITY % name SYSTEM “ externeDatei.dtd“ >

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.: <!DOCTYPE register [ <!ENTITY % person SYSTEM “pers.dtd “ > ....... %person; ]>

XML – Document Type DefinitionENTITY-Definition in der DTD

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

Grossmann 28

3. Generelle Entity a) interne generelle Entity

Mit der Angabe

<!ENTITY name Zeichenkette >

Bsp.: <!ENTITY gr „Ralph Grossmann“ >

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 DefinitionENTITY-Definition in der DTD

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

Grossmann 29

b) externe generelle Entity Mit der Angabe

<!ENTITY name SYSTEM “ externeDatei“ Zusatz >

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 DefinitionENTITY-Definition in der DTD

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

Grossmann 30

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 DefinitionNOTATION-Definition in der DTD