Dynamische HTML

Download Report

Transcript Dynamische HTML

Einführungskurs
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML
Dipl.-Dok. R. Offer
Referentin:
Dipl.-Dok. Rusalka Offer
FH Köln – Fakultät für Informations- und Kommunikationswissenschaft
Allgemeines zu XML
Folie 9
Ziele von XML
Folie 1012
Folie 13 -15
Eigenschaften von XML
Folie 16-19
Parser, Auszeichnungsarten, Beispiel
Folie 20 -27
Folie 28 30
Folie 31 -33
Prolog
Allgemeines zu DTDs
Deklarationsarten und Namensregeln
Element-Typ-Deklarationen; Inhaltsmodelle
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Folie 6-8
Dipl.-Dok. R. Offer
Folie 34 56
Folie 57 –
77
Folie 78 - 93
XML und HTML
Folie 95 -102
Attribut-TypDeklartationen
EntityDeklarationen
Notation-Deklarationen, Marked Sections etc
Folie 103 - 104
Editoren
2
•XML – Why learn XML ?
““Maintain a single list of subscription databases (complete with
administrative info) without using a database to do it. I can format
this one list anyway I want (by subject, name, staff-only views, etc.)
using XSLT.“
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Beiträge aus der XML4lib –Liste:
Ran a pilot-project for storing digital publications and searching
associated metadata using only XML and XSLT.
OCLC Connexion offers a built-in crosswalk to convert MARC to
XML(RDF-Dublin Core). We plan to use this in upcoming
digitization projects to provide metadata to non-MARC systems.
Librarians increasingly need to understand
the relationships of standards like RDF, METS, DC, TEI, etc. and
what to do with them.
3
Dipl.-Dok. R. Offer
•XML – Why learn XML ?
“Serials Solutions offers the option to receive reports in a single XML
file. We could eventually use this file as a single source for viewing
and searching the report.“
“Some OpenURL resolver systems require some XSLT know-how
to format results lists. “
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Beiträge aus der XML4lib –Liste:
“Most importantly, XSLT is fun! “
In the wider University front, XML is increasingly being used as a
publishing mechanism for Course Specifications, the University
Handbook and so on. We feel there are increasing possibilities for
integrating existing University data into our Library services using
XML as the platform.
4
Dipl.-Dok. R. Offer
•XML – Why learn XML ?
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Beiträge aus der XML4lib –Liste:
“We recently used our XML skills to cosmetically alter the
presentation of web pages within a vendor product, FretwellDowning's VDX product which is being used for the LIDDAS project
in Australia (for inter-lending and document supply). The web pages
for this product are all XSL files. We've modified the look and feel to
compliment other end-user interfaces that we offer in our existing
suite of products and couldn't have done that without our XML
skills.“
“... frankly I look at XML/XSLT as a hammer -- once you have it,
and know how to use it, you find all kinds of uses for it that would
not necessarily have occurred to you without that tool in your hand. “
5
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML und sein Umfeld (1)
Dipl.-Dok. R. Offer
XML wurde von der XML Working Group
entwickelt
(früher SGML Editorial Review Board).
 Aktuelle Spezifikationen rund um XML sind:
