XML: Extensible Markup Language

Werbung
XML: Extensible Markup Language
XML: Extensible Markup Language
Materialien zur Vorlesung
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack
Sommersemester 2003
Universität Jena
Warum XML?
XML – Grundlagen
Document Type Definition – DTD
Namensräume und XML Schemata
XML en Detail
XML Hyperlinks – XLink, XPointer, XPath
XML Transformationen – XSL, XSLT
XML Derivate
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
Warum XML?
Was ist XML?
HTML/CSS läst nicht die Definition eigener,
strukturbeschreibender Markup-Tags zu
Daher als Datenaustauschformat zwischen
verschiedenen Anwendungen nur unzureichend
geeignet
SGML/DSSS ist zwar flexibel, aber zu allgemein und zu
mächtig
Metasprache zur Definition von Markup-Sprachen
XML
=
=
Daten + Strukturinformation
semistrukturierte Daten
Beschreibt die Struktur des Dokuments
Beschreibt die Semantik der Elemente eines Dokuments
Auszeichnungen („Markups“) über Markup-Tags
XML: auf den Einsatz im WWW hin spezialisierte
Untermenge von SGML
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
Warum XML?
05.07.2003
XML Sprachfamilie
einfach
zu lesen durch Menschen
zu verarbeiten durch Maschinen
zu generieren
Strukturbeschreibung:
XML
DTD / XML-Schema
Layout/Darstellung:
XSL (Extensible Style Language)
XSLT:FO
Objekt-Identifikation:
XPath, XPointer, XQuery, XQL
Transformationen:
XSLT (XSL Transformations)
Hyperlinks:
XLink, XPointer, XPath
erweiterbar
XML ist nur generische Syntax
Zusatz-Standards nutzen diese Syntax
standardisiert
weithin akzeptiertes Format
Standard-Tools als Basiskomponenten für Applikationen
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
1
XML: Extensible Markup Language
XML Timeline
Warum XML?
XML – Grundlagen
Document Type Definition – DTD
Document Object Model – DOM
XML en Detail
XML Hyperlinks – XLink, XPointer, XPath
XML Transformationen – XSL, XSLT
XML Derivate
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML vs. HTML
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML vs. HTML
XML
HTML
XML
HTML
<movie>
<title>North by Northwest</title>
<cast>
<director> Alfred
Hitchcock</director>
<actor> Cary Grant</actor>
<actor> Eve Marie Saint</actor>
<actor> James Mason</actor>
</cast>
<year> 1959</year>
</movie>
<h1>
North by Northwest
</h1>
<i>1959</i> - directed by
Alfred Hitchcock
<P> Cast:
<ul>
<li>Cary Grant</li>
<li>Eve Marie Saint</li>
<li>James Mason</li>
</ul>
</P>
„HTML sagt Ihnen wie die Informationen aussehen
sollen, aber XML sagt Ihnen was sie bedeuten.“
Quelle: Charles F. Goldfarb, „The XML Handbook“
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
"%&
'% ' (
⊂
∈
"#
$!
)
* $+
,
) - " * % '+
,
#
%! .
,%
) /"
*#
#
% '+
, 0
," ,
*
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
XML vs. HTML
XML vs. HTML
!"
!
05.07.2003
)
)
# '+
,
"
" % '+
,
#
%! .
,%
) 1 * " 2% '+
, 0
," ,
HTML unterstützt stets nur
einen vordefinierten
Dokumententyp
XML erlaubt die Definition
eigener Dokumenten-Typen
über die Definition einer
zugehörigen DTD
(Document Type Definition)
XSL Stylesheet
XML-Dokument
XML DTD
XML Parser
XML SGML-Deklaration
Darstellung
* $+
,
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
2
XML
-
Dokument
XML
-
<?xml version="1.0" encoding="iso-8859-1"?>
XML Deklaration
<!DOCTYPE movie SYSTEM "Beispiel.dtd">
<movie>
XML DTD
<title>North by Northwest</title>
<cast>
XML Tags
<director>Alfred Hitchcock</director>
XML Attribute
<actor type=“protagonist”>Cary Grant</actor>
<actor>Eve Marie Saint</actor>
<actor type=“antagonist”> James Mason </actor>
</cast>
<year> 1959</year>
</movie>
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Parser
<movie>
<title>
<cast>
<year>
Darstellung des
XML-Dokuments als
abstrakter Strukturbaum
1959
North by Northwest
XML-Parser
<director>
<actor>
<actor>
type=„protagonist“
Alfred Hitchcock
Cary Grant
<actor>
type=„antagonist“
Eve Marie Saint
James Mason
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Parser
DOM – Domain Object Model
SAX – Simple API for XML
objektmodellorientiert
ereignisorientiert
XML-Dokument als Baumstruktur:
liest XML-Dokument sequentiell ein
Jeder Knoten entspricht einem Objekt
behandelt XML-Elemente wie eintretende Ereignisse
Jedes XML-Element kann beliebig viele Unter-Elemente
besitzen
„Event-Handler“ muß vom Entwickler selbst
programmiert werden
sehr schnell, geringer Speicheraufwand, aber
Sehr flexibel, aber
hoher Speicher-/CPU-Verbrauch
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Document Type Definition (DTD)
Um syntaktische Korrektheit eines XML-Dokuments zu
prüfen, ist keine DTD notwendig
Wohlgeformtes (well formed) XML-Dokument
XML-Elemente sind korrekt geschachtelt
Jedes Start-Tag wird mit einem korrespondierenden Ende-Tag
abgeschlossen
Problem:
Regeln, wie ein gleichartiges XML-Dokument erstellt werden
kann, bleiben unbekannt
Bedeutung (Semantik) der XML-Elemente bleibt verborgen
05.07.2003
Dokument
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
kann XML-Dokument nur sequentiell verarbeiten
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
XML Document Type Definition (DTD)
XML Document Type Definition (DTD) spezifiziert
Regeln (Semantik), wie ein XML-Dokument zu erstellen
bzw. zu interpretieren ist.
Formale Grammatik für XML-Dokument
Analog zur Datendefinition/Datenmodellierung
Wird ein wohlgeformtes XML-Dokument zusätzlich
positiv gegen eine zugehörige XML DTD geprüft, dann
spricht man von einem validierten XML-Dokument
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
3
XML Namensräume
XML Namensräume
XML-Autoren definieren eigene XML Element-Typen (Tags)
XML-Tags mit demselben Namen, aber unterschiedlicher
Bedeutung und unterschiedlichen Attributen
Ambiguität und Namenskonflikte
Beispiel:
(1) Deklaration:
xmlns:buch = “http://www.inf.uni-jena.de/book.dtd“
xmlns:artikel = “http://www.beispiel.de/article.dtd“
XML Namensraum legt eindeutigen Kontext für XML
Element-Typ fest
definiert Namen, die jeweils bestimmter DTD zugeordnet werden
benötigt keine formale Struktur
Zerlegung komplexer Strukturen in handhabbare Teilbereiche
Mischung verschiedener Namensräume
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
<buch:titel> … </buch:titel>
<artikel:titel> … </artikel:titel>
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML: Extensible Markup Language
XML Schemata
XML-DTDs werden in eigener (nicht XML-konformer)
Syntax realisiert
Extended Backus-Naur Form (EBNF)
Spezieller Interpreter notwendig
XML-DTDs unterstützen lediglich den Datentyp “text“
XML-DTDs unterstützen nicht das Vererbungskonzept
XML-Schema:
• XML-spezifische Sprachdefinition die
auf XML-Syntax beruht
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
(2) Verwendung:
XML 1.0 Syntax
Warum XML?
XML – Grundlagen
Document Type Definition – DTD
XML Namensräume und XML-Schemata
XML en Detail
XML Hyperlinks – XLink, XPointer, XPath
XML Transformationen – XSL, XSLT
XML Derivate
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML 1.0 Syntax
XML Syntax ist case-sensitiv
16 Bit Unicode 2.1 Kodierung
Jedes XML-Dokument besteht aus:
Prolog:
Wie Header in HTML
Angabe von Metainformationen über das Dokument
XML-Elemente bestehen aus Start-Tag und Ende-Tag
<start-tag> … </ende-tag>
Ausnahme: leeres Element
Rumpf:
<leeres-tag/>
Ein oder mehrere XML-Elemente, die verschachtelt werden
können
Epilog:
Kommetare und Verarbeitungsanweisungen
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
4
XML 1.0 Syntax
XML Prolog
Bestandteile der XML 1.0 Syntax:
Text-Literale:
“Textliteral“
Character Data:
Jeglicher Text, der weder Teil des
Markup, eines Elements oder Attributs
ist
<autor name=“F. Schiller“>
Attribute:
Entity-Referenzen:
XML-Deklaration:
<?xml version=“1.0“ encoding=“UTF-8“
standalone=“yes“>
version:
encoding:
standalone:
Definition eines Platzhalters
<!ENTITY copyright "©">
Verarbeitungsanweisung: <?target …anweisung… ?>
Kommentare:
<!-- ..kommentar.. -->
CDATA-Blöcke:
Einbettung von Text, der sonst als
Markup interpretiert wird.
<![CDATA[…textblock…]]>
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Prolog
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Document Type Definition
DTD legt fest:
XML-Referenzen:
Angabe des verwendeten XML-DTDs
Referenz auf externe Teilmenge (globale URI)
<!DOCTYPE name SYSTEM “URI“>
Referenz auf externe Teilmenge (lokales Dateisystem)
<!DOCTYPE name PUBLIC “lok. URI“ “glob. URI“>
welche Elementtypen gibt es
welchen Inhalt dürfen sie haben
welche Attribute sind erlaubt
welche Werte sie dürfen annehmen
XML-Elementtyp:
Auf interne Teilmenge:
<!DOCTYPE name [DTD-Definitionen]>
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
obligatorische Versionsnummer
UTF-8/16/32
yes/no (wird DTD benötigt?)
XML Document Type Definition
XML-Elementtyp:
<!ELEMENT name (inhalt)>
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Document Type Definition
XML-Elementtyp - Schlüsselwörter:
#PCDATA-Element: „Parsed Character Data“ (erlaubt Schachtelung)
Elementinhalt
<!ELEMENT Buch (Titel, Autor+, Kapitel+)>
<!ELEMENT Text (#PCDATA)>
Leeres Element
Sequenzen
<!ELEMENT Kapitel (Überschrift, Einleitung?,
Inhalt) >
<!ELEMENT leeresElement EMPTY>
Beliebiger Inhalt
Alternativen
<!ELEMENT Pause (Tee|Kaffee, Zucker?,
Kuchen*) >
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
<!ELEMENT Kommentar ANY>
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
5
XML Document Type Definition
XML Document Type Definition
Attributtypen:
XML-Attribute
NMTOKEN:
Attributwert wird nicht als Text, sondern als Symbol behandelt
<!ATTLIST elementname attributname
attributtyp vorgabewert >
<!ATTLIST Buch Zugriff NMTOKEN #REQUIRED>
<Buch Zugriff=“geheim“> …
Attributtypen:
CDATA
<!ATTLIST Pause Dauer CDATA #FIXED “15min“>
z.B: Koppelung an XML-Elementtyp Person
<!ATTLIST Person Zugriffsrecht NMTOKEN
#REQUIRED>
ID
<!ATTLIST Buch ISBN ID #REQUIRED>
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Document Type Definition
XML-Notation:
Verknüpfung beliebiger binärer Formate mit XML-Dokument
<Person Zugriffsrecht=“geheim“>…
XML Document Type Definition
XML-Entity:
Definition von Ersetzungen und Platzhalter
<!NOTATION jpg SYSTEM “xv.exe“>
<!NOTATION gif SYSTEM “xv.exe“>
Applikation “xv.exe“ wird an binäre Datentypen jpg/gif geknüpft
<!ENTITY %KuchenEinfach “Hartkeks“>
<!ENTITY %KuchenSpezial “Stachelbeertorte“>
Bedingte Deklarationen:
<!ATTLIST Photo (jpg|gif)>
<![INCLUDE[…]]>
<![IGNORE[…]]>
<Photo typ=“jpg“> … </Photo>
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
XML Document Type Definition
Beispiel:
05.07.2003
einbinden
ignorieren
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
XML Document Type Definition
Beispiel (zugehöriges XML-Dokument):
<!ELEMENT Buch (Titel, Subtitel?,
Autor+, Preis)>
<!ATTLIST Buch ISBN ID #REQUIRED)>
<!ELEMENT Titel (#PCDATA)>
<!ELEMENT Subtitel (#PCDATA)>
<!ELEMENT Autor (#PCDATA)>
<!ELEMENT Preis (#PCDATA)>
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
<!DOCTYPE Buch SYSTEM “buch.dtd“>
<Buch ISBN=“3-411-20900-3“>
<Titel>Duden</Titel>
<Subtitel>
Rechtschreibung der deutschen Sprache
</Subtitel>
<Autor>Dudenredaktion, Hrsg.</Autor>
<Preis>10,95</Preis>
</Buch>
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
6
XML: Extensible Markup Language
XML Schemata
Beispiel (im Vergleich zu DTD):
<Schema … >
<element name=“Buch“>
<attribut name=“ISBN“ type=“string“>
<type>
<element name=“Titel“ type=“string“/>
<element name=“Subtitel“ type=“string“
minOccurs=“0“ maxOccurs=“1“/>
<element name=“Autor“ type=“string“
minOccurs=“0“ maxOccurs=“7“/>
<element name=“Preis“ type=“decimal“/>
</type>
</element>
</Schema>
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Hyperlinks
Warum XML?
XML – Grundlagen
Document Type Definition – DTD
XML Namensräume und XML-Schemata
XML en Detail
XML Hyperlinks – XLink, XPointer, XPath
XML Transformationen – XSL, XSLT
XML Derivate
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Hyperlinks
XML dient der Strukturierung von Dokumenten im WWW
Notwendigkeit der Definition von Hyperlinks zur
Dokumentenverknüpfung im WWW
HTML <A> -Element
Unidirektionale Verknüpfung zwischen genau zwei
Informationsressourcen
Stets Bestandteil des Start-Dokuments
Darstellung hängt von Browser ab
XML Linking Language – XLink
Definition von XML-Hyperlinks
XML Pointer Language –
XPointer und XPath
<A HREF=“…“>
Definition von Ankerpunkten in XML Dokumenten
Definition von Dokumentenfragmenten
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
<A name=“…“>
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Hyperlinks
XML Hyperlinks
XLink – Out-of-Line Links
Realisierung von bidirektionalen n:m Linkbeziehungen
Linkbasis ist nicht Bestandteil von Quell-/Zieldokument
XLink – Simple Links
Entspricht HTML-Hperlink
Zusätzliche Attribute: typ / role / title / show / actuate
Quelldokumente
<publications
xmlns:xlink=“http//www.w3.org/1999/xlink/namespace/“
xlink:href=“publications.xml“
xlink:role=“http://www.bsp.de/bibliography“
xlink:title=“Veröffentlichungen“
xlink:show=“new“
xlink:actuate=“onRequest“
/>
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
Zieldokumente
Linkbasis
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
7
XML Hyperlinks
XML Hyperlinks
XLink – Out-of-Line Links
XLink – Out-of-Line Links
Beispiel;
Pizzaboden
from
<xlink:extended
xmlns:xlink=“http//www.w3.org/1999/xlink/namespace/“
xlink:role=“http://www.pizza.de/pizaworld“
xlink:title=“Pizza Tonno“>
<xlink:locator
href=“Pizzaboden.xml“
role=“http://www.pizza.de/basis“
title=“Pizzaboden“/>
………
<xlink:locator
href=“Basilikum.xml“
role=“http://www.pizza.de/spezial“
title=“Basilikum“/>
………
<xlink:arc
from= =“http://www.pizza.de/basis“
to= =“http://www.pizza.de/spezial“
Show=“new“
Actuate=“onRequest“/>
<xlink:extended\>
Tomaten
Mozarella
from
from
Pizza Tonno
to
Thunfisch
to
Oliven
to
Basilikum
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Hyperlinks
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML Hyperlinks
XML Pointer Language – XPointer
XML Pointer Language – XPointer
URI#xpointer(ankerbeschreibung)
Festlegung eines Sprungziels innerhalb eines
Dokuments
HTML: <A NAME=“…“>
Bsp.:
Probleme von HTML-Ankern:
Einfügen von Sprungzielen in schreibgeschützte
Dokumente
Es muß stets das gesamte Zieldokument übertragen
werden
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XPath
Navigation innerhalb des abstrakten DokumentenStrukturbaumes
Kontextknoten
gedicht.xml#child::gedicht[position()<3]
05.07.2003
Descendant
<gedicht>
<strophe ID=“strophe1“>
<zeile ID=“zeile1“>Dreifach ist des Raumes Maß:</zeile>
<zeile ID=“zeile2“>Rastlos fort ohn‘ Unterlaß</zeile“
<zeile ID=“zeile3“>Strebt die Länge fort ins Weite,</zeile>
<zeile ID=“zeile4“>Endlos gießet sich die Breite,</zeile>
<zeile ID=“zeile5“>Grundlos senkt die Tiefe sich</zeile>
</strophe>
</gedicht>
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML: Extensible Markup Language
XML Hyperlinks
Child
http://www.bsp.de/gedicht.xml#xpointer(zeile2)
http://www.bsp.de/gedicht.xml#xpointer(1/1/2)
Parent
Warum XML?
XML – Grundlagen
Document Type Definition – DTD
XML Namensräume und XML-Schemata
adressierte Knoten
Ancestor
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
XML en Detail
XML Hyperlinks – XLink, XPointer, XPath
XML Transformationen – XSL, XSLT
XML Derivate
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
8
XML: Transformationen
XML: Transformationen- XSL
XML-Dokument ist hierarchisch strukturierte Informationssammlung
vergleichbar mit hierarchischer oder relationaler Datenbank
über Transformationen können XML-Dokumente für eine
Vielzahl von Anwendungen nutzbar gemacht werden
Extensible Style Language (XSL) zur Transformation von
XML-Dokumenten ist in drei separate Sprachen aufgeteilt:
XSLT – Spezifikation der Transformationen
XSL:FO – Layout-Transformationen (Formatierung) mit XSLT
XPath – Zugriff auf XML-Strukturen
Strukturelle Transformationen
Filterung/Sortierung/Umformatierung für andere Anwendungen (XSLT)
Dynamische Dokumente
DSSSL
Oft interaktive Filterung /Reorganisation eines XML-Dokuments
(XSLT)
XSL
Darstellungstransformationen
Layoutspezifische Transformation über Stylesheets (CSS) oder
XSL:FO
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML: Transformationen- XSL
Strukturregeln
DTD
XML
HTML
WAP
XSLSW
XSL
Strukturierte
Information
Präsentationsregeln
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
XML Transformationen - XSL
XSL arbeitet auf dem abstrakten Strukturbaum des XMLDokuments (
XPath)
Ein XSL-Stylesheet besteht aus einer Sammlung von
Transformationsregeln (Templates)
Strukturbaum wird durchlaufen, für jeden Knoten wird
passendes Template aus XSL-Stylesheet gesucht und
angewendet
+
XSLSW
05.07.2003
XSL
XSLStylesheet
neues
Dokument
Präsentationsregeln
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
XML Transformationen - XSL
<xsl:template
match = Suchabfrage
name = Name
priority = Prioritität
… >
… Template Instruktionen …
</xsl:template>
05.07.2003
CSS
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
Strukturbaum
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
XML Transformationen - XSL
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE movie SYSTEM "Beispiel.dtd">
<movie>
<title>North by Northwest</title>
<cast>
<director>Alfred Hitchcock</director>
<actor type=“protagonist”>Cary Grant</actor>
<actor>Eve Marie Saint</actor>
<actor type=“antagonist”> James Mason </actor>
</cast>
<year> 1959</year>
</movie>
XML-Dokument
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
9
XML Transformationen - XSL
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE> <xsl:value-of select="movie/titel" /> </TITLE>
</HEAD>
<BODY>
<H1> <xsl:value-of select="movie/titel" /> </H1>
<P> Darsteller: </P>
<UL>
<xsl:for-each select="movie/cast/actor">
<LI> <xsl:value-of /> </LI>
</xsl:for-each>
</UL>
</HTML>
</xsl:template>
XSL-Stylesheet
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
XML: Extensible Markup Language
XML Transformationen - XSL
<HTML>
<HEAD>
<TITLE> North by Northwest </TITLE>
</HEAD>
<BODY>
<H1> North by Northwest </H1>
<P> Darsteller: </P>
<UL>
<LI> Cary Grant</LI>
<LI> Eve Marie Saint</LI>
<LI> James Mason</LI>
</UL>
</HTML>
Ergebnis der XSL-Transformation
XML
-
Teil des WAP-Standards
(Wireless Access Protocol)
Teilmenge von XHTML
Webseite wird als Karteikartenstapel dargestellt
Document Type Definition – DTD
XML Namensräume und XML-Schemata
XML en Detail
XML Hyperlinks – XLink, XPointer, XPath
XML Transformationen – XSL, XSLT
XML Derivate
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
XML
-
Derivate
Wireless Markup Language
Warum XML?
XML – Grundlagen
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
Derivate
<wml>
<head> … </head>
<card>
…
</card>
<card>
…
</card>
</wml>
05.07.2003
XML
-
Voice XML
Zur telefonischen Ausgabe von XML-Dokumenten
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
Derivate
Mathematical Markup Language (MathML)
Scalable Vector Graphics (SVG)
Kodierung von 2-dim Vektorgrafiken
Vector Markup Language (VML)
Hyper Graphics Markup Language (HGML)
Grafikaufbereitung für mobile Endgeräte
Synchronized Multimedia Integration Language
(SMIL)
Synchronisation von Multimedia-Datenströmen
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
10
XML
-
XML: Extensible Markup Language
Derivate
Chemical Markup Language (CML)
Warum XML?
XML – Grundlagen
Document Type Definition – DTD
XML Namensräume und XML-Schemata
XML en Detail
XML Hyperlinks – XLink, XPointer, XPath
XML Transformationen – XSL, XSLT
XML Derivate
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
05.07.2003
Technische Grundlagen des Internet - 2
Dr. rer. nat. Harald Sack – Institut für Informatik - Universität Jena
11
Herunterladen