XML
-
Upload
olga-ratliff -
Category
Documents
-
view
30 -
download
1
description
Transcript of XML
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML
Einführungskurs
Referentin: Dipl.-Dok. Rusalka Offer
FH Köln – Fakultät für Informations- und Kommunikationswissenschaft
2
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
Folie 103 - 104
Folie 31 -33
Ziele von XMLFolie 9
Allgemeines zu XMLFolie 6-8
Eigenschaften von XML
Folie 34 -56
Element-Typ-Deklarationen; InhaltsmodelleFolie 57 –
77Attribut-Typ-Deklartationen
Folie 78 - 93
Entity-Deklarationen
Folie 10-12 Folie 13 -15 XML und
HTMLFolie 16-19 Parser, Auszeichnungsarten, Beispiel
Folie 20 -27 PrologFolie 28 -30
Folie 95 -102Notation-Deklarationen, Marked Sections etc
Editoren
Allgemeines zu DTDs
Deklarationsarten und Namensregeln
3
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
•XML – Why learn XML ?
Beiträge aus der XML4lib –Liste:
““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.“
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 understandthe relationships of standards like RDF, METS, DC, TEI, etc. and what to do with them.
4
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
•XML – Why learn XML ?
Beiträge aus der XML4lib –Liste:
“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. “
“Most importantly, XSLT is fun! “
In the wider University front, XML is increasingly being used as apublishing 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.
5
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
•XML – Why learn XML ?
Beiträge aus der XML4lib –Liste:
“We recently used our XML skills to cosmetically alter the presentation of web pages within a vendor product, Fretwell-Downing'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. “
6
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
XML und sein Umfeld (1)
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]
7
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
XML und sein Umfeld (2)
- 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 XML- Dokumenten] -XML Protocol (Entwurf Dez. 2001) [XMLP, Protokoll für XML-Anwendungen]
8
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Allgemeines:
System- und Anwendungsunabhängiges Datenformat
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
9
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Ziele:
XML soll eine universelle Sprache für: -Datenaustausch,-Retrieval-Datenverwaltung
XML soll nutzbar für / über das Internet seinXML soll viele Applikationen unterstützenXML soll kompatibel mit SGML sein. XML-Dokumente sollten einfach zu erstellen sein Ursprünglich HTML - Alternative
10
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Eigenschaften von XML
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>
11
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Eigenschaften von XML
XML ist eine Metasprache, mit der Dokumenttypen definiert werden könnenTags und Attribute werden vorher in einer Document Type Definition (DTD) oder einem Schema festgelegt Auch ohne eine DTD / ein Schema kann ein XML- Dokument gelesen werden, wenn es spezielle Kriterien erfüllt
12
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Eigenschaften von XML
XML ist eine echte Untermenge von SGML - gültige XML-Dokumente sind gültige SGML
Dokumente
XML ist einfacher anzuwenden und zu implementieren als SGML (Vergleich SGML-Spezifikation 500 S. XML- Spezifikation 26 S.)
13
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language XML und HTML (1)
XML hat im Gegensatz zu HTML keine fest definierte Menge von Tags und Attributen
HTML-Dokumente können auch gültige XML- Dokumente 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
14
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
XML und HTML (2)
Alle Attributwerte stehen in Anführungszeichen
Es gibt keine leeren Tags, auch leere Elemente brauchen ein Ende-Tag: entweder <br></br> oder <br />
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
15
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
XML und HTML (3)
XML-Dokumente müssen wohlgeformt sein (well-formed)
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
16
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Parser
XML-Parser sind Programme, die XML-Dokumente Stück für Stück lesen und überprüfen
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
17
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Parser
Ein Parser erstellt einen Baum, in dem die Abhängigkeiten der Elemente erkennbar werden und unterstützt so Anwendungsprogramme
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
18
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Auszeichnungsarten in XML
XML-Dokumente bestehen immer aus Inhalt (content) und Auszeichnung (markup). Es gibt sechs verschiedene Arten von Auszeichnung:
elementsentity referencescommentsprocessing instructionsmarked sectionsDTDs (document type definitions)
19
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
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>
20
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
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.
Beispiel:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
21
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Prolog - Erläuterung
<?xml
Tags, die mit einem Fragezeichen eingeleitet und abgeschlossen werden stellen eine sogenannte Processing Instruction (PI) dar. Sie aktivieren den Parser zur Verarbeitung der Instruktionen im XML- Dokument
22
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Prolog - Erläuterung
version="1.0"
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
23
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Prolog - Erläuterung
encoding="UTF-8"
Die XML - Prozessoren müssen die Unicode-Codierungen 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).
24
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Prolog - Erläuterung
standalone="yes"
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 Syntax-Regeln als “wohlgeformt" gelten und von einem XML-fähigen Browser darstellbar sein.Der Wert “no“ gibt an, dass eine DTD vorhanden ist.
25
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Prolog - Erläuterung
Beispiel:
<?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
26
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Prolog - Erläuterung
<!DOCTYPE Adressbuch SYSTEM "adress.dtd">
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
27
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Prolog - Erläuterung
<!DOCTYPE Adressbuch SYSTEM "adress.dtd">
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
28
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
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 XML-Dokument.
29
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Allgemeines zu DTDs (Document Type Definitons)
Eine DTD ist die Grammatik für das XML-Dokument, sie bestimmt welche Tags und Attribute für das jeweilige Dokument gültig ist
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
30
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
Allgemeines zu DTDs (Document Type Definitons)
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-Dokumente ohne DTD müssen den Kriterien der Wohlgeformtheit entsprechen
Eine DTD wird unter Verwendung einer formalen Grammatik notiert, der Extended Backus-Naur Form (EBNF)
31
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
einige Vorüberlegungen zur Erstellung einer DTD:
Welches sind die abzubildenden Dokumente bzw. Dokumentarten / Dokumenttypen und welche typische Struktur haben sie?
Welche Ziele werden verfolgt? Datenaustausch, Recherche, Ausgabe etcWelche Software (Datenbank, Dokumenten- managementsystem etc) wird verwendet
32
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten
Innerhalb einer DTD kann es folgende Arten von Deklarationen geben:
Element Type DeclarationsAttribute List DeclarationsEntity DeclarationsNotation Declarations
33
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationen: Namensregeln
Für Namen in einer DTD gelten folgende Regeln:
Die Zeichenfolge XML ist reserviert und darf nicht als Namensanfang verwendet werdenNamen 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 Sonderzeichen verzichtenGroß- und Kleinschreibung ist relevant
34
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup LanguageDTD: Deklarationsarten: Element Type Declarations
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 Inhaltsmodell festgelegt
35
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations:Inhaltsmodelle
Folgende Inhaltmodelle existieren für Elemente:
Gruppen: Der Elementinhalt besteht aus Kindelementen / Subelementen. Das Auftreten der Kindelemente kann durch Operatoren bestimmt werden
36
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations:Inhaltsmodelle
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
37
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations:Inhaltsmodelle
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>
38
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations:Inhaltsmodelle: Operatoren
Die Reihenfolge und das Auftreten von Kind- elementen 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)
39
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations:Inhaltsmodelle: Operatoren
Mengenoperatoren: Beispiele
<!ELEMENT Adressbuch (Person+)> Einmaliges oder mehrmaliges Auftreten des Elementes Person
<!ELEMENT Adressbuch (Person*)> Element Person kann kein oder mehrmals (also beliebig oft) auftreten
40
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations:Inhaltsmodelle: Operatoren
Strukturoperatoren: Beispiele
<!ELEMENT Adressbuch (Person | Mensch)> Element Person oder Element Mensch kann auftreten (Bildung von Alternativen)
41
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations:Inhaltsmodelle: Operatoren
Strukturoperatoren: Beispiele
<!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
42
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele
Eine typische Deklaration sieht so aus:
<!ELEMENT Adressbuch (Person+)> <!ELEMENT Person (Name, Email*)><!ELEMENT Name (Nachname, Vorname)><!ELEMENT Nachname (#PCDATA)><!ELEMENT Vorname (#PCDATA)><!ELEMENT Email (#PCDATA)>
43
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele: Erläuterung
Eine Element-Typ-Deklaration beginnt immer mit <!ELEMENT , danach wird der Name des Elementtyps angegeben anschließt folgt das Inhaltsmodell (''content model'').
44
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele: Erläuterung <!ELEMENT Adressbuch (Person+)>
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.
45
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele: Erläuterung
<!ELEMENT Person (Name, Email*)>
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.
46
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele: Erläuterung
<!ELEMENT Name (Nachname, Vorname)>
Die dritte Deklaration bestimmt das Element Name. Das Element Name besteht aus Nachname und Vorname, die jeweils genau einmal vorkommen dürfen.
47
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele: Erläuterung
<!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.
48
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname, Adresse, Telefon, Email, Firma)>
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.
49
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele:
<!ELEMENT Person (Nachname | Vorname | Adresse | Telefon | Email | Firma)>
Bei dieser Deklaration wird eine ausschließliche Oder-Vernüpfung gebildet: nur eines der Elemente darf als Unter-Element auftauchen.
50
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname, Adresse, Telefon, Email, Firma)*>
Der Stern hinter der Aufzählung bewirkt, dass die Elemente in beliebiger Reihenfolge vorkommen können.
51
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname, Adresse, Telefon*, Email, Firma)>
Der Stern hinter dem Unter-Element Telefon, bewirkt, dass dieses Unter-Element beliebig oft auf treten darf
52
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname, Adresse, Telefon*, Email, Firma?)>
Das Fragezeichen hinter Firma bewirkt, dass dieses Unter-Element einmal aber auch gar nicht vorkommen darf.
53
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname, Adresse, Telefon*, Email+, Firma?)>
Da Pluszeichen hinter Email bewirkt, dass dieses Unter-Element einmal oder mehrere Male vorkommen darf.
54
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele:
<!ELEMENT Person (Nachname, Vorname+, Adresse, Firma?, (Telefon | Email))>
Auch Klammerung ist möglich.
Die Strukturoperatoren sind somit untereinander und bzgl. der Mengenoperatoren orthogonal anwendbar.
55
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele:
Der Inhalt eines Elements kann also aus Daten, aus Unterelementen oder beiden bestehen. Wenn diese Mischform aus PCDATA und Unter-Elementen verwendet wird, ist eine feste Form vorgeschrieben:
<!ELEMENT P(#PCDATA | ul | ol | dl | img | a)*>
56
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Element Type Declarations: Beispiele:
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.
57
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Allgemeines
Attribute werden verwendet, um Elemente genauer zu beschreiben
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.
58
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Allgemeines
Zur Attributdeklaration gehört der Elementname sowie eine Angabe zum Attributtyp und zum Default-Wert
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?
59
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Beispiel
<!ATTLIST Person Gender (male | female) #implied>
Jede Attributdeklaration besteht aus drei Teilen:
Einen zug. Elementennamen (Name, hier Person)
einem Typ (Type, hier Gender) und einem
Standardwert (default value, hier alternativ male oder female).
60
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen
Man kann die Attributtypen grob in drei Gruppen unterteilen
Zeichenketten CDATA: Strings, jeder Text ist zugelassen, angegeben durch CDATA
Aufzählungstypen (enumerated type): es wird eine Liste der möglichen Werte vorgegeben ist
61
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen
Token-Typen: mehrere vordefinierte Attributtypen (ID, IDREF, IDREFS, NMTOKEN, NMTOKENS, NOTATION, NOTATIONS, ENTITY, ENTITIES)
62
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Standardattributvorgaben
Manche Attribute sollen obligatorisch gesetzt werden, andere nicht. Dafür werden bestimmte Attributvorgaben genutzt.
#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 ohne einen Wert fortfahren
63
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Standardattributvorgaben
''<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 es vorkommt, muss es den spezifizierten Wert enthalten.
64
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Beispiele
<!ATTLIST Form Method CDATA #FIXED ''Post''>
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ß.
65
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Beispiele
<!ATTLIST Person Name CDATA #IMPLIED>
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 (Aufzählungstyp) ist. Default-Wert ist female.
66
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen: CDATA
ZeichenkettenMit 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>
67
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen: enumerated type
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.
68
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen: Token Typen
Token-Typen:
ID
IDREF, IDREFS
NMTOKEN, NMTOKENS
NOTATION, NOTATIONS
ENTITY, ENTITIES
69
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen: Token-Typen: ID
Token-Typen:
ID
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.
70
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen:Token-Typen: ID
Beispiel:
<!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.
71
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen:Token-Typen: IDREF, IDREFS IDREF, IDREFSDer 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 IDREF-Attribut 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
72
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen:Token-Typen: IDREF, IDREFS
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>
73
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen:Token-Typen: NMTOKEN, NMTOKENS
NMTOKEN-Attribute sind eine restriktive Form von String-Attributen Der Wert ist ähnlich aufgebaut wie bei CDATA- Attributen, 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 NMTOKEN- Werte, die durch Leerzeichen getrennt werden.
74
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen:Token-Typen: NOTATION, NOTATIONS
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>
75
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen:Token-Typen: ENTITY, ENTITIES
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 XML-Dokument verwendet werden. Entities können z.B. auch deklariert werden , um sich Schreibarbeit zu ersparen.
76
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen:Token-Typen: ENTITY, ENTITIES
Man kann z.B. folgendes (interne) Entity deklarieren:
<!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.
77
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Attribute-List Declarations: Attributtypen:Token-Typen: ENTITY, ENTITIES 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>
78
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations
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.
79
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations
Man unterscheidet mehrere Arten von ENTITIES:
allgemeine Entities und Parameter Entities
geparste und nicht geparste Entities
interne und externe Entities
80
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Allgemeine Entitity-Deklaration
Allgemeine / generelle Entitäten werden als Text- Konstanten benutzt. 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.
81
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Parameter Entity-Deklaration
Die Deklaration eines Parameter-Entities gleicht der eines allgemeinen Entities
Dem Kürzel wird noch ein Prozentzeichen vorangestellt.
Der Aufruf erfolgt auch vorangestelltem Prozentzeichen (%)
Der Parser setzt dann den definierten Inhalt ein
82
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Parameter Entity-Deklaration
Unterschied zwischen allgemeinen Entities und Parameter Entities:
allgemeine Entities werden im XML-Dokument verwendet
Parameter Entites werden nur innerhalbvon DTDs zur Verkürzung der Syntax verwendet, bzw. um Konstanten zu bilden.
83
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Parameter Entity-Deklaration
Beispiel:
<!ENTITY %headings "H1|H2|H3|H4|H5|H6">
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 Body-Tags.
84
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Parameter Entity-Deklaration
Beispiel: Aufruf eines Parameter-Entities <! ELEMENT body (%headings;| P| HR)*>
Hier wird definiert, dass das Body-Tag die Elemente, die im Entity %headings; ''verborgen'' sind sowie P und HR enthalten darf.
85
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Geparste Entities
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.
86
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Nichtgeparste Entities
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 Notationen-Deklaration)
87
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Nichtgeparste Entities
nicht geparste Entities stellen eine gute Möglichkeit dar, Nicht-XML-Daten zu berücksichtigen
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.
88
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Nichtgeparste Entities
Beispiel:<!ENTITY logo SYSTEM "/bild/logo.gif" NDATA GIF>
<!ELEMENT grafik EMPTY>
<!ATTLIST grafik src ENTITY #REQUIRED>
Aufruf:<p>Das neue Logo<grafik src=“logo“ /> steht hier </p>
89
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Interne Entities
Ein internes Entity ist ein Entity, dessen Inhalt in einer Entity-Deklaration bestimmt wird.
Beispiel
<!ENTITY JS ”Javascript">
Alle internen Entities sind geparste Entities!
90
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Interne Entities
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:
< linke spitze Klammer (<). > rechte spitze Klammer (>). & Kaufmanns-Und (&). ' Hochkomma ( ' ). " Anführungszeichen ( " ).
91
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Externe Entities
Externen Entities sind Teile eines XML-Dokumentes die ausserhab des Dokumentes liegen und referenziert und geparst werden.
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 referenzierende Dokument gültig ist.
92
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Externe Entities
Externe Entities dürfen nur im Dokument selber oder als Inhalt eines allgemeinen (internen) Entities referenziert werden (z.B. &fbi;)
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">
93
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations: Externe Entities
Externe Entities können auch als externe Parameter Entities vorkommen
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">
94
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Entity Declarations
Gebräuchlich sind auch folgende Entity-Bezeichnungen, die sich alle aus den behandelten Entitiy - Gruppen ableiten lassen
interne Parameter Entities externe Parameter Entities interne generelle Entities externe generelle geparste Entities externe generelle nicht-geparste Entities vordefinierte Entities
95
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Notation Declarations
Notationen-Deklarationen liefern Informationen über den Namen und das Format von Nicht-XML- Daten wie Graphiken, Text-Files etc.
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 XML- Anwendung ein definiertes Hilfsprogramm aufzurufen
96
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language
DTD: Deklarationsarten: Notation Declarations
Nach dem Namen der Notation wird das Schlüsselwort SYSTEM notiert
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">
97
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup LanguageMarkierte Bereiche: CDATA - Sections
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.
Beispiel<![CDATA[ 50*10>100 ]]>
98
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup LanguageMarkierte Bereiche: Conditional - Sections
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.
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 Berücksichtung von Deklarationsabschnitten einfach ändern
99
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup LanguageMarkierte Bereiche: Conditional - Sections
Beispiel:
<! ENTITY % offiziell “INCLUDE“>
<! [%offiziell;[<! ELEMENT brief (Datum, Anschrift) >]] >
100
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup LanguageKommentare
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.
101
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language Gültigkeit
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.
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.
102
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language Wohlgeformtheit
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.
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ührungszeichenDie Elemente sind sauber verschachtelt
103
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language Editoren
-Peter‘s XML Editor (Freeware) www.iol.ie/~pxe/download.html
-Macromedia Dreamweaver, Macromedia 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)
104
XM
L
Dipl.-Dok. R. Offer
F
H K
öln
- F
akult
ät
für
Info
rmati
ons-
und
Kom
munik
ati
onsw
isse
nsc
haft
XML - Extensible Markup Language Editoren
-XML Writer www.xmlwriter.net
-Extensibility (www.tibco.com) (Content Management System)
- Team Site (www.interwoven.com) (Content Management System)