+ All Categories
Home > Documents > XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur...

XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur...

Date post: 05-Apr-2015
Category:
Upload: annelien-kaiser
View: 106 times
Download: 1 times
Share this document with a friend
60
XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente eines Dokuments Auszeichnungen („Markups“) in Form von Tags
Transcript
Page 1: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML

eXtensible Markup Language Metasprache zur Definition von

Markupsprachen

Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente eines

Dokuments Auszeichnungen („Markups“) in Form von Tags

Page 2: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML, HTML und SGML

60er Jahre: IBM Standards, Bemühungen um standardisierte Beschreibungssprache

1969: GML von IBM entwickelt 1986: SGML wird als ISO-Standard 8879 eingeführt

mächtige und komplexe Beschreibungssprache 1989: HTML von Tim Bernes-Lee entwickelt 90er Jahre: einfache und schnell erlernbare

Beschreibungssprache für Websites HTML 1994: HTML (2.0) als Standard von W3C festgelegt 1998: XML (1.0) von W3C eingeführt

vereinfachtes SGML (20% der Komplexität, 80% der Funktionalität)

Page 3: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Metasprachen

SGML

XML [Metasprachen]

[Markup Sprachen]

[Dokumente]

MathML, XHTML, HTML, ...

x

ƒ(x) = ∏ (2n+1) n=1

Page 4: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

HTML vs XML Markup Language Beschreibt Layout

<h1> Video </h1><h2> The Great Escape </h2><table border=“1“>

<tr> <td>Director</td> <td>John Sturges</td></tr><tr> <td>Hauptdarsteller</td> <td>Steve McQueen</td></tr><tr> <td> ... </td> </tr>

</table>

Metasprache für Markup Language

Beschreibt Inhalt und Struktur

<video> <title> The Great Escape </title><cast> <director>John Sturges</director> <actor>Steve McQueen </actor></cast><text> A classic war movie from 1956 </text>

</video> 

Page 5: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Motivation von XML

Erstellen eigener Dokumenttypen Keine beschränkte Anzahl von Tags Breites Spektrum von Anwendungsbereichen XML-verarbeitende Anwendungen können einfach

entwickelt werden Trennung von Layout und Inhalt

XML-Dokument: Fokus liegt in der Struktur des Dokuments und in der Semantik der Elemente

XML soll sich im Internet auf einfache Weise nutzen lassen

XML-Dokumente sollen auch für Menschen lesbar und verständlich sein

Page 6: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Überblick

XML Dokumentlogische und physische Strukturenthält Dekarationen, Elemente, Kommentare, ...

DTD (Document Type Definition)logische Struktur des DokumentsDefinition der Elemente, Attribute, ... eines XML-Dokuments

Style SheetsVisualisierung des XML-Dokuments, Formatieren von Markups CSS, DSSSL, XSL

Page 7: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML – DokumentElemente

Elemente sind die „Bausteine“ des XML-Dokuments.

Syntax:

Starttag Elementinhalt Endtag

z.B.: <actor>Steve McQueen</actor>

Elemente mit gleichem Start- und Endtag gehören zu einem Elementtyp

Dokumente welche dieselben Elementtypen enthalten, gehören zum selben Dokumenttyp

Leere Elemente <actor></actor>

<actor/>

Page 8: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML-DokumentVerschachtelung von Elementen

Ein Element kann andere Elemente enthalten:

<video> <title> The Great Escape </title>

<cast> <director> John Sturges </director> <actor>Steve McQueen </actor> <actor/> <!-- wer spielt den amerikanischen Offizier ???--> </cast> <text> A classic war movie from 1956 </text> <screenshot/>

</video>

Page 9: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML-DokumentKommentare

Syntax:

<!-- irgendein Kommentar-->

Kommentare...

• können sich über mehrere Zeilen erstrecken

• können sich zwischen Start- und Endtags von Elementen befindenz.B.: <actor>Steve McQueen <!--richtiger Kommentar--> </actor>