- XML 1.0 (Feb.98)
- Namespaces (Feb. 99) [Namensräume]
-Xlink (Juni 2001) [XML - Linking - Language]
-Xpointer (Endphase März 2002) [Adressierung
von
Verweizielen]
-XML Base (Juni 2001) [Übertragung der
Funktionalität des HTML- Base-Tags in XML]
-XQUERY: (Dez. 2001) [Query Language for
XML]
6
XML - Extensible Markup Language
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML und sein Umfeld (2)
Dipl.-Dok. R. Offer
- XML Schema - Part 1 Structures (Mai 2001)
- XML Schema - Part 2 Datatypes (Mai 2001)
[Alternative zu DTDs]
- DOM Level 3 (gerade in der letzten Phase)
[Document Object Model, Objekt-Modell, dass
den
Zugriff auf XML und/oder HTML -Dokumente
beschreibt
-XSL : XSLT2.0 und Xpath 2.0 (Feb. 2001)
[Transformation und Ausgabe von XMLDokumenten]
-XML Protocol (Entwurf Dez. 2001) [XMLP,
Protokoll
für XML-Anwendungen]
7
XML - Extensible Markup Language
 System- und Anwendungsunabhängiges
Datenformat
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Allgemeines:
Dipl.-Dok. R. Offer
Sinnvoll z. B für den Datenaustausch innerhalb
größerer Einrichtungen über das Web
(Anwendung im Bereich Datenbanken,
Autorensysteme, Dokumentarchive,
Informationssysteme...)
Für Web-Designer, die nur an der Darstellung
auf
dem Bildschirm arbeiten nur mittelmäßig
interessant
8
XML - Extensible Markup Language
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Ziele:
 XML soll eine universelle Sprache für:
-Datenaustausch,
-Retrieval
-Datenverwaltung
XML soll nutzbar für / über das Internet sein
XML soll viele Applikationen unterstützen
XML soll kompatibel mit SGML sein.
XML-Dokumente sollten einfach zu erstellen
sein
 Ursprünglich HTML - Alternative
9
Dipl.-Dok. R. Offer
Eigenschaften von XML
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
 Der Anwender kann eigene Tags und Attribute
definieren
 Diese Tags haben nichts mit der Darstellung am
Bildschirm zu tun, sondern sind semantische
Tags
 Trennung von Layout und Inhalt
 Wiedergabe von definierten Strukturen
Beispiel
<autor>Joachim Ringelnatz</autor>
10
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Eigenschaften von XML
XML ist eine Metasprache, mit der
Dokumenttypen
definiert werden können
Tags und Attribute werden vorher in einer
Document Type Definition (DTD) oder einem
Schema festgelegt
Auch ohne eine DTD / ein Schema kann ein
XMLDokument gelesen werden, wenn es spezielle
Kriterien erfüllt
11
Dipl.-Dok. R. Offer
Eigenschaften von XML
XML ist eine echte Untermenge von SGML gültige XML-Dokumente sind gültige SGML
Dokumente
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
XML ist einfacher anzuwenden und zu
implementieren als SGML
(Vergleich SGML-Spezifikation 500 S.
XML- Spezifikation 26 S.)
12
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
 XML hat im Gegensatz zu HTML keine fest
definierte Menge von Tags und Attributen
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML und HTML (1)
HTML-Dokumente können auch gültige XMLDokumente sein, wenn sie nachfolgende 5
Kriterien
erfüllen (Wohlgeformheitskriterien):
XML-Elemente haben immer ein Start-Tag und
ein Ende-Tag: Start-Tag und Ende-Tag
schließen ein
Element ein
13
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
Alle Attributwerte stehen in Anführungszeichen
Es gibt keine leeren Tags, auch leere Elemente
brauchen ein Ende-Tag: entweder <br></br>
oder <br />
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML und HTML (2)
Die Elemente müssen sauber verschachtelt
werden:
richtig: <b><i>Richtige Verschachtelung</i></b>
falsch: <b><i>Falsche Verschachtelung</b></i>
Es gibt eine strikte hierarchische Struktur, mit
genau einem Wurzelelement
14
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
XML-Dokumente müssen wohlgeformt sein
(well-formed)
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML und HTML (3)
XML unterscheidet zwischen Groß- und
Kleinschreibung (case sensitive) <h1> ist nicht
dasselbe wie <H1>
Leerzeichen (white spaces) sind relevant
Künftiges HTML wird XML-Module als
Grundlage
haben
15
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
XML-Parser sind Programme, die XMLDokumente
Stück für Stück lesen und überprüfen
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Parser
Ein Parser kann feststellen, ob ein Dokument
den
Kriterien der Gültigkeit und / oder der
Wohlgeformtheit entspricht
Ein Parser kann ein auf verschiedene Dateien
verteiltes Dokument zusammensetzen
16
Dipl.-Dok. R. Offer
Parser
Ein Parser erstellt einen Baum, in dem die
Abhängigkeiten der Elemente erkennbar
werden
und unterstützt so Anwendungsprogramme
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Die XML-Spezifikation enthält Regeln, die das
Verhalten eines Parsers beschreibt
Im Allgemeinen überprüft der Parser ein
Dokument
sowie die zugehörige DTD und stellt Fehler fest
17
Dipl.-Dok. R. Offer
Auszeichnungsarten in XML
XML-Dokumente bestehen immer aus Inhalt
(content) und Auszeichnung (markup). Es gibt
sechs verschiedene Arten von Auszeichnung:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language






elements
entity references
comments
processing instructions
marked sections
DTDs (document type definitions)
18
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Ein einfaches XML-DOKUMENT
<?xml version="1.0" encoding="UTF-8”
standalone="yes"?>
<Adressbuch>
<Person>
<Name>
<Nachname>Clinton</Nachname>
<Vorname>Bill</Vorname>
</Name>
<EMail>[email protected]</EMail>
</Person>
</Adressbuch>
19
Dipl.-Dok. R. Offer
Prolog
Ein XML-Dokument sollte mit dem sogenannten
Prolog beginnen, der die XML-Spezifikation und
die Kodierungsinformation enthält, aber auch die
Angabe, ob eine DTD vorhanden ist oder nicht.
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Beispiel:
<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
20
Dipl.-Dok. R. Offer
<?xml
Tags, die mit einem Fragezeichen
eingeleitet
und abgeschlossen werden stellen
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Prolog - Erläuterung
eine
sogenannte Processing Instruction (PI)
dar.
Sie aktivieren den Parser zur
Verarbeitung
der Instruktionen im XML- Dokument
21
Dipl.-Dok. R. Offer
Prolog - Erläuterung
version="1.0"
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Angabe der XML-Version auf der das
Dokument basiert. Diese Versionsdeklaration
wird zum Interpretieren des XML Source-Code
benötigt, da zukünftige XML -Versionen nicht
ausgeschlossen sind.
Die Versionsdeklaration ist obligatorisch und
steht
immer hinter xml
22
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
encoding="UTF-8"
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Prolog - Erläuterung
Dipl.-Dok. R. Offer
Die XML - Prozessoren müssen die UnicodeCodierungen UTF-8 und UTF-16 verarbeiten
können.
(UTF = UCS Transformation Format)
(UCS = Universal Multi-Octet Coded Character
Set)
Die ersten 256 Unicode Zeichen entsprechen den
Codes von ISO 646 (ASCII) und ISO-8859-1
(west- europäischen Zeichensatz, auch "Latin 1"
genannt).
23
Prolog - Erläuterung
standalone="yes"
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
In dieser Deklaration gibt der Wert "yes" an, dass
dieses XML-Dokument nicht auf einer DTD
basiert. In diesem Fall kann das XML-Dokument
nicht vom Parser auf Gültigkeit überprüft werden.
Es kann aber bei Einhaltung der XML SyntaxRegeln als “wohlgeformt" gelten und von einem
XML-fähigen Browser darstellbar sein.
Der Wert “no“ gibt an, dass eine DTD vorhanden
ist.
24
Dipl.-Dok. R. Offer
Prolog - Erläuterung
Beispiel:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
<?xml version= " 1.0" encoding="UTF-8"
standalone= " no" ?>
<!DOCTYPE Adressbuch SYSTEM "adress.dtd">
Ein Prolog mit einer Dokumenttyp-Deklaration und
einem Verweis auf eine externe DTD namens
adress.dtd
25
Dipl.-Dok. R. Offer
Prolog - Erläuterung
<!DOCTYPE Adressbuch SYSTEM "adress.dtd">
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Bevor ein Parser beginnen kann ein XML Dokument gegen eine DTD abzugleichen, um auf
diese Art die Gültigkeit des Dokumentes
festzustellen, muss ihm der Standort der DTD
angegeben werden. Dieses geschieht durch die
DOCTYPE-Deklaration. Zu jedem gültigen XML Dokument gehört eine DOCTYPE-Deklaration
26
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
<!DOCTYPE Adressbuch SYSTEM "adress.dtd">
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Prolog - Erläuterung
Die DOCTYPE-Deklaration enthält auch den
Namen des hierachisch höchsten Elementes
(Wurzelelement oder Dokumentelement), hier
‘Adressbuch‘.
Das Schlüsselwort SYSTEM gibt an, daß die
anschließend genannte Datei extern im
Dateisystem oder Netz zu suchen ist. Hier kann
ein Dateiname mit relativem oder absolutem Pfad
stehen oder eine Internetadresse
27
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Allgemeines zu DTDs (Document Type Definitons)
Die DTDs erlauben es, zu einem XML-Dokument
dem Parser Informationen über seinen Inhalt
zukommen zu lassen. Sie enthalten die erlaubte
Reihenfolge und die erlaubten Verschachtelungen
von Tags, die Attribute, ihre Werte und den
Default-Zustand, die Namen von externen
Dateien, auf die verwiesen wird und die Entitäten,
die vorkommen. Sie definieren somit das XMLDokument.
28
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
Eine DTD ist die Grammatik für das XMLDokument,
sie bestimmt welche Tags und Attribute für das
jeweilige Dokument gültig ist
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Allgemeines zu DTDs (Document Type Definitons)
Dipl.-Dok. R. Offer
DTDs können extern angegeben werden (URI,
URL)
oder innerhalb des XML-Dokumentes
Eine externe DTD kann aber auch durch eine
interne DTD ergänzt werden, ein Parser kann
interne und externe DTDs zusammen zu einer
Gesamt-DTD zusammenfügen
29
Eine interne DTD-(Unter)-Menge wird immer
zuerst
eingelesen, bei mehrfach Deklarationen die
sowohl
in der internen als auch in der externen DTD
vorkommen, gelten die der internen Untermenge
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Allgemeines zu DTDs (Document Type Definitons)
Dipl.-Dok. R. Offer
XML-Dokumente ohne DTD müssen den
Kriterien
der Wohlgeformtheit entsprechen
Eine DTD wird unter Verwendung einer formalen
Grammatik notiert, der Extended Backus-Naur
Form
30
(EBNF)
XML - Extensible Markup Language
Welches sind die abzubildenden Dokumente
bzw.
Dokumentarten / Dokumenttypen und welche
typische Struktur haben sie?
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
einige Vorüberlegungen zur Erstellung einer DTD:
Welche Ziele werden verfolgt? Datenaustausch,
Recherche, Ausgabe etc
Welche Software (Datenbank, Dokumentenmanagementsystem etc) wird verwendet
31
Dipl.-Dok. R. Offer
DTD: Deklarationsarten
Innerhalb einer DTD kann es folgende Arten von
Deklarationen geben:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language




Element Type Declarations
Attribute List Declarations
Entity Declarations
Notation Declarations
32
Dipl.-Dok. R. Offer
DTD: Deklarationen: Namensregeln
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Für Namen in einer DTD gelten folgende Regeln:
Dipl.-Dok. R. Offer
 Die Zeichenfolge XML ist reserviert und darf
nicht
als Namensanfang verwendet werden
Namen müssen mit einem Buchstaben oder
einem
Unterstrich beginnen (Namensräume beginnen
mit
einem Doppelpunkt)
Die nachfolgenden Zeichen können Buchstaben,
Ziffern, Punkt, Minuszeichen, Doppelpunkt und
verschiedene andere Zeichen sein. Möglichst
auf
33
Sonderzeichen verzichten
XML - Extensible Markup Language
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
DTD: Deklarationsarten: Element Type
Declarations
Dipl.-Dok. R. Offer
 Element-Typ-Deklarationen bestimmen die
Namen
der Elemente und die Inhaltsarten
 Sie sind wichtigster Bestandteil in XML, da sie
die
strukturellen Einheiten angeben.
 Elemente können folgendes enthalten
-andere Elemente
-Daten (Text, Graphik etc)
-nichts (Definiton als leeres Element)
 Der mögliche Inhalt von Elementen wird durch
ein
34
Inhaltsmodell festgelegt
DTD: Deklarationsarten: Element Type
Declarations:
Inhaltsmodelle
Folgende Inhaltmodelle existieren für Elemente:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
 Gruppen: Der Elementinhalt besteht aus
Kindelementen / Subelementen. Das Auftreten
der
Kindelemente kann durch Operatoren bestimmt
werden
35
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations:
Inhaltsmodelle
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
 Daten: Der Elementinhalt besteht aus
Zeichen/Daten besteht und wird mit dem
reservierten Wort #PCDATA angegeben
 Gemischter Inhalt: Der Elementinhalt besteht
aus
Kindelementen und Daten
36
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations:
Inhaltsmodelle
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
 leerer Inhalt : Der Elementinhalt wird mit dem
Schlüsselwort EMPTY angegeben
Beispiel: <!Element br EMPTY>
 beliebiger Inhalt: Der Elementinhalt wird mit
Schlüsselwort ANY angegeben. Gemeint ist ein
beliebiger Inhalt aus PCDATA und aller in der
DTD
definierten Elemente
Beispiel: <!Element div ANY>
37
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations:
Inhaltsmodelle: Operatoren
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Die Reihenfolge und das Auftreten von Kindelementen und PCDATA wird durch Operatoren /
Konnektoren bestimmt
Mengenoperatoren: Beispiele
<!ELEMENT Adressbuch (Person?)> Das Element
Person taucht nicht auf oder genau einmal (also
höchstens einmal)
38
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations:
Inhaltsmodelle: Operatoren
Mengenoperatoren: Beispiele
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
<!ELEMENT Adressbuch (Person+)> Einmaliges
oder mehrmaliges Auftreten des Elementes
Person
<!ELEMENT Adressbuch (Person*)> Element
Person kann kein oder mehrmals (also beliebig
oft) auftreten
39
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations:
Inhaltsmodelle: Operatoren
Strukturoperatoren: Beispiele
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
<!ELEMENT Adressbuch (Person | Mensch)>
Element Person oder Element Mensch kann
auftreten (Bildung von Alternativen)
40
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations:
Inhaltsmodelle: Operatoren
Strukturoperatoren: Beispiele
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
<!ELEMENT Adressbuch (Nachname, Vorname)>
Element Nachname gefolgt von Element Vorname
(Bildung von Sequenzen)
<!ELEMENT Adressbuch (Nachname,
Vorname)+> Zusammengesetztes Element (hier:
Sequenz) tritt mindestens einmal auf
41
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele
Eine typische Deklaration sieht so aus:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
<!ELEMENT Adressbuch (Person+)>
<!ELEMENT Person (Name, Email*)>
<!ELEMENT Name (Nachname, Vorname)>
<!ELEMENT Nachname (#PCDATA)>
<!ELEMENT Vorname (#PCDATA)>
<!ELEMENT Email (#PCDATA)>
42
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele: Erläuterung
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Eine Element-Typ-Deklaration beginnt immer mit
<!ELEMENT , danach wird der Name des
Elementtyps angegeben anschließt folgt das
Inhaltsmodell (''content model'').
43
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele: Erläuterung
<!ELEMENT Adressbuch (Person+)>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Die erste Deklaration bestimmt, dass es ein
Element Adressbuch gibt. Danach folgt das
''content model'', das angibt, welche Elemente
''Adressbuch'' enthalten kann. In diesem Falle
enthält das Element Adressbuch das Element
Person. Das Pluszeichen hinter Person gibt an,
dass das Element mindestens einmal aber auch
mehrmals auftauchen kann.
44
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele: Erläuterung
<!ELEMENT Person (Name, Email*)>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Die zweite Deklaration bestimmt das Element
Person genauer: Das Element Person enthält die
Elemente Name und Email, wobei diese genau in
dieser Reihenfolge auftreten müssen. Das
Element Email ist dabei optional, was durch das
Sternchen am Ende kenntlich gemacht wird.
Name muss genau einmal vorhanden sein.
45
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele: Erläuterung
<!ELEMENT Name (Nachname, Vorname)>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Die dritte Deklaration bestimmt das Element
Name. Das Element Name besteht aus
Nachname und Vorname, die jeweils genau
einmal vorkommen dürfen.
46
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele: Erläuterung
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
<!ELEMENT Nachname (#PCDATA)>
<!ELEMENT Vorname (#PCDATA)>
<!ELEMENT Email (#PCDATA)>
Die Deklarationen in Zeilen 4-6 bestimmen die
Elemente Nachname, Vorname und Email. Diese
Elemente enthalten keine weiteren Elemente,
sondern Daten bzw. Zeichen. Dies wird durch
#PCDATA festgelegt.
47
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname,
Adresse, Telefon, Email, Firma)>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Hier wird eine feste Abfolge der Unter-Elemente
vorgegeben. Bei der Benutzung des Kommas
müssen die Unter-Elemente genau in der
vorgegebenen Reihenfolge auftauchen und zwar
genau einmal.
48
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele:
<!ELEMENT Person (Nachname | Vorname |
Adresse | Telefon | Email | Firma)>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Bei dieser Deklaration wird eine ausschließliche
Oder-Vernüpfung gebildet: nur eines der Elemente
darf als Unter-Element auftauchen.
49
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname,
Adresse, Telefon, Email, Firma)*>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Der Stern hinter der Aufzählung bewirkt, dass die
Elemente in beliebiger Reihenfolge vorkommen
können.
50
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname,
Adresse, Telefon*, Email, Firma)>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Der Stern hinter dem Unter-Element Telefon,
bewirkt, dass dieses Unter-Element beliebig oft
auf treten darf
51
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname,
Adresse, Telefon*, Email, Firma?)>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Das Fragezeichen hinter Firma bewirkt, dass
dieses Unter-Element einmal aber auch gar nicht
vorkommen darf.
52
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname,
Adresse, Telefon*, Email+, Firma?)>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Da Pluszeichen hinter Email bewirkt, dass dieses
Unter-Element einmal oder mehrere Male
vorkommen darf.
53
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname+,
Adresse, Firma?, (Telefon | Email))>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Auch Klammerung ist möglich.
Die Strukturoperatoren sind somit untereinander
und bzgl. der Mengenoperatoren orthogonal
anwendbar.
54
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations: Beispiele:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Der Inhalt eines Elements kann also aus Daten,
aus Unterelementen oder beiden bestehen. Wenn
diese Mischform aus PCDATA und UnterElementen verwendet wird, ist eine feste Form
vorgeschrieben:
<!ELEMENT P(#PCDATA | ul | ol | dl | img | a)*>
55
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Element Type
Declarations:
Beispiele:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Bei gemischten Formen muss PCDATA immer am
Anfang stehen, alle Elemente müssen alternativ
und die ganze Gruppe optional sein. Es gilt also,
dass zwar festgelegt werden kann, welche
Elemente als untergeordnete Elemente auftreten
können, aber nicht deren Reihenfolge oder deren
Anzahl.
56
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Attribute-List
Declarations:
Allgemeines
 Attribute werden verwendet, um Elemente
genauer zu beschreiben
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Dipl.-Dok. R. Offer
 Sie enthalten zusätzliche Informationen über
Elemente und Elementinhalte
 Um den Elementen Attribute zuzuweisen,
müssen
diese Attribute vorher deklariert werden
 Eine Attributliste bezieht sich immer auf ein
Element.
57
DTD: Deklarationsarten: Attribute-List
Declarations:
Allgemeines
 Zur Attributdeklaration gehört der Elementname
sowie eine Angabe zum Attributtyp und zum
Default-Wert
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Dipl.-Dok. R. Offer
 Attribute werden in den Start-Tags der Elemente
angegeben, ihre Werte stehen immer in
Anführungszeichen
 Entscheidungsfindung notwendig:
Codierung der Information als Attribut oder
Element?
58
DTD: Deklarationsarten: Attribute-List
Declarations:
Beispiel
<!ATTLIST Person Gender (male | female)
#implied>
Jede Attributdeklaration besteht aus drei Teilen:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Dipl.-Dok. R. Offer
 Einen zug. Elementennamen (Name, hier
Person)
 einem Typ (Type, hier Gender) und einem
 Standardwert (default value, hier alternativ male
oder female).
59
DTD: Deklarationsarten: Attribute-List
Declarations: Attributtypen
Man kann die Attributtypen grob in drei Gruppen
unterteilen
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Zeichenketten CDATA: Strings, jeder Text ist
zugelassen, angegeben durch CDATA
Aufzählungstypen (enumerated type): es wird
eine
Liste der möglichen Werte vorgegeben ist
60
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Attribute-List
Declarations: Attributtypen
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Token-Typen: mehrere vordefinierte Attributtypen
(ID, IDREF, IDREFS, NMTOKEN, NMTOKENS,
NOTATION, NOTATIONS, ENTITY, ENTITIES)
61
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
Manche Attribute sollen obligatorisch gesetzt
werden, andere nicht. Dafür werden bestimmte
Attributvorgaben genutzt.
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
DTD: Deklarationsarten: Attribute-List
Declarations: Standardattributvorgaben
Dipl.-Dok. R. Offer
#REQUIRED: Das Attribut muss bei jedem
Vorkommen im Dokument einen explizit
spezifizierten Wert besitzen
#IMPLIED: Der Attributwert ist nicht unbedingt
nötig, es gibt auch keinen Defaultwert. Wenn
kein
Wert angegeben ist, muss der XML-Parser ohne62
einen Wert fortfahren
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
DTD: Deklarationsarten: Attribute-List
Declarations: Standardattributvorgaben
Dipl.-Dok. R. Offer
''<value>'': Einem Attribut kann jeder legale Wert
als
Standard zugewiesen werden. Der Attributwert
ist
nicht zwingend bei jedem Element des
Dokumentes
nötig. Ist kein Wert angegeben, so wird der
Standardwert eingesetzt
#FIXED ''<value>'': Einem Attribut kann ein
fester
Wert zugewiesen werden. In diesem Falle ist
das
Attribut nicht zwingend vorgeschrieben, aber
falls
63
DTD: Deklarationsarten: Attribute-List
Declarations: Beispiele
<!ATTLIST Form Method CDATA #FIXED ''Post''>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Dipl.-Dok. R. Offer
In diesem Beispiel wird für das Elemtent Form ein
Attribut Method deklariert, welches vom Typ
CDATA ist und Vorgabewert ''Post'’ hat
<!ATTLIST Person Id ID #REQUIRED>
In diesem Beispiel wird für das Element Person
ein Attribut Id vom Typ ID deklariert, welches
einen Wert enthalten muß.
64
DTD: Deklarationsarten: Attribute-List Declarations:
Beispiele
<!ATTLIST Person Name CDATA #IMPLIED>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Dipl.-Dok. R. Offer
In diesem Beispiel wird für das Element Person ein
Attribut Name deklariert, welches vom Typ CDATA
ist. Der Attributwert ist optional
<!ATTLIST Person Gender (male | female)
'’female''>
In diesem Beispiel wird für das Element ein Attribut
gender definiert, welches vom Typ enumerated type
65
(Aufzählungstyp) ist. Default-Wert ist female.
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen: CDATA
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Zeichenketten
Mit dem Wort CDATA wird einem Attribut der
Zeichenketten-Typ zugeordnet. CDATA entspricht
PCDATA bei der Deklaration von Elementen. Wird
ein Attribut dem CDATA-Typ zugeordnet, so kann
eine beliebige Zeichenfolge als Wert auftreten.
Beispiel
<!ATTLIST person name CDATA #IMPLIED>
66
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen: enumerated type
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Aufzählungstypen:
Attribute werden dem Aufzählungstyp zugeordnet,
wenn mehrere Werte aus einer Aufzählung
ausgewählt werden können
Beispiel:
<!ATTLIST Person Gender (male | female |
unknown) ''unknown'')>
Wenn das Element Person kein Gender Attribut
hat, wird ihm automatisch ''unknown'' zugewiesen.
67
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen: Token Typen
Token-Typen:
ID
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Dipl.-Dok. R. Offer
 IDREF, IDREFS
 NMTOKEN, NMTOKENS
NOTATION, NOTATIONS
ENTITY, ENTITIES
68
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen: Token-Typen: ID
Token-Typen:
ID
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
ID-Attribute werden benötigt, um Elemente zu
identifizieren. Der Wert eines ID-Attributs muss
immer eindeutig sein d.h. er darf sich in dem
Dokument nicht wiederholen. IDs können
Elemente in einem Dokument eindeutig
kennzeichnen.
69
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen:Token-Typen: ID
Beispiel:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
<!ATTLIST Ware Nummer ID #REQUIRED)>
Für das Element Artikel wird hier ein Attribut mit
dem Namen Nummer deklariert, dass den Typ ID
besitzt. Mit REQUIRED wird festgelegt, dass das
Attribut für das Element Ware immer angegeben
werden muss.
70
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen:Token-Typen: IDREF, IDREFS
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
IDREF, IDREFS
Der Wert eines IDREF-Attributs ist die
Zeichenfolge, die als Wert eines ID-Attributes in
irgendeinem Element des Dokuments erscheint.
Es dient also als Verweisziel. Mit dem IDREFAttribut lassen sich Verweise herstellen. IDREFS
kann mehrere Werte annehmen, die durch
Leerzeichen getrennt werden.
Für diesen Fall soll die Software dem Anwender
eine Selektion aus Verweiszielen anbieten
71
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen:Token-Typen: IDREF, IDREFS
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Dipl.-Dok. R. Offer
Beispiel
<!ATTLIST Standort Bezug IDREFS
#REQUIRED)>
Man könnte sich nun innerhalb eines Dokumentes
die folgende Konstruktion vorstellen:
<Ware Nummer="999"> ... </Ware>
.....
<Standort Bezug="999 998 997 996"> ...
</Standort>
72
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen:Token-Typen: NMTOKEN,
NMTOKENS
Dipl.-Dok. R. Offer
 NMTOKEN-Attribute sind eine restriktive Form
von
String-Attributen
 Der Wert ist ähnlich aufgebaut wie bei CDATAAttributen, allerdings umfasst er häufig nur ein
Wort. Dieses Wort ist bestimmten
Beschränkungen
unterworfen, die für die Namensbildung in XML
gelten.
 Der Plural NMTOKENS umfasst mehrere
NMTOKENWerte, die durch Leerzeichen getrennt werden.73
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen:Token-Typen: NOTATION,
NOTATIONS
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Dipl.-Dok. R. Offer
 Attribute vom Typ NOTATION sollen den Inhalt
eines Elementes speziell interpretieren
 Notations-Attribute werden benötigt, um z.B. auf
externe Informationen zugreifen zu können.
(Z.B gif, pdf, ps etc)
Beispiel
<!NOTATION Gif SYSTEM
''http://www.viewer.de/viewer.exe''>
<!ATTLIST Bild Typ NOTATION>
<Bild Typ=''Gif''>...</image>
74
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen:Token-Typen: ENTITY, ENTITIES
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
ENTITY ist der Oberbegriff für verschiedene Arten
von Objekten. Zeichenketten können ENTITIES
sein, aber auch Dateien oder Teile von Dateien.
Entitäten werden in der DTD deklariert, d.h. eine
Anzahl von Zeichen wird mit einem Namen
ausgestattet und diese Entität kann dann im XMLDokument verwendet werden. Entities können
z.B. auch deklariert werden , um sich
Schreibarbeit zu ersparen.
75
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen:Token-Typen: ENTITY, ENTITIES
Man kann z.B. folgendes (interne) Entity
deklarieren:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Dipl.-Dok. R. Offer
<!ENTITY fbi "Fachbereich Bibliotheks- und
Informationswesen''>
Dieses ENTITY wird später im Dokument durch
&fbi; angegeben. Wenn ein Parser im Dokument
auf &fbi; stößt, wird er den Wert "Fachbereich
Bibliotheks- und Informationswesen'' einsetzen.
Auch Sounddateien können als ENTITY
angegeben werden.
76
DTD: Deklarationsarten: Attribute-List
Declarations:
Attributtypen:Token-Typen: ENTITY, ENTITIES
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Dipl.-Dok. R. Offer
Im Bereich der Attributdeklarationen ist der Wert
eines ENTITY-Attributs der Name eines externen
binären ENTITY. Der Wert von ENTITIES sind die
Namen verschiedener externer binärer ENTITIES,
die durch Leerzeichen getrennt werden.
Mehr zu Enitäten im Bereich Entity -Deklarationen
Beispiel:
<!ATTLIST homepage sound ENTITY
#IMPLIED>
77
DTD: Deklarationsarten: Entity Declarations
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Entities sind Objekte, die einen Namen haben und
einen bestimmten Inhalt. Stößt ein Parser beim
Lesen eines XML-Dokumentes auf ein ENTITY, so
schaut er in der DTD nach und setzt an dieser
Stelle den Inhalt des ENTITY ein. Dieser Inhalt
wird vorher in den Entity Declarations festgelegt.
Sobald ein ENTITY deklariert ist, kann der Parser
den Inhalt an jeder gewünschten Stelle einsetzen.
78
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Entity Declarations
Man unterscheidet mehrere Arten von ENTITIES:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language

allgemeine Entities und Parameter Entities

geparste und nicht geparste Entities

interne und externe Entities
79
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Entity Declarations:
Allgemeine Entitity-Deklaration
 Allgemeine / generelle Entitäten werden als
TextKonstanten benutzt.
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Beispiel
<!ENTITY fbi ”Fachbereich Bibliotheks und
Informationswesen" >
 Wenn im XML-Dokument nun die Entität &fbi;
enthalten ist wird Parser sie durch “Fachbereich
Bibliotheks- und Informationswesen“ ersetzten.
80
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Entity Declarations:
Parameter Entity-Deklaration
 Die Deklaration eines Parameter-Entities gleicht
der
eines allgemeinen Entities
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
 Dem Kürzel wird noch ein Prozentzeichen
vorangestellt.
 Der Aufruf erfolgt auch vorangestelltem
Prozentzeichen (%)
Der Parser setzt dann den definierten Inhalt ein
81
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Entity Declarations:
Parameter Entity-Deklaration
Unterschied zwischen allgemeinen Entities und
Parameter Entities:
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
 allgemeine Entities werden im XML-Dokument
verwendet
 Parameter Entites werden nur innerhalbvon
DTDs
zur Verkürzung der Syntax verwendet, bzw. um
Konstanten zu bilden.
82
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Entity Declarations:
Parameter Entity-Deklaration
Beispiel:
<!ENTITY %headings "H1|H2|H3|H4|H5|H6">
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Hier werden alle Überschriften in HTML dem
Entity %headings; zugewiesen. Nun kann man in
der DTD auf dieses Entity zurückgreifen, wenn
man es braucht, z. B zum Definieren des BodyTags.
83
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Entity Declarations:
Parameter Entity-Deklaration
Beispiel: Aufruf eines Parameter-Entities
<! ELEMENT body (%headings;| P| HR)*>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Hier wird definiert, dass das Body-Tag die
Elemente, die im Entity %headings; ''verborgen''
sind sowie P und HR enthalten darf.
84
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Entity Declarations:
Geparste Entities
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Die allgemeinen und die Parameter Entities
gehören zur Gruppe der geparsten Entities, d.h
wenn der Parser auf ein solches Entity stößt, kann
er es auflösen und den Inhalt einsetzten.
85
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Entity Declarations:
Nichtgeparste Entities
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
 nicht geparste Enitities verweisen auf Dateien,
die
als Entity formuliert sind aber kein Markup
darstellen z.B gif, pdf, bmp
 die Art der Daten, auf die verwiesen wird, muss
vorher als Notation deklariert sein.
(Mehr dazu im Bereich der NotationenDeklaration)
86
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Entity Declarations:
Nichtgeparste Entities
 nicht geparste Entities stellen eine gute
Möglichkeit dar, Nicht-XML-Daten zu
berücksichtigen
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
In der Deklaration muss die Notation (das
Datenformat) mit dem Schlüsselwort NDATA
angegeben werden
 Um nicht geparste Entities zu referenzieren
müssen
Attribute verwendet werden.
87
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Entity Declarations:
Nichtgeparste Entities
Beispiel:
<!ENTITY logo SYSTEM "/bild/logo.gif" NDATA
GIF>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
<!ELEMENT grafik EMPTY>
<!ATTLIST grafik src ENTITY #REQUIRED>
Aufruf:<p>Das neue Logo<grafik src=“logo“ />
steht hier </p>
88
Dipl.-Dok. R. Offer
DTD: Deklarationsarten: Entity Declarations:
Interne Entities
Ein internes Entity ist ein Entity, dessen Inhalt in
einer Entity-Deklaration bestimmt wird.
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Beispiel
<!ENTITY JS ”Javascript">
Alle internen Entities sind geparste Entities!
89
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
DTD: Deklarationsarten: Entity Declarations:
Interne Entities
Dipl.-Dok. R. Offer
Ebenso wie in HTML gibt es auch in XML einige
Zeichen die für den Parser eine besondere
Bedeutung als Markup haben. Diese Zeichen
müssen im Dokument als Entitäten aufgerufen
werden.
Fünf vordefinierte interne Entities werden in XML
verwendet:





&lt; linke spitze Klammer (<).
&gt; rechte spitze Klammer (>).
&amp; Kaufmanns-Und (&).
&apos; Hochkomma ( ' ).
&quot; Anführungszeichen ( " ).
90
XML - Extensible Markup Language
 Externen Entities sind Teile eines XMLDokumentes
die ausserhab des Dokumentes liegen und
referenziert und geparst werden.
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
DTD: Deklarationsarten: Entity Declarations:
Externe Entities
Dipl.-Dok. R. Offer
 Externe Entitities erlauben einen modularen
Aufbau von XML-Dokumenten
 Externe Enitities müssen gültig gegenüber der
DTD
des referenzierenden Dokumentes sein, damit
das
91
referenzierende Dokument gültig ist.
XML - Extensible Markup Language
 Externe Entities dürfen nur im Dokument selber
oder als Inhalt eines allgemeinen (internen)
Entities
referenziert werden (z.B. &fbi;)
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
DTD: Deklarationsarten: Entity Declarations:
Externe Entities
Dipl.-Dok. R. Offer
 Es ist möglich XML-Dokumente nur aus
externen
Entities zusammenzusetzen
 Beispiel für die Deklaration einer externen
Entität:
<!ENTITY fbi SYSTEM "/htdocs/fb.xml">
92
XML - Extensible Markup Language
 Externe Entities können auch als externe
Parameter
Entities vorkommen
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
DTD: Deklarationsarten: Entity Declarations:
Externe Entities
Dipl.-Dok. R. Offer
 Externe Parameter Entities werden innerhalb
einer
DTD referenziert
 Externe Parameter Entities sind Dateien mit
gültigen Deklarationen oder Teilen davon
Beispiel für die Deklaration einer externen
Parameter Entität: <!ENTITY % fbi SYSTEM
"/htdocs/fb.dtd">
93
DTD: Deklarationsarten: Entity Declarations
Gebräuchlich sind auch folgende EntityBezeichnungen, die sich alle aus den behandelten
Entitiy - Gruppen ableiten lassen
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
 interne Parameter Entities
 externe Parameter Entities
 interne generelle Entities
externe generelle geparste Entities
externe generelle nicht-geparste Entities
vordefinierte Entities
94
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
 Notationen-Deklarationen liefern Informationen
über den Namen und das Format von NichtXMLDaten wie Graphiken, Text-Files etc.
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
DTD: Deklarationsarten: Notation Declarations
Dipl.-Dok. R. Offer
 Diese Daten werden übergeben durch
-ein generelles nicht geparstes Entity
-als Inhalt eines Elemtentes mit einem
Notation-Attribut
 Der Name der Notation erlaubt es der XMLAnwendung ein definiertes Hilfsprogramm
95
XML - Extensible Markup Language
 Nach dem Namen der Notation wird das
Schlüsselwort SYSTEM notiert
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
DTD: Deklarationsarten: Notation Declarations
Dipl.-Dok. R. Offer
Die im Anschluß an SYSTEM angegebene
Datei
beinhaltet den Pfad zu einem Hilfsprogramm
oder
zu einer Datei die zur Verarbeitung des
Datenformats benötigt wird
Der System-Identifier kann auch leer bleiben
Beispiel: < !NOTATION bmp SYSTEM
"http://www.bmp.com/bmpviewer.exe">
96
XML - Extensible Markup Language
Markierte Bereiche (cdata sections) geben den
Inhalt unverändert wieder. Diese Sektionen
werden nicht ”geparst”, so dass Zeichen, die sonst
als Markup-Zeichen vom Parser missverstanden
werden könnten, problemlos dargestellt werden.
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Markierte Bereiche: CDATA - Sections
Beispiel
<![CDATA[ 50*10>100 ]]>
97
Dipl.-Dok. R. Offer
 Bedingte Abschnitte sind bestimmte Teile einer
DTD deren Deklarationen in Abhängigkeit von
einem Schlüsselwort vom Parser verarbeitet
oder
ignoriert wird. In diese Abschnitte können
beliebige Deklarationen enthalten sein.
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Markierte Bereiche: Conditional - Sections
Dipl.-Dok. R. Offer
 Beim Schlüsselwort “INCLUDE“ wird der Inhalt
eines
bestimmten Abschnittes berücksichtigt, beim
Schlüsselwort “IGNORE“ wird der Abschnitt
ignoriert.
 Durch die Zuweisung dieser Schlüsselwörter an
Parameter-Entitäten läßt sich die
98
Berücksichtung
XML - Extensible Markup Language
Beispiel:
<! ENTITY % offiziell “INCLUDE“>
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Markierte Bereiche: Conditional - Sections
<! [%offiziell;[
<! ELEMENT brief (Datum, Anschrift) >
]] >
99
Dipl.-Dok. R. Offer
Kommentare
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
XML - Extensible Markup Language
Kommentare dürfen sowohl innerhalb einer DTD
(Ausnahme: innerhalb von Deklarationen) als
auch im XML - Dokument stehen.
Sie stehen zwischen den Zeichen <!-- und --> und
werden vom Parser ignoriert.
100
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
Ein XML-Dokument ist dann gültig (valid), wenn
der Abgleich von Dokument und DTD keine Fehler
ergibt, d.h. die in der DTD deklarierten Elemente,
Attribute, Entities, Notationen, Referenzen etc. im
XML-Dokument entsprechend der Deklarationen
vorkommen.
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Gültigkeit
Wenn ein Dokument einmal als gültig befunden
worden ist, macht es aufgrund des Zeitaufwandes
wenig Sinn, die Prüfung zu wiederholen, wenn
das Dokument aufgerufen wird bzw. verschickt
wird. Darum hat man für die schnellere
Überprüfung die Kriterien der Wohlgeformtheit
entwickelt.
101
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
Bei der Überprüfung auf Wohlgeformtheit wird
kein Abgleich mit der DTD vorgenommen. Der
Parser versucht hier lediglich die Baum-Struktur
des Dokumentes zu ermitteln.
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Wohlgeformtheit
Für wohlgeformte Dokumente gelten folgende
Kriterien:
Leere Elemente wie <br> oder <hr> brauchen
ein
Ende-Tag, also <br></br> oder <br />
Alle Attributwerte stehen in Anführungszeichen
Die Elemente sind sauber verschachtelt
102
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
-Peter‘s XML Editor (Freeware)
www.iol.ie/~pxe/download.html
-Macromedia Dreamweaver, Macromedia
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Editoren
Homesite,
Adobe Golive (eigentlich HTML-Editoren, jetzt mit XML
Funktion)
- Xmetal (www.xmetal.com)
-XML-Editor Suite (www.morphon.com)
-XML Spy Suite (www.altova.com)
103
Dipl.-Dok. R. Offer
XML - Extensible Markup Language
-XML Writer www.xmlwriter.net
-Extensibility (www.tibco.com)
(Content Management System)
XML
FH Köln - Fakultät für Informations- und
Kommunikationswissenschaft
Editoren
- Team Site (www.interwoven.com)
(Content Management System)
104
Dipl.-Dok. R. Offer