XML

Werbung
Kodierung strukturierter Dokumente im Web
— XML —
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 1
Aufgaben
Zum Modell der strukturierten Dokumente
o Aufgabe 1: Definieren Sie das Modell der strukturierten
Dokumente.
o Aufgabe 2: Beschreiben Sie strukturierte Dokumente
in Baumterminologie.
o Aufgabe 3: Wozu wurde das Modell der strukturierten
Dokumente eingeführt?
o Aufgabe 4: Wie werden strukturierte Dokumente
in XML kodiert? Erläutern Sie dazu auch den Begriff
„eingebettetes Markup“.
o Aufgabe 5: Nennen Sie mindestens drei Vorteile
des Modells der strukturierten Dokumente.
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 2
Lösung zu Aufgabe 1
o
o
In strukturierten Dokumenten werden Inhalt und logische
Struktur explizit repräsentiert, nicht jedoch Vorgaben
zum Präsentationsformat.
Die Vorgaben zum Format und eventuelle weitere
Bearbeitungsvorschriften werden separat vom Dokument
gehalten und sind somit austauschbar und mehrfach
anwendbar.
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 3
Lösung zu Aufgabe 2
o
o
o
Dokument als Baum von Knoten
[../../xmlSamples/compBookModel.pdf]
Knoten
o benannt, optional mit Attributierung
[Elementknoten, für Strukturelemente]
o anonym, mit Stringwert (nur bei Blättern)
[Textknoten, für Inhaltstext]
Attributierung: Menge von Schlüssel-Wert-Paaren
o Schlüssel sind Namen
o Werte haben Typ
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 4
Lösung zu Aufgabe 3
o
o
Das Modell der strukturierten Dokumente wurde
ursprünglich im Verlagswesen und in der technischen
Dokumentation eingeführt, um Erstellung und Verwaltung
von Dokumenten von ihrer Präsentation zu trennen.
Es hat sich dann auch pragmatisch als geeignet
herausgestellt, um die Anforderungen moderner
Dokumente zu erfüllen, nämlich sie in sinnvoller
semantischer Tiefe automatisch interpretieren
zu können.
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 5
Lösung zu Aufgabe 4
o
o
o
Kodierung von strukturierten Dokumenten als Textstring,
bestehend aus dem Inhaltstext und eingebettetem Markup
für Strukturelemente
Syntaktische Trennung zwischen Inhaltstext und Markup
An Anfang und Ende des Ausdehnungsbereich eines
Strukturelements Markierung durch Tags
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 6
Lösung zu Aufgabe 5
o
o
o
o
In strukturierten Dokumente ist semantische Information
explizit kodiert; verarbeitende Programme können diese
semantische Information ausnutzen.
Strukturierte Dokumente können durch Stylesheets
einheitlich formatiert werden
(innerhalb von Dokumenten, über Dokumentgrenzen hinweg).
Strukturierte Dokumente können durch Kombination mit
geeigneten Stylesheets über unterschiedliche Kanäle
angeboten werden.
Strukturierte Dokumente unterstützen Funktionen
der Dokumentenverwaltung
(Nummerierungen, Verzeichnisse)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 7
Wiederholung …
Dokumentenmodell: Modell der strukturierten Dokumente
o explizite Repräsentation von textuellem Inhalt und
(logischer) Struktur (Annotation von Textbereichen mit
semantisch bedeutsamer Metainformation)
Z Dokumente als computerbearbeitbare Daten
Inhalt und Struktur für sich alleine von intelligenten
Anwendungen nutzbar
Kombinierbarkeit mit separaten Bearbeitungsvorschriften
o separate, auswechselbare Formatvorlage (Stylesheet)
Format aus beiden zusammen berechenbar
Z multi-channel, cross-media Publishing
(eine Quelle, viele Präsentationen)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 8
Drehscheibencharakter strukturierter Dokumente
.xml
RDMS
.gif
.doc
str.Dok
.html
.rtf
.html
.pdf
.doc
.xml
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
.wml
30.Oktober / 6.November 2006 ― 9
… Wiederholung …
o
o
Grenzen: Genre, Diskurs
(http://jodi.tamu.edu/Articles/v03/i01/Hillesund)
Konkretisierung: Inhalt und Struktur im Modell der
strukturierten Dokumente
o hierarchische Struktur (Baumstruktur) von Elementen
(mit Attributen) über Inhaltstext
o linearisierte Repräsentation als Zeichenstrom
(eingebettetes Markup): Einbettung von Anfangs- und
Endemarkierungen für Elementgrenzen (Markup) in
Form von öffnenden und schließendenTags in den
Inhaltstext (Character data)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 10
… Wiederholung
o
o
o
Anforderung: anwendungsspezifische Markup-Sprachen
(Namen von Elementen und Attributen, Typen)
Anforderung: Verbindlichkeit des Vokabulars
durch formale Definition von Markup-Sprachen über
Strukturvorgaben, Validierbarkeit von Dokumenten.
Anders ausgedrückt: Modellierung von Klassen von
Dokumenten
Methode (SGML/XML): Dokumentengrammatik oder
Document Type Definition (DTD), legt Vokabular und
mögliche Reihenfolgen und Schachtelungen von Elementen
fest
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 11
XML (Extensible Markup Language) am Beispiel
o
o
o
o
o
Dokumentenformat des W3C für Webdokumente
Markupsprache: Markiert Textbereiche an Anfang und
Ende mit Tags (attributierte Elemente):
../../compProp/Konzept.xml, ../../compProp
Tag-Syntax wie bei HTML: <eName aName="…">…</eName>
Freies Vokabular für Elementnamen und Attributnamen,
formal definierbar in Document Type Definition (DTD):
../.. /compProp/Konzept.dtd
Formatierung von XML-Dokumenten:
../../compProp/KonzeptXML.css
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 12
Erster Steckbrief für XML …
o
o
o
HTML mit freien Elementen, Attributen, Referenzen
Z XML (ohne DTDs)
XML als Syntax für strukturierte Dokumente
und Markupsprachen
(Sprache für strukturierte Dokumente)
Standardisiertes allgemeines Format für moderne Dokumente
(Kodierung von Text und semantischen Rollen)
XML-Anwendung, Markupsprache:
spezifisches Vokabular/Format für spezifische Anwendungen
Beispiele: XHTML, MathML, CML, Persistente Objektrepräsentation
(Java), B2B (EDI), ECommerce (OTP), Topic Map Markup Language,
XSL-FO, Konfigurationen, Metadaten
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 13
… Erster Steckbrief für XML
o
o
o
Durch Strukturvorgabe (DTD) Markupsprache formal
definierbar und verifizierbar: Standardisiertes Format für
Definition spezifischer Formate
(Metasprache für Markupsprachen)
Wohlgeformtheit und Validität
Portabilität
Satellitenstandards:
Dokumentenmodell, Strukturvorgaben, Stylesheets,
Hypertextlinks, Transformation, Abfragesprachen,
Formularbeschreibung, APIs für Programmiersprachen,
Data Binding
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 14
XML als Erbe von SGML
o
SGML = Standard Generalized Markup Language
o
Beide: Sprachen zur syntaktischen Repräsentation von
strukturierten Dokumenten und ihren Strukturvorgaben
Beide: Metasprachen zur Definition von Markup-Sprachen
SGML: Im Verlagswesen und in der Dokumentation großer
Systeme von Bedeutung, Praxis-Einsatz und SoftwareEntwicklung schlecht
XML = Extensible Markup Language
o
o
o
ISO-Standard 8879 seit 1986
W3C-Standard Version 1.0 vom 10.2.1998 (inzwischen dritte Auflage)
W3C-Standard Version 1.1 vom 4.2.2004
Vereinfachte Fassung von SGML für das Web
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 15
XML-Syntax: Dokument (Instanz) …
o
o
o
o
o
XML-Deklaration
<?xml version="1.0" encoding="" standalone=""?>
Element mit Attributen
<eName aName1="w1" … aNamex="wx">
Element-Inhalt
</eName>
<eName aName1='w1' … aNamex='wx'/>
Einschränkungen zu Alphabet (alphanumerisch plus '-', '_', '.',
':') und Syntax für Namen (Elemente, Attribute etc.)
Ausschluß bestimmter Funktionszeichen für Attributwerte
und textuellen Inhalt
Mixed Content (erzählerische Dokumente, Daten)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 16
… XML-Syntax: Dokument (Instanz)
o
Zeichen: Attributwerte und textueller Inhalt
o Direkte Code-Position
o
o
o
Character Reference
&#Dezimalzahl; oder &#xHexzahl;
o Vordefinierte Entity References für Funktionszeichen:
<, >, &, ', "
o Deklarierte Entity References
CDATA Section
<![CDATA[InhaltOhne']]>']]>
Markup im Innern einer CDATA Section wird nicht
erkannt; nicht schachtelungsfähig
White Space
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 17
XML-Syntax: DTD …
o
o
o
Deklaration der DTD: Internes und externes Subset
<!DOCTYPE Name SYSTEM "URI">
<!DOCTYPE Name [Deklarationen]>
<!DOCTYPE Name SYSTEM "URI" [Deklarationen]>
Deklaration für Element:
<!ELEMENT Name ContentModel>
Content Model: Element Content
EMPTY, ANY
Ausdruck über Elementnamen mit Operatoren ,|?+*,
Content Model: Mixed Content
Ausdruck (#PCDATA),
Ausdruck (#PCDATA | N1 | ... | Nx)*
Eindeutigkeit von Inhaltsmodellen (Forschungsarbeiten)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 18
… XML-Syntax: DTD
o
o
o
o
o
Deklaration für Attributliste
<!ATTLIST Name N1 W1 D1 … Nx Wx Dx>
(Elementname, Attributname, Wertebereich, Defaultregel)
Wertebereiche
CDATA, ID, IDREF, (v1, … ,vn), ENTITY
Defaultregelungen
#REQUIRED, #IMPLIED, v, #FIXED v
Einsatz von Defaultwerten durch Parser
Kommentar (nicht schachtelungsfähig), auch in Instanz
<!--KommentartextOhne'--'-->
Prozessor-Anweisung, auch in Instanz
<?Name≠”XML” AnweisungOhne'?>'?>
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 19
XML und XML-Modelle am Beispiel …
o
o
Formatiertes Dokument [../../xmlSamples/compBook.pdf]
in XML-Kodierung [../../xmlSamples/compBook.xml]
(semantisch reich, normalisiert, bearbeitbar)
und als Baummodell [../../xmlSamples/compBookModel.pdf]
Allgemein: Baummodell für strukturierte Dokumente
o
o
Baum von Knoten
o benannt, optional mit Attributierung
[Elementknoten, für Strukturelemente]
o anonym, mit Stringwert (nur bei Blättern)
[Textknoten, für Inhaltstext]
Attributierung: Menge von Schlüssel-Wert-Paaren
o Schlüssel sind Namen
o Werte haben Typ
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 20
… XML und XML-Modelle am Beispiel …
o
Visualisierung des Baummodells für Dokumente
o Knoten als Ellipsen, Eltern-Kind-Beziehung als Linien
(von oben nach unten oder von links nach rechts)
o Namen für Elemente im Knoten
o anonyme Knoten mit Schlüsselwort #Text im Knoten,
Text in Anführungszeichen am Knoten
o Attribute als Tabelle am Knoten
(1. Spalte: Attributname, 2. Spalte: Attributwert)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 21
… XML und XML-Modelle am Beispiel
o
o
XML-DTD [../../xmlSamples/book.dtd]
als Baummodell [../../xmlSamples/bookModel.pdf]
Verallgemeinerung für Strukturvorgaben (DTDs)
o
o
o
o
Namen für Elemente bzw. Schlüsselwort #Text
im Knoten
Verbindungen zwischen Element und den Bestandteilen
seines Inhaltsmodells am Platz, aber ohne Wiederholungen
[Spezialfall Russian Doll, wenn jedes Element nur einmal
referenziert wird; insbesondere dann keine Rekursion]
unterschiedliche Verbindungen je nach Operator
Attribute als Tabelle am Knoten
(1. Spalte: Attributname, 2. Spalte: Attributtyp)
Fragezeichen an Verbindung zwischen Knoten und Attribut für
optionale Attribute
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 22
Wohlgeformtheit und Validität
o
o
XML-Dokumente müssen wohlgeformt sein
(Überprüfung durch alle Parser, auch nicht-validierende)
o DTD optional
o korrekte Klammerung
o keine mehrfachen Attribute in Elementen
Zusätzlich: Validität (Überprüfung durch validierende Parser)
o Referenzen definiert (nächste Stunde: Entities)
o Instanz erfüllt Deklarationen von Elementen und
Attributen (Typen, Defaults)
o validierender Parser setzt Defaultwerte ein und erkennt
Attributtypen wie ID und ENTITY
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 23
XML-Konzept: Entities …
Doppelfunktion DTDs
o Strukturvorgabe
o
o
o
o
Festlegung eines Vokabulars von Element- und Attributnamen und
ihren Verwendungsweisen
Regeln für Aufbau der logischen Struktur von XML-Dokumenten
mit Elementen und Attributen (Instanzen)
Verbindlichkeit und Überprüfbarkeit
Festlegung der Komponenten eines XML-Dokuments,
aus denen es physisch zusammengesetzt ist
(physische Struktur)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 24
… XML-Konzept: Entities …
o
o
o
o
o
o
XML-Dokumente sind physisch in Entities organisiert
(Entity als Speichereinheit)
Gesamtes Dokument bildet eine Entity
inkludiert untergeordnete Entities durch Entity-Referenz
Beispiele für Entity-Referenzen: ä %KonzeptLog;
Entities müssen in der DTD definiert werden:
der Name wird an seinen Ersetzungstext gebunden
Expansion: Auflösen von Entity-Referenzen
Anders als bei HTML nur sehr wenige
vordefinierte Entities (für Funktionssymbole):
& < > " '
Entities als Makro-Mechanismus
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 25
… XML-Konzept: Entities …
o
Modularisierung
o
Anpassbarkeit
o
Wiederverwendbarkeit
o
Plattformunabhängigkeit
o
o
o
Aufteilen großer Dokumente; z.B. Buch in Kapitel
Abgestufter Gültigkeitsbereich (DTDs): intern, firmenweit, global
explizite Benennung, Redundanzvermeidung (z.B. HTML)
o
o
Überschreiben von Definitionen in DTDs
DokBook: DTD von OASIS für technische Dokumentation
o
o
Abkürzungen (Sonderzeichen, Textbausteine)
Teildokumente (Logos, DTDs)
o
Kapselung des Speicherorts für Ersetzungstext an Definitionsort
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 26
… XML-Konzept: Entities
o
o
Ersetzungstext einer Entity kann intern (innerhalb der
Deklaration der Entity) oder extern definiert werden; bei
einer externen Definition wird eine Ressource
(beispielsweise ein Dateiname) angegeben, die den
Ersetzungstext enthält (Speicherort für Speichereinheit)
Orthogonal zwei Typen von Entities
o General Entity: Expansion in Instanz
o Parameter Entity: Expansion in DTD
Vorteil: Getrennte Namensräume, Verbergen des
Namensraums für DTD-interne Entitäten (Transparenz)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 27
XML-Syntax: Entities …
o
Generelle Entities: in DTD deklariert, in Instanz verwendet
Beispiele für Deklaration interner genereller Entity
<!ENTITY AHK 'Alles für Hund und Katze'>
<!ENTITY AHK 'Alles für Hund & Katze'>
Beispiele für Deklaration externer genereller Entity
<!ENTITY AHK SYSTEM 'ahk.ent'>
<!ENTITY AHK PUBLIC '-//TSV//Firma AHK//DE'
'ahk.ent'>
Verwendung in Dokumenteninstanz (Text und Attributwerte)
&AHK;
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 28
… XML-Syntax: Entities
o
Parameter-Entities: in DTD deklariert, in DTD verwendet
Beispiele für Deklaration interner Parameter-Entity
<!ENTITY % text ´(#PCDATA | emph)*´>
Beispiele für Deklaration externer Parameter-Entity
<!ENTITY % text SYSTEM 'text.dtd'>
<!ENTITY % text
PUBLIC ´-//Springer//Text DTD//DE´
'text.dtd'>
Verwendung in DTD
<!ELEMENT para %text;>
<!ELEMENT quote %text;>
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 29
Customizing DTDs
o
o
o
DocBook DTD für technische Dokumentation (OASIS)
Ziel: Erweiterung, Wiederverwendbarkeit, Anpassbarkeit
Mittel: Extensive Verwendung von Parameter-Entitäten
o
Methoden in DocBook
o
o
Entitäten in einer DTD mehrfach definierbar
erste Definition “zählt” (überschreibt spätere)
o
o
Aufteilung der DTD in Module, die nach Bedarf genutzt werden
Typisierung der Elemente: Metadaten, Gliederungselemente,
Informationsbausteine, Informationsschnipsel, dann Klassenbildung
(Klasse aller Listenarten etc.) über Parameter-Entitäten mit leeren
“Aufhängern” für lokale Erweiterungen
kleinere Module und einzelne Elemente mit Möglichkeit zur
Inklusion/Exklusion (marked section)
o
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 30
XML-Syntax: Entities für Fremddaten …
Fremddaten über Attribute vom Typ ENTITY assoziieren
o Assoziation durch Attribut vom Typ ENTITY mit dem
Namen der zu referenzierenden Entity als Wert
(Indirektion über dokumenteninternen Namen)
o Notation (Datentyp)
<!NOTATION Name SYSTEM SystemID>
<!NOTATION Name PUBLIC PublicID>
o Entity-Deklaration mit Notation
<!ENTITY EName SYSTEM DName NDATA NName>
(Binden des externen Namens an internen Namen,
Vereinbarung des Datentyps der Fremddaten)
Tutorial aus Praktikum XML-Technologie SS 2005
(..\..\Tutorielles\FremddatenEntities.pdf)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 31
… XML-Syntax: Entities für Fremddaten …
o
o
o
o
Beispiel
<!ELEMENT figure EMPTY>
<!ATTLIST figure src ENTITY #REQUIRED>
<!NOTATION gif SYSTEM "GIF">
<!ENTITY fig1 SYSTEM "fig2.gif" NDATA "gif">
<figure src="fig1"/>
Aufruf der Fremddaten mit Attribut vom Typ ENTITY
Voraussetzungen
o
o
o
Deklaration des Attributs als vom Typ ENTITY
Deklaration der Entity als Fremddatentyp (Notation)
Deklaration der Notation
Anwendung im Computer-Propädeutikum (..\..\compProp)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 32
… XML-Syntax: Entities für Fremddaten
Zusammenfassung
o Standardisierte Assoziation von Fremddaten, nicht Import
Behandlung der Assoziation durch Anwendungssysteme
o Spiel mit Namen
Kapselung der Plattformabhängigkeiten
o Empfehlenswert: Aufteilung in dokumentinterne und
externe Teile der DTD
o Benennung der Fremddaten
o Deklaration der Aufhängepunkte und Datentypen
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 33
Diskussion Syntax
o
o
o
"Flache" Syntaxdefinition: Abstraktion von Token für
lexikalische Analyse fehlt
o Alternative: xmlRulesRewritten.htm
o XMLLight für Instanzen: xmlLightI.htm
Physische und logische Struktur nicht in getrennten
Schichten (vgl. Präprozessoren für Makros in
Programmiersprachen)
Viele Nebenbedingungen
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 34
Konzeptionelles Modell für XML …
o
o
o
o
o
XML: Sprache, in der strukturierte Dokumente und ihre
Strukturvorgaben syntaktisch repräsentiert werden
Daten als Zeichenstrom unter bestimmten syntaktischen
Regeln, Überprüfung und Abstraktion durch Parser,
Datenmodell, APIs, Anwendungssysteme
In den Worten des XML-Standards: whatIsXML.htm
Wert liegt in Standardisierung durch W3C
und Adaption im Web
Konzeptionelles Modell für XML-Dokumente nur implizit,
nicht explizit (explizite konzeptionelle Beschreibung von
XML unter xmlMod.htm)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 35
… Konzeptuelles Modell für XML
Begriffe (../../Tutorielles/xmlMod.htm)
o Element
o Name oder Typ
o Attribut
o Name, Typ und Wert
o XML-Dokument
o XML-Instanz
o XML-DTD (Document Type Definition)
o Entitätenreferenz
o Zeichenreferenz
o Kommentar, Processing Instruction
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 36
Hausaufgabe (Abgabe Samstag, 11.11.2006)
Formalisieren Sie das konzeptionelle Modell von XML
in einem UML-Klassendiagramm
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 37
Formales Modell für XML
(1) GCSDocument ⊆ DocInstance × DocGrammar.
(2) DocInstance = DocSort × Attributes × Content.
(3) Attributes = Ffin(AttSort → AttValue ∪ Character* ∪ DocID).
(4) Content = (DocInstance ∪ Character)*.
(5) DocGrammar = ContentRules × AttRules.
(6) ContentRules = Ffin(DocSort → DocDomain).
(7) DocDomain = Reg(DocSort) ∪ RReg(Character,DocSort).
(8) AttRules =
Ffin(DocSort × AttSort → AttDomain).
(9) AttDomain = Pfin(AttValue) ∪ {String,ID,IDREF}.
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 38
XML-Parser …
o
o
Programme zur XML-Syntaxüberprüfung heißen
XML-Prozessoren oder Parser
Aufgaben eines Parsers
o
o
o
o
o
o
o
Syntaxüberprüfung (gegenüber XML-Grammatik)
Überprüfen der Wohlgeformtheit
Expansion von Referenzen
Einsetzen von Attributwerten
Validierung
Abstraktion von syntaktischem Zucker
und von Alternativen
Weitergabe der erforderlichen Information (APIs)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 39
… XML-Parser
o
Parser-Software Xerces von Apache XML unter
http://xml.apache.org/,
zum Beispiel als Java-Implementierung Xerces-J
o
o
o
xercesImpl.jar, xml-apis.jar und xercesSamples
im Classpath
Aufruf java sax.Counter [-v] XMLDocument
o
o
http://www.hcrc.ed.ac.uk/~richard/xml-check.html
http://www.stg.brown.edu/service/xmlvalid/
Online-Parser
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 40
XML-Browser
o
o
o
o
Microsoft Internet Explorer ab Version 5 zur Darstellung
von XML-Dokumenten, auch mit CSS-Stylesheets
Netscape Navigator ab Version 6 zur Darstellung von XMLDokumenten, nur mit CSS-Stylesheets
Anbindung eines Stylesheets mit Processing Instruction
<?xml-stylesheet
type="text/css" href="KonzeptXML.css"?>
[Associating Style Sheets with XML documents
W3C Recommendation 29 June 1999
http://www.w3.org/TR/xml-stylesheet]
Beispiel (..\..\compProp)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 41
XML-Status …
o
Definition und Umsetzung von Formaten für XML
o Stylesheet-Sprache CSS
Umsetzung durch XML/CSS-fähigen Browser
o Sprache XSLT zur Transformation von XML
o nach HTML
o nach XML (Anpassung der logischen Struktur)
o nach PDF (über Zwischenstufe)
Umsetzung durch Server oder Browser
mit XSLT-Prozessor
o mit XSLT auch andere Formate (z.B. LaTeX) erreichbar
Z XML dadurch operationabel für narrative Dokumente
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 42
… XML-Status …
o
o
Ergänzende Stylesheet- und Linking-Standards sowie
Schema-Sprachen, Query-Sprachen
Software-Unterstützung ordentlich
o Parser mit standardisierten APIs
o Editoren
o Document Management / Datenbank-Systeme
o XSLT-Prozessoren
o Browser
o Stylesheet-Unterstützung
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 43
… XML-Status
o
Situation im EP-Bereich: XML-Studie Börsenverein 2004
o
XML-Anwendungen (DTDs)
o MathML, CML, DocBook, TEI, XHTML
o Metadaten (auch Austauschformate) für
Kataloganwendungen: RDF, Dublin Core
o Authentifizierung, digitale Unterschriften
o Electronic Commerce: Open Trading Protocol, EDI
o Web Services: WSDL, SOAP
o Ontologien: OWL
o Content Syndication: RSS, ATOM
http://www.boersenverein.de/sixcms/media.php/686/AKEP_Branchenbarometer2004.pdf
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 44
Verhältnis SGML-XML-HTML-XHTML …
o
o
Jedes gültige (valid ) XML-Dokument ist ein gültiges SGMLDokument (nach leichter Anpassung des SGML-Standards)
XML-Dokumente können nur wohlgeformt sein
(well-formed ): nur eine vollständig geklammerte Instanz,
keine DTD oder keine Übereinstimmung
zwischen DTD und Instanz
SGML-Dokumente müssen immer DTD haben
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 45
… Verhältnis SGML-XML-HTML-XHTML …
o
o
o
HTML ist eine SGML-Anwendung; HTML ist über eine
SGML-DTD definiert
HTML-Dokumente sind keine gültigen XML-Dokumente,
aber Anpassung in Form von XHTML inzwischen vom W3C
verabschiedet
XHTML (Januar 2000), HTML4 als XML-DTD definiert
Richtlinien für Kompatibilität von XHTML-Dokumenten mit
heutigen Browsern unter
http://www.w3.org/TR/xhtml1/#guidelines
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 46
… Verhältnis SGML-XML-HTML-XHTML …
o
o
o
XML: freies Vokabular für Elemente, Attribute, Entitäten
HTML: festes Vokabular für Elemente, Attribute, Entitäten
XML: keine definierte Semantik für Sprachelemente
HTML: definierte Semantik, von Browsern verstanden
HTML hat liberalere Syntax als XHTML
o keine schließenden Tags bei leeren Elementen
o Attributwerte ohne Anführungszeichen
o Boolesche Attribute ohne Attributnamen
Definition von XHTML mit HTML-Vokabular, aber
strengerer XML-Syntax
(JTidy zur Konvertierung von HTML nach XHTML)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 47
… Verhältnis SGML-XML-HTML-XHTML
o
Einschränkungen/Änderungen von XML gegenüber SGML
o feste SGML-Deklaration
o explizite und vollständige Klammerung,
keine Markup-Minimierung in DTD
o Markierung <X/> für leeres Element X
o Einschränkungen bei Content models:
Exceptions, &-operator, Mixed content
o Attributwerte immer in Anführungsstrichen
o restriktivere Entity-Grenzen
o ISO 10646 (Unicode) Zeichenkodierung, auch für
Namen
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 48
Aufgaben Kodierung mit XML …
Grundlage der Aufgaben ist das XML-Dokument
„Wie ich das Rad erfand“ [..\..\xmlSamples\radBook.xml]
o Markieren Sie jedes Vorkommen der folgenden
Sprachelemente von XML: XML-Deklaration,
Dokumenttypdeklaration, Elementdeklaration,
Attributdeklaration, (Entitydefinition), Element, Attribut,
(Entityreferenz), Zeichenreferenz, Tag.
o Führen Sie die Bestandteile einer Elementdeklaration und
einer Attributdeklaration auf und markieren Sie sie
ebenfalls.
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 49
… Aufgaben Kodierung mit XML
o Visualisieren Sie das konzeptionelle Modell zum XML-
o
Dokument als Baum. Müssen Sie Ihren Baum ändern, wenn in
dem öffnenden Tag zum ersten Element chapter die
beiden Attribute in umgekehrter Reihenfolge angegeben
werden?
Erläutern Sie anhand Ihrer Überführung des XMLDokuments in einen Baum die Aufgaben eines XML-Parsers.
Gehen Sie auch auf die Begriffe „Wohlgeformtheit“ und
„Validität“ ein.
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 50
XML-Steckbrief …
o
XML als Sprache für strukturierte Dokumente
Dokumente als Daten, Daten als Dokumente
o
o
o
o
Priorität von logischer Auszeichnung in Gegensatz zu Machbarkeit
(HTML)
Flexibilität bei Vokabular
Verifizierbarkeit
o
o
o
homogene Syntax für Markup
frei definierbares Vokabular
Definition des Vokabulars mit homogener Syntax
XML als Metasprache
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 51
… XML-Steckbrief
o
Document Management mit XML:
Physikalische Aufspaltung in Entitäten
o
o
o
o
Zerlegung in separate Speichereinheiten (Modularisierung)
Wiederverwendbare Inhalte (Textbausteine)
Abkürzungen/Namen für Sonderzeichen
Verwendung von Entitäten (Auflösung) über
Namensreferenzen (Name/Ersetzungstext)
Multifunktionales Markup:
Elemente mit Attributen, Referenzen, DTD-Deklarationen,
Kommentare, Prozessanweisungen, XML-Deklarationen,
Whitespace (außerhalb des Wurzeldokuments)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 52
DTDs konzeptionell
o
o
o
o
Formale Beschreibung einer Klasse von XML-Dokumenten
Analogien
o DTD
≅
kontextfreie Grammatik
syntaktischer Zucker implizit
o Instanz
≅
Wort der Grammatik
o Baummodell ≅ Syntaxbaum
Enge Korrespondenz zwischen Instanz/Baummodell bzw.
Wort/Syntaxbaum: Niedrige Sprachklasse innerhalb der
kontextfreien Sprachen (LL(1))
Generierbarkeit von DTD-spezifischen Werkzeugen
aus DTD (Forschung)
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 53
Literatur
o
o
o
XML-Seite des W3C (http://www.w3.org/XML/).
E.R. Harold, W.S. Means: XML in a Nutshell.
O'Reilly 2001.
E.T. Ray: Einführung in XML. O'Reilly 2001.
Neil Bradley: The XML Companion. Addison-Wesley 2002.
Mark Johnson: XML for the Absolute Beginner.
Javaworld, April 1999.
(http://www.javaworld.com/javaworld/jw-04-1999/jw-04-xml_p.html)
Online-Tutorial von W3Schools
o
XML-Portal von O‘Reilly (http://www.xml.com/).
o
o
o
(http://www.w3schools.com/xml/).
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 54
Aufgabe (Abgabe Samstag, den 4.10.2006)
o
Entwerfen Sie ein Gedicht als strukturiertes Dokument.
o
Entwerfen Sie eine Strukturvorgabe für Gedichte und
visualisieren Sie sie als Baum.
Kodieren Sie die Strukturvorgabe als DTD und binden Sie
sie in Ihr Gedicht ein.
Validieren Sie das Gedicht mit den drei obigen Methoden
o
Berücksichtigen Sie die Klassifizierung von Strukturelementen.
Visualisieren Sie das Gedicht als Baum.
Kodieren Sie das Gedicht in XML. Überprüfen Sie das Gedicht auf
Wohlgeformtheit
o mit einem Browser oder
o mit einem Online-Validierer oder
o mit einem selbstinstallierten Parser.
Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML
30.Oktober / 6.November 2006 ― 55
Herunterladen