• dürfen nicht innerhalb eines Tags stehenz.B.: <actor <!--völlig falsch--> > Steve McQueen </actor>

• dürfen keine „--“ enthalten

Page 10: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML-DokumentAttribute

Attribute sind zusätzliche Informationen zu Elementen:

<actor geschlecht=m> Steve McQueen </actor><screenshot imgage="picture.jpg" heigth="12" width="150"/>

Attributname Attributwert

Besonderheiten bei Attributen:

• Die Reihenfolge der Attribute ist unbestimmt

• In einem Element darf ein Attributname nicht mehrmals vorkommen

• Ein Attributwert darf keinen Verweis auf ein externes Entity enthalten

• In einem Attributwert darf kein „<“ vorkommen

Page 11: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML-DokumentStruktur des XML-Dokuments

Prolog

Enthält Informationen zur Verarbeitung des Dokuments:- Dekaration der XML Version- Dekaration DTD

Wurzelelement

Jedes XML-Dokument enthält genau ein Wurzelelement

Ein Wurzelelement kann beliebig viele Elemente enthalten

Page 12: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML-DokumentEigenschaften

Wohlgeformtheit• XML-Dokument enthält ein oder mehrere Elemente

• Genau ein Element ist Wurzelelement

• Korrekte Verschachtelung der TagsKorrekte Verschachtelung: <b><c> xyz </c> abc </b>Falsche Verschachtelung: <b><c> xyz </b> abc </c>

• Jedes analysierte Entity ist wiederum wohlgeformt

• ....

Gültigkeit• XML-Dokument ist wohlgeformt

• XML-Dokument entspricht den Spezifikationen einer DTD

Page 13: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML-DokumentBeispiel

<?xml version="1.0"?><!DOCTYPE buch SYSTEM „bibliothek.dtd">

<bibliothek> <buch genre="Fantasy" isbn="3-608-95855-X"> <titel>Der Herr der Ringe</titel> <autor geschlecht="m">J.R.R. Tolkien</autor> <inhalt>viel Text</inhalt> </buch>

<buch genre="Sachbuch" isbn="3-8273-1330-9"> <titel>XML in der Praxis</titel> <autor geschlecht="m">Behme, Mintert</autor> <inhalt>Inhalt</inhalt> </buch>

</bibliothek>

Page 14: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML-DokumentBaumstruktur

geschlecht

text

m

bibliothek

buchbuch

autor inhalttitel

genre

text

fantasy

dokument

text text text

JRR Tolkien Herr der Ringe Viel Text

genre

text

sachbuch

Page 15: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Sichten auf XML

Dokumentensicht XML-Dokumente sind kommentierte Textdateien XMath, CML,...

Datensicht XML als Speicherformat Repräsentationsform für komplexe Datentypen XQL (XML Query Language)

Nachrichtensicht XML als Nachrichtenprotokoll XML-Dokument als flüchtige Nachricht, nicht als dauerhafte

Ressource SOAP

Page 16: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Überblick

XML Dokumentlogische und physische Strukturenthält Dekarationen, Elemente, Kommentare, ...

DTD (Document Type Definition)logische Struktur des DokumentsDefinition der Elemente, Attribute, ... eines XML-Dokuments

Style SheetsVisualisierung des XML-Dokuments, Formatieren von Markups CSS, DSSSL, XSL

Page 17: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

welche Elementtypen es gibt welchen Inhalt sie haben dürfen welche Attribute erlaubt sind welche Werte sie annehmen dürfen

DTD

sie enthält die Informationen darüber

Page 18: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDDeklaration

Interne Deklaration<!DOCTYPE Name [

Definitionen

]>

Beispiel<?xml version=„1.0“ encoding=„ISO-8859-1“?>

<!DOCTYPE Buch[

<!ELEMENT Buch (Titel, Autor+)>

<!ELEMENT Titel (#PCDATA)>

<!ELEMENT Autor (#PCDATA)>

]>

Page 19: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDDeklaration

Externe Deklaration<!DOCTYPE Name SYSTEM “Pfadangabe“>

Beispiel:<?xml version=„1.0“ encoding=„ISO-8859-1“?>

<!DOCTYPE Buch SYSTEM “aufbau.dtd“>

<Buch> ... </Buch>

Page 20: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDDeklaration

intern und externe DTD-Untermenge<!DOCTYPE Name SYSTEM “Pfadangabe“[

interne Definitionen

]>

Beispiel<?xml version=„1.0“ encoding=„ISO-8859-1“?>

<!DOCTYPE Buch SYSTEM “aufbau.dtd“ [

<!ELEMENT Anhang (#PCDATA)>

]>

Page 21: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDElementdefinition

Elementinhalt<!ELEMENT Buch (Kapitel)>

Sequenz<!ELEMENT Kapitel (Einleitung, Inhalt)>

Alternative<!ELEMENT Inhalt (Text | Grafik)>

<!ELEMENT Elementname (Inhaltsmodell)>

Page 22: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Schlüsselwörter Leeres Element

<!ELEMENT Autor EMPTY>

Element mit beliebigem Inhalt<!ELEMENT Kommentar ANY>

DTDElementdefinition

#PCDATA-Element<!ELEMENT Text (#PCDATA)>

Page 23: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

<?xml version=„1.0“ encoding=„ISO-8859-1“?>

<!DOCTYPE Buch[

<!ELEMENT Buch (Titel, Autor, (Kategorie | Preis)><!ELEMENT Titel (#PCDATA)><!ELEMENT Autor (#PCDATA)><!ELEMENT Kategorie (#PCDATA)><!ELEMENT Preis (#PCDATA)>

]>

DTDBeispiel zum Inhaltsmodell

<Buch> <Titel> Das große Buch XML</Titel> <Autor> Elke Niedermaier</Autor> <Kategorie>Sachbuch</Kategorie><7Buch>

<Buch> <Titel> Das große Buch XML</Titel> <Autor> Elke Niedermaier</Autor> <Preis>251</Preis><7Buch>

Page 24: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDElementdefinition

Optional (?)<!ELEMENT Anhang (Referenz?)>

Optional und mehrmals (*)<!ELEMENT Anhang (Referenz*)>

Einmal und öfter (+)<!ELEMENT Anhang (Kommentar,

Referenz+)

Kardinalitäten

Page 25: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Beispiel Kardinalitäten

<?xml version=„1.0“ encoding=„ISO-8859-1“?>

<!DOCTYPE Buch[

<!ELEMENT Buch (Titel, Autor+, Kategorie?)>

<!ELEMENT Titel (#PCDATA)>

<!ELEMENT Autor (#PCDATA)>

<!ELEMENT Kategorie (#PCDATA)>

]>

<Buch>

<Titel> Das große Buch XML</Titel>

<Autor> Elke Niedermaier</Autor>

<Autor> Michael Niedermair</Autor>

<Kategorie>Sachbuch</Kategorie>

</Buch>

Page 26: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Verpflichtendes Attribut: #REQUIRED Implizites Attribut: #IMPLIED Fixer Attributwert: #FIXED “wert“ Defaultwert setzen: “wert“

DTDAttributdefinition

<!ATTLIST Elementname

Attributname Typ Einschränkung

Attributname Typ Einschränkung...>

Einschränkungen:

Page 27: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Zeichenkettentyp (CDATA)<!ATTLIST Autor name CDATA

#REQUIRED>

Aufzählungstyp<!ATTLIST Farbe (weiss | blau | grün)

“weiss“>

Token-AttributeID, IDREF, NMTOKEN, NMTOKENS, ENTITY, ENTITIES, NOTATION

DTDAttributdefinition

Page 28: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDAttributdefinition - Beispiel

<!ELEMENT Artikel (Bezeichnung, Bild)> <!ELEMENT Bezeichnung (#PCDATA)><!ATTLIST id ID #REQUIRED><!ELEMENT Bild EMPTY><!ATTLIST scr CDATA #REQUIRED

höhe CDATA #IMPLIED breite CDATA #IMPLIED >

<?XML version=“1.0“ encoding=“ISO-8859-1“?><DOCTYPE Firma SYSTEM “artikel.dtd“><Artikel> <Bezeichnung id=5>CD-Rohling</Bezeichnung> <Bild scr=“rohling.jpg“></Bild><Artikel>

Page 29: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Interne allgemeine Entities Externe allgemeine Entities

Interne Parameter-Entities Externe Parameter-Entities

DTDEntities

Arten von Entities

Page 30: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Allgemeine Entities:fügen Daten in den Dokumenteninhalt ein

Parameter Entities:fügen Deklarationen in die DTD des Dokuments ein

DTDEntities

Unterscheidung

Page 31: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDEntities

Teile lassen sich extern abspeichern Übersichtlichere Gestaltung Verwendung der Teile in verschiedenen

Dokumenten

Vorteile von Entities

Page 32: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDEntities

Allgemeine Entities

Interne allgemeine Entities:

Verwendet man für Abkürzungen häufig verwendeter oder schwer einzubindender Texte.

Deklaration: <!ENTITY name “ersetzender Text“>

Aufruf im Text: &name;

Page 33: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDEntities

Allgemeine Entities

Externe allgemeine Entities:

Zum Einfügen von unabhängigen Teilen in das XML-Dokument.

Deklaration: <!ENTITY name SYSTEM “URI“>

Aufruf im Text: &name;

Page 34: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDEntities

Parameter-Entities

Interne Parameter-Entities:

Abkürzungen für häufig verwendete Definitionen.

Deklaration: <!ENTITY % name “ersetzender Text“>

Einfügen: %name;

Page 35: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDEntities

Parameter-Entities

Externe Parameter-Entities:

Geeignet um umfangreiche DTDs in Module zu zerlegen. Das erhöht die Lesbarkeit und Wartbarkeit.

Deklaration: <!ENTITY % name SYSTEM “URI“>

Einfügen: %name;

Page 36: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DTDEntities - Beispiel

<!ENTITY % Struktur “(Abteilungsleiter, Stellvertreter+, Mitarbeiter)“><!ELEMENT Firma (Buchhaltung, Lager*, Vertrieb?)> <!ELEMENT Buchhaltung %Struktur><!ELEMENT Lager %Struktur><!ELEMENT Vertrieb %Struktur><!ELEMENT Abteilungsleiter (#PCDATA)><!ELEMENT Stellvertreter (#PCDATA)><!ELEMENT Mitarbeiter (#PCDATA)>

<?XML version=“1.0“ encoding=“ISO-8859-1“?><DOCTYPE Firma SYSTEM “firma.dtd“><Firma> <Buchhaltung>

<Abteilungsleiter> Sven Regener </Abteilungsleiter><Stellvertreter> Martin Zehentner </Stellvertreter><Mitarbeiter> die Abteilung hat 5

Mitarbeiter</Mitarbeiter> </Buchhaltung><Firma>

Page 37: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Beispiel: DTD und DokumentDTD Dokument

<!ELEMENT bibliothek (buch)+>

<!ELEMENT buch (titel, autor, inhalt)><!ATTLIST buch genre (Sachbuch | Roman | Fantasy) "Sachbuch"

verlag CDATA #FIXED "meinVerlag"

isbn ID #REQUIRED neuauflageVon IDREF

"null">

<!ELEMENT titel (#PCDATA)>

<!ELEMENT autor (#PCDATA)><!ATTLIST autor geschlecht (m | w) #REQUIRED>

<!ELEMENT inhalt (#PCDATA)>

<?xml version="1.0"?><!DOCTYPE buch SYSTEM „bibliothek.dtd">

<bibliothek> <buch genre="Fantasy" isbn="3-608-95855-X"> <titel>Der Herr der Ringe</titel> <autor geschlecht="m">J.R.R. Tolkien</autor> <inhalt>viel Text</inhalt> </buch>

<buch genre="Sachbuch" isbn="3-8273-1330-9"> <titel>XML in der Praxis</titel> <autor geschlecht="m">Behme, Mintert</autor> <inhalt>Inhalt</inhalt> </buch>

</bibliothek>

Page 38: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Überblick

XML Dokumentlogische und physische Strukturenthält Dekarationen, Elemente, Kommentare, ...

DTD (Document Type Definition)logische Struktur des DokumentsDefinition der Elemente, Attribute, ... eines XML-Dokuments

Style SheetsVisualisierung des XML-Dokuments, Formatieren von Markups CSS, DSSSL, XSL

Page 39: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML und Style-Sheets

Erklärung, CSS, DSSSL, XSLXML und XSL in der Praxis

Page 40: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Style-Sheet – Was?

Darstellungsbeschreibung eine Style für beliebig viele

Dokumente für ein Dokument beliebig viele

Styles Trennung von semantischer und

physischer Auszeichnung CSS, DSSSL, XSL

Page 41: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

versch. Styles für 1 Dok.

XML-Dok

Style-Sheet

Style-Sheet

Style-Sheet

Style-Sheet

*.html

*.pdf

*.wml

*.rtf

Page 42: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

einheitlicher Style

XML-Dok

XML-Dok

XML-Dok

XML-Dok

Style-Sheet

Page 43: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

CSS, DSSSL und XSL

DSSSL XSL

CSS

Page 44: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

CSS unter XML

Bei Einführung von XML Kompatibel mit XSL Eingeschränkte Möglichkeiten Kann verschachtelt werden CSS2 auf XML abgestimmt

Page 45: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

CSS – Deklaration 1

CSS innerhalb einer HTML Datei

<html>

<head>

<title>Titel der Datei</title>

<style type="text/css">

<!-- /* ... Style-Sheet-Angaben ... */ //-->

</style>

</head>

<body></body>

</html>

Page 46: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

CSS – Deklaration 2

CSS in einer separaten Datei

<html><head><title>Titel der Datei</title><link rel=stylesheet type="text/css" href="formate.css"></head><body></body>

</html>

Page 47: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Bsp. Schriftformatierung

<style type="text/css">h1,h2,h3 { font-familiy:Avantgarde,Arial }

</style>

<h1>Überschrift 1</h1><br><h2>Überschrift 2</h2><br><h3>Überschrift 3</h3><br>

Überschrift 1

Überschrift 2Überschrift 3

Page 48: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Formatierung von Links 1

a.menu { font-family: "Times New Roman“}

a.menu:link { color: #000000}

a.menu:visited { color: #FF3333}

a.menu:active { color: #3333FF}

a.menu:hover { color: #009999}

Page 49: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Formatierung von Links 2

Zuweisung eines Styles

<a href=„home.htm“ class=„menu“>home</a>

Ausgabe im Browser:

home Standard Link

home besuchter Linkhome aktiver Linkhome Mouse-over Link

Page 50: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

DSSSL

Seit 1996 DSSSL ist eine echte

Programmiersprache Zu kompliziert XSL basiert auf einer Untermenge

des DSSSL Standards, aber geringere Komplexität

Page 51: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XSL soll in der bekannten XML-Syntax erstellt werden können. XSL soll eine Auszeichnungssprache sein, die alle wichtigen und

gebräuchlichen Formatierungsbefehle enthält. Die Anzahl der optionalen Features soll möglichst gering

gehalten werden. XSL Stylesheets sollen möglichst leicht verständlich und

»lesbar« sein. Die Umsetzung soll schnell und unkompliziert geschehen

können. XSL sollte sich über das Internet einfach nutzen lassen. XSL sollte einen »Ausweg« in eine Skript-Sprache bieten, für

komplexere Formatierungen und um Erweiterbarkeit und Vollständigkeit möglich zu machen.

XSL wird eine Untermenge von DSSSL mit der vorgeschlagenen Ergänzung sein.

Anforderungskatalog (W3C)

Page 52: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML und XSL in der Praxis

Deklarationen, Datenstruktur in XML, Aufbau einer XSL-

Datei

Page 53: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Deklarationen in XML

Deklarieren einer XML-Datei<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

Deklarieren des Style-Sheets

<?xml-stylesheet href="style.xsl" type="text/xsl"?>

Page 54: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Entwerfen der Struktur

Umsetzen in XML

<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="selfxml.xsl" type="text/xsl" ?> <Mitglieder>      <Mitglied Id="1">        </Mitglied>      <Mitglied Id="2">        </Mitglied> </Mitglieder>

Page 55: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Ausbau der Datei

<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="selfxml.xsl" type="text/xsl" ?> <Mitglieder>      <Mitglied Id="1">            <Vorname> Thomas </Vorname>            <Nachname> Maier </Nachname>            <Strasse> Hauptstrasse 12 </Strasse>            <PLZ> 12345 </PLZ>            <Stadt> Stuttgart </Stadt>        </Mitglied>      <Mitglied Id="2">            <Vorname> Michael </Vorname>            <Nachname> Schneider </Nachname>            <Strasse> Bahnhofsstrasse 21 </Strasse>            <PLZ> 54321 </PLZ>            <Stadt> Stuttgart </Stadt>        </Mitglied> </Mitglieder>

Page 56: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Aufbau der XSL-Datei

Deklarationskopf<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

Root-Element der XSL-Datei<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

     <xsl:template match="/">         <HTML>           <Head>             <Title> Testseite </Title>           </Head>           <Body>             <H1> Ein Test </H1>           </Body>         </HTML>      </xsl:template></xsl:stylesheet>

Page 57: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Einbau von XML-Daten

Ausgabe eines Elements<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

     <xsl:template match="/">         <HTML>           <Head>            <Title> <xsl:value-of

select="Mitglieder/Verein"/> </Title>           </Head>           <Body>             <H1> Ein Test </H1>           </Body>         </HTML>      </xsl:template>

</xsl:stylesheet>

Page 58: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Verwendung von Schleifen

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">     <xsl:template match="/">         <HTML>           <Head>             <Title> <xsl:value-of select="Mitglieder/Verein"/>

</Title>           </Head>           <Body>             <H1> Ein Test </H1>               <table border="1">                 <xsl:for-each select="Mitglieder/Mitglied">                   <tr>                     <td> <xsl:value-of select="Nachname"/> </td>                     <td> <xsl:value-of select="Vorname"/> </td>                   </tr>                 </xsl:for-each>               </table>           </Body>         </HTML>      </xsl:template>

</xsl:stylesheet>

Page 59: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

Formatierungsmöglichkeiten

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">     <xsl:template match="/">         <HTML>           <Head>             <Title> <xsl:value-of select="Mitglieder/Verein"/> </Title>           </Head>           <Body>             <H1> Ein Test </H1>               <table border="1">                 <xsl:for-each select="Mitglieder/Mitglied" order-by="Nachname;Vorname"><tr>                     <td> <xsl:value-of select="Nachname"/> </td>                     <td> <xsl:value-of select="Vorname"/> </td>                   </tr>                 </xsl:for-each>               </table>           </Body>         </HTML>      </xsl:template>

</xsl:stylesheet>

Page 60: XML eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente.

XML -Ausblick

Was bringt die Zukunft?

Datenaustausch (Wetterdaten, Krankendaten, finanz. Transaktionen,...)

Darstellung von Formeln, Hierachien (Definitionen mit DTD)

Formatierung nur mehr mit Stylesheets


Recommended