zt univ.-lektor dipl.-ing. dr. markus schranz staatlich befugter und beeideter ingenieurkonsulent...

139
ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Metadaten und XML Vortragsunterlagen zur Vortragsreihe MSc Strategisches Informationsmanagement & MSc Bibliotheks- und Informationsmanagement an der Donauuniversität Krems

Upload: bernt-katzenberger

Post on 06-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz

staatlich befugter und beeideter Ingenieurkonsulent für Informatik

Metadaten und XMLMetadaten und XML

Vortragsunterlagen zur Vortragsreihe MSc Strategisches Informationsmanagement & MSc Bibliotheks- und Informationsmanagementan der Donauuniversität Krems

Page 2: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

2

AgendaAgenda

Metadaten und Der XML-StandardEinführung und Beschreibung

XML-DTD-SchemaDie Extensible Markup Language im Detail

XSL TransformationenEinsatz von Transformation auf Basis von XML Documenten

XML Standardsam Beispiel RSS und SVG

Das Semantic Web– Topic Maps und Vector Space Model

Page 3: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz

staatlich befugter und beeideter Ingenieurkonsulent für Informatik

Web Service EngineeringWeb Service Engineering

Konzepte und Technologien => XML

Page 4: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

4

Der XML-StandardDer XML-Standard

Was ist XML, ein kurzer Überblick

– Ziele & Visionen

– Geschichtliches und Verwandtes

– XML-Strukturen

– XML-Grammatik

– XML-Document Type Definitions

– XML/DTD-Beispiel

Page 5: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

5

Ziele und VisionenZiele und Visionen

– XML/SGML

– XML - Entwurfsziele

– Das Paket um XML

– Funktionen von XML - Smart Data

– Beispiel in HTML und XMLAnhand eines Shopping Guides

– XML - Visionen

– XML - Technischer Stand

– Zukunft von XML/SGML

Page 6: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

6

XML/SGMLXML/SGML

SGML – Standard Generalised Markup Language:

– ursprünglich für den (high-end) publishing Bereich

eingeführt (70er)

– zu allgemein

– Komplexität überfordert Browser

HTML ist eine DTD in SGML

XML Vereinfachung von SGML (Teilmenge)

Strukturierte Datenspeicherung

Strukturierter Datenaustausch

Page 7: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

7

XML - Entwurfsziele XML - Entwurfsziele

XML ist ein Dokumentformat-Beschreibungsstandard

Einfache Nutzung im Internet

Viele Anwendungen ermöglichen

Kompatibilität zu SGML

Einfache Erstellung von Programmen

Unterschiedliche Darstellungen auf ein Minimum reduzieren

Page 8: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

8

XML - Entwurfsziele XML - Entwurfsziele

Gute Lesbarkeit

Schnelles Design

Präziser und formaler Entwurf

Leichte Dokumentenerstellung

Platzsparende Darstellung ist von untergeordneter Bedeutung

Page 9: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

9

Das Paket um XMLDas Paket um XML

XML

DTD / Schema

DOM

XPath

XSL / XSLT

CSS

Namespace

XLink auch XLL

XPointer

XQL

Web Services

Page 10: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

10

XML...mehr unter W3CXML...mehr unter W3C

Page 11: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

11

Funktionen von XML – „Smart Data“Funktionen von XML – „Smart Data“

Beschreibung von Metadaten (Daten über die Daten)

– auf Basis der Struktur

– auf Basis des Inhalts

– auf Basis der Präsentation (Rendering)

– auf Basis der Verknüpfungen

Transformation von Daten unterschiedlicher DTDs

Metasprache (Beschreibung anderer Formate)

Datenaustauschformat

Page 12: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

12

Beispiel in HTML und XMLBeispiel in HTML und XMLAnhand eines Shopping GuidesAnhand eines Shopping Guides

<p>P1400 Laptop<br>Friendly Computer Shop<br>$1438<p>P1400 Laptop<br>Discount Computer Warehouse<br>$1299

<product><model>P1400 Laptop</model><dealer>Friendly Computer Shop</dealer><price>$1438</price>

</product><product>

<model>P1400 Laptop</model><dealer>Discount Computer Warehouse</dealer><price>$1299</price>

</product>

HTML XML

Page 13: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

13

XML - VisionenXML - Visionen

Überbrückung von Inkompatibilität

– proprietäre Datenformate

– unterschiedliche Plattformen

– Kommunikation von Applikationen

Mehrfache Verwertung einer Publikation

– Druck

– Datenformat

– Visualisierung

– Sprachausgabe

Internationalisierung der Datenkennzeichnung/-übertragung durch Unicode

Page 14: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

14

XML - Technischer StandXML - Technischer Stand

XML über CSS und XSL in der aktuellen Browser Generation

Zahlreiche XML Applikationen in der Entwicklung

z.B. XParse, Msxml-Parser, ...

Einige ‚Standards‘ existieren vorerst nur als Working Drafts.

Viel Marketing, wenig Marktpenetration

Weg von Proprietärität zu Akzeptanz als int. Standard

langwierig

Page 15: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

15

Zukunft von XML/SGMLZukunft von XML/SGML

Parallele Existenz von HTML, XML und SGML XML in Netzsystemen

– Datenspeicherung– Datenbeschreibung– Datenaustausch – Spezialapplikationen

HTML – Datendarstellung– Skripting

SGML– Große Dokumentationsprojekte,

ansonsten obsolet

Page 16: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz

staatlich befugter und beeideter Ingenieurkonsulent für Informatik

Web Service EngineeringWeb Service Engineering

XML-Einsatz Metadaten

Page 17: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

17

MetadatenMetadaten

Was bedeuten Metadaten

PICS, RDF, RSS

Semantik Web

Bedeutung von XML für Metadaten

Page 18: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

18

MetadatenMetadaten

Was sind Metadaten

– Metadaten enthalten Informationen über Daten

– www.w3.org/Metadata/

„Metadaten sind maschinenlesbare Informationen im

Web (Internet). Die W3C Metadata Activity

vereinheitlichte die Interessen verschiedener Gruppen,

Informationen über Daten im Web einheitlich zu

spezifizieren. Die primäre Tätigkeit der W3C Metadata

Activity war die Definition von RDF

– Projekte: PICS, Dsig, DC, RDF,...

Page 19: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

19

MetadatenMetadaten

Anwendung von Metadaten

– Kataloge

– Suchmaschinen, Agentensysteme

– Electronic Commerce

– Digitale Signaturen, Privacy, Urheberschutz

– Inhaltsbewertung, Ablaufdaten, etc.

– Recherche-Systeme, Annotationen, Blogs

Page 20: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

20

Anwendung von MetadatenAnwendung von Metadaten

PICS

– PICS = Platform for Internet Content Selection

– PICS erlaubt es, Dokumente mit Attributen (engl.: labels) zu versehen.

– Ursprüngliche Intention: Eltern und Lehrern ein Instrument bereitzustellen, das es ermöglicht zu kontrollieren, auf welche Information Jugendliche zugreifen können.

– Die Mechanismen für die Vergabe und Verwaltung von PICS-Attributen können auch für andere Zwecke eingesetzt werden.

– Letzte Version: W3C-Empfehlung PICS Version 1.1 (Okt. 96)

Quelle: http://www.w3.org/PICS/

Page 21: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

21

Anwendung von MetadatenAnwendung von Metadaten

PICS-Prinzipien

– herstellerunabhängig und -übergreifend

– Vergabe der PICS-Attribute

– durch den Informationsanbieter und

– durch zahlreiche, unabhängige Institutionen

(labeling Büro). Leichte Verwendbarkeit: Eltern und Lehrer sollen leicht

regulieren können, welche Information Ihren Kindern

zugänglich ist.

Page 22: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

22

Anwendung von Metadaten: PICSAnwendung von Metadaten: PICS

Page 23: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

23

Semantic WebSemantic Web

Die Semantic Web Activity hat die Metadata Activity abgelöst

– Definition: Das Semantic Web ist die Repräsentation von Daten im World

Wide Web in der Form, dass der Information eine wohldefinierte Bedeutung

erhalten um Mensch und Maschine besser kooperieren zu lassen.

– Es basiert auf dem Resource Description Framework (RDF), welches eine

Vielzahl von Applikationen integriert unter Anwendung von XML für die

sprachliche Beschreibung und URIs für die Benennung.

– "The Semantic Web is an extension of the current web in which information

is given well-defined meaning, better enabling computers and people to work

in cooperation." -- Tim Berners-Lee, James Hendler, Ora Lassila,

The Semantic Web, Scientific American, May 2001

Quelle: http://www.w3.org/2001/sw/

Page 24: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

24

Semantic Web Anwendung Semantic Web Anwendung

Kategorien

1. Datenintegration

2. Datenabhängige Agenten

3. Wissens-Management

4. Semantische Indices und Semantische Portals

5. Verwaltung persönlicher Daten

6. Metadaten für Annotationen

7. Metadaten für Beschreibung, Suche, und Auswahl

8. Metadaten für Medien und Inhalte

9. Wissensgenerierung

10.Management von Katalogen und Thesauri

11."Syndication"

Page 25: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

25

Semantic Web Anwendung Semantic Web Anwendung

Beispiele aus den Kategorien

– "Syndication" Veröffentlichung von Metadaten über Resourcen

Erlaubt Kategorisierung und Wiederbenutzung von

Material

– RSS ("RDF Site Summary„) Beschreibung eines "Kanals"

Beschreibung einzelner Artikel, Bilder, ...

"RSS reader" erlauben – Abonnement, Anzeige von neuen Nachrichten (via "poll")

– Wiederauferstehung von "Push"

– Weit verbreitet in Blogs

Page 26: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

26

XMLXML

Geschichtliches und Verwandtes

Was ist XML?

•Ziele & Visionen

•Geschichtliches und Verwandtes

•XML-Strukturen

•XML-Grammatik

•XML-Document Type Definitions

•XML/DTD-Beispiel

Page 27: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

27

Geschichtliches und Verwandheitsgrad Geschichtliches und Verwandheitsgrad mit anderen Markierungssprachenmit anderen Markierungssprachen

Entwicklungsgeschichte der Markierungssprachen- Entstehung von SGML, Entwicklungsprobleme, wichtige Pionierprojekte, Softwareentwicklung

Vergleich wichtiger Markierungssprachen- RTF, HTML, SGML und XML

Page 28: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

28

Definition MarkierungssprachenDefinition Markierungssprachen

Eine Markierungssprache dient zum (semantischen) Formatieren von Daten und Texten in z.B.

Textverarbeitungen wie Microsoft Word, Layoutprogrammen wie z.B. QuarkExpress Internetseiten Multimedia-Anwendungen (z.B. CD-ROM-

Präsentationen mit Macromedia Applikationenerstellt)

Page 29: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

29

Arten von MarkierungssprachenArten von Markierungssprachen

Es gibt 2 verschiedene Arten von Markierungssprachen

Besondere Formatierungssprachen (z.B. RTF und HTML)– Menge an Tags in Formatierungsmöglichkeiten beschränkt

– Dokument nicht portabel; d.h, kann nur von einem Programm, z.B. Word interpretiert werden

verallgemeinerte Markierungssprachen (z.B. SGML und XML)– Markierung beschreibt Struktur eines Dokumentes

– Definition von wiederverwendbaren Objekten möglich

Page 30: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

30

Struktur von SGMLStruktur von SGML

Markierung beschreibt die Struktur des Dokumentes, nicht dessen Formatierung oder Stilcharakteristika

strenge Markierungssyntax=> Code kann von Software und Mensch gelesen werden

Beispiel: e-Mail Struktur<TO>Jodie<FROM>Bill<SUBJECT>XML Seminar<BODY>History und Verwandtheit mit anderen Markierungssprachen

Page 31: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

31

Vergleich XML - SGMLVergleich XML - SGML

XML ist Teilmenge von SGML XML ist für das Web optimiert, kann mit HTML

zusammenarbeiten schlanker als SGML

=> SGML Spezifikation umfasst hunderte Seiten, XML 35 Seiten

XML unterstützt Stylesheets: erlaubt Erstellung von Stilen (z.B. Überschrift) ähnlich CSS in HTML 4.0

Page 32: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

32

Grafische Beschreibung der Grafische Beschreibung der VerwandtschaftVerwandtschaft

SGML

XHTML

XML

HTML

} verallgemeinert

} besonders

Page 33: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

33

Struktur von XML-DokumentenStruktur von XML-Dokumenten

Überblick– Markierungs-/Auszeichnungssprachen– besondere/verallgemeinerte Markierungssprachen– XML als Markierungssprache

Struktur von XML-Dokumenten– Wohlgeformtheit/Gültigkeit– Inhalt– logische Struktur (Prolog, Element,...)– physikalische Struktur

Page 34: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

34

XML als MarkierungsspracheXML als Markierungssprache

dient zur Strukturierung und Beschreibung von Daten

trennt den Inhalt von der Formatierung

<?xml version="1.0"?> <memo> <to>Jemand</to> <from>Mir</from> <subject>Ein Text</subject> <body>Hallo!</body> </memo>

keine Aussage über Formatierung

Page 35: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

35

XML-DokumenteXML-Dokumente

Ein Dokument ist ein XML-Dokument, wenn es wohlgeformt ist.

Genügt es weiteren Beschränkungen, kann es gültig sein.

wohlgeformt (well formed):– logische Struktur ist korrekt– alle Wohlgeformtheitsbeschränkungen sind

erfüllt

gültig (valid):– passende DTD (bzw. Schema)– Beschränkungen der DTD sind eingehalten

Page 36: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

36

WohlgeformtheitsregelnWohlgeformtheitsregeln

Basiskriterien, die sich aus der Grammatik ergeben:• „root“ element trägt Namen des DTD

es gibt nur ein root-Element

• gültige Verschachtelungen der Tags

• leere Elemente müssen abgeschlossen sein

• Attribute müssen in (“) eingeschlossen sein

• Überprüfung durch Prüfprogramme (Validierer) möglich

Page 37: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

37

Inhalt von XML-DokumentenInhalt von XML-Dokumenten

XML-Dokumente enthalten Text Text = Folge von Zeichen (Markup / Zeichendaten) Zeichen = atomare Einheit von Text (ISO/IEC 10646) Markup:

– Tags– Entity-Referenzen– ...

Text, der kein Markup ist, bildet die Zeichendaten

Page 38: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

38

logische Strukturlogische Struktur

zeigt, wie ein Dokument aufgebaut ist welche Elemente in welcher Reihenfolge

zwei Teile:– Prolog => Spezifikationen über den Dokumenttyp– Element => eigentlicher Inhalt des Dokuments

Page 39: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

39

PrologProlog

besteht optional aus:– XML-Deklaration => identifiziert

verwendete XML-Version– Dokumenttyp-Deklaration:

grammatische Regeln für Dokumenttyp intern/extern

z.B.: <?xml version="1.0" ?> <!DOCTYPE gruss [ <!ELEMENT gruss (#PCDATA)> ]> <gruss> Hallo </gruss>

Page 40: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

40

ElementElement

das Dokument-Element enthält alle Daten beliebige Anzahl verschachtelter

Unterelemente

begrenzt durch Start- und End-Tags, dazwischen Inhalt

Inhalt kann sein:– Elemente, Zeichendaten, Kommentare,...

kein Inhalt => leeres Element

Page 41: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

41

Start-TagStart-Tag

<name [attribut=wert [attr...]]>

kennzeichnet Anfang eines Elements Elementtyp durch Namen identifiziert (generic identifier) evtl. mehrere Attributspezifikationen

z.B.: <h1 align="center">

Page 42: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

42

End-TagEnd-Tag

</name>

Name im End-Tag muss gleich dem im Start-Tag sein Elemente müssen korrekt verschachtelt sein

z.B.:

<body> <h1 align="center">Hallo</h1> </body>

Page 43: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

43

Leeres-Element-TagLeeres-Element-Tag

<name [attribut=wert [attr...]]/>'

z.B.:

<img src="hallo.jpg"/>

auch möglich:

<img src="hallo.jpg"></img>

Page 44: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

44

ZusammenfassungZusammenfassung

XML Dokument

Prolog

XML-Deklaration

<?xml version=... ?>

Dokumenttyp-Deklaration

<!DOCTYPE ... >

Element

<name [attr=wert...]> *Inhalt* *Elemente* </name>

<name [attr=wert...]/>

Page 45: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

45

physikalische Strukturphysikalische Struktur

besteht aus dem gesamten Inhalt des Dokuments unterteilt diesen in Entities (Speichereinheiten)

– Dokument-Entity ist Anlaufstelle für Parser– analysierte / nicht analysierte Entities– interne / externe Entities

werden in der DTD deklariert auch durch Entity-Referenzen eingebunden

Page 47: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

47

XML AufgabeXML Aufgabe

Versuchen Sie, ein strukturiertes XML Dokument auf Basis der Printvorgabe zu erstellen (Buch, Zeitung, Fernsehprogramm)

Definieren Sie daraus einen allgemeinen Dokumenttypen

Lernen Sie das Werkzeug XML Spy kennen

Page 48: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz

staatlich befugter und beeideter Ingenieurkonsulent für Informatik

Document Type Definition / XML SchemaDocument Type Definition / XML Schema

Vortragsunterlagen zur Vortragsreihe MSc Multimedia und MSc NewMediaManagementan der Donauuniversität Krems

Page 49: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

51

Document Type DefinitionsDocument Type Definitions

Die Themen:– Dokumenttyp-Definitionen (DTD)– Elemente– Attribute– Entities– Notations

Literatur:– W3C: http://www.w3.org/TR/REC-xml – http://members.aol.com/xmldoku/– http://www.w3schools.com/

Page 50: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

52

XML-Sprachspezifikation

Prolog

interne DTDexterne DTD

XML-Deklaration

Dokumenttyp-Definition (DTD)

Elemente

Attribute

Entities

NotationsDokument

Aufbau eines XML-DokumentsAufbau eines XML-Dokuments

Page 51: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

53

Grundbegriffe

Dokumenttyp-Definitionen(DTD):

• legt Regeln für den Aufbau von Dokumenten fest• Beschränkungen der logischen Struktur• Gültigkeit des XML-Dokuments

Elemente:

„Befehlssatz“ für das XML-Dokument; wird in der DTD festgelegt

Attribute:

• „Parameter“ mit denen die Elemente näher spezifiziert werden. • werden zusammen mit den Elementen in der DTD festgelegt

DTD-GrundbegriffeDTD-Grundbegriffe

Page 52: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

54

Dokumenttyp-Deklaration/ -Definition (DTD)

externe DTD:in separater Datei, auf die verwiesen wird

interne DTD (=„interne DTD-Untermenge"):direkter Bestandteil der DTD

Eigenschaften der DTD• Mehrfach-Deklaration möglich• interne DTD überschreibt externe DTD• intern + extern werden zusammengefaßt („Gesamt-DTD“)

Dokumenttyp-Deklaration/-Definiton (DTD)Dokumenttyp-Deklaration/-Definiton (DTD)

Page 53: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

55

Syntax:<!DOCTYPE name SYSTEM "externeDTD" [interneDTD]>

Beispiel:<!DOCTYPE fh-eisenstadt SYSTEM "info.dtd" [ <!ELEMENT ...> <!ATTLIST ...>]>

DTDs enthalten Definitionen von Elementen und Attributen ...

DTD-SyntaxDTD-Syntax

Page 54: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

56

= für das Dokument gültige "Befehle"

• Elemente bestehen aus einem Start-Tag und einem End-Tag.• End-Tag muss vorhanden sein• Schachtelungen sind möglich.

Element-Arten• Inhalt besteht nur aus Elementen (="Element-Inhalt")• Inhalt besteht nur aus Daten• Mischform: Inhalt besteht aus Elementen und Daten

Wurzel- oder Dokument-Element:

• muss in jedem XML-Dokument vorhanden sein• muss alle anderen Elemente einschließen (Container)• Wurzelelement = Name der Dokumenttyp-Deklaration

XML-ElementeXML-Elemente

Page 55: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

57

<!ELEMENT name ( inhaltsmodell )>

Inhaltsmodell: • Liste von "Unter-Elementen"• können/ müssen innerhalb der Element-Tags verwendet werden• spezielles Unter-Element #PCDATA für Daten-Inhalt

Sonderregeln bei gemischtem Inhalt:• #PCDATA ist immer erstes Unter-Element in der Liste• Unter-Elemente müssen optional sein• Reihenfolge der Unter-Elemente nicht festlegbar

Trennzeichen für Inhaltsmodell: , | + * ? ( )

Elementtyp-DeklarationElementtyp-Deklaration

Page 56: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

58

Beispiele

<!ELEMENT kunde (name,adresse, telefon?)>

<!ELEMENT student (mat,(mann|frau)) ANY>

<!ELEMENT autor (name, buecher*)>

<!ELEMENT e (#PCDATA|u1|u2|u3)*>

leeres Element:ist erlaubt, wenn in der Deklaration "EMPTY" hinzugefügt ist

Schachtelung:möglich, wenn Element mit "ANY" deklariert ist

Elementtyp-DeklarationElementtyp-Deklaration

Page 57: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

59

Attribut-Vorgaben:

• default-Werte setzen• Attribute als Pflicht- / freiwillige Eingabe deklarieren

allgemeine Syntax:

<!ATTLIST elementnameatt1 schlüsselwort att-

vorgabeatt2 wertliste att-

vorgabe>

Attribute der ElementeAttribute der Elemente

Page 58: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

60

Aufzählungs-Typ

• hat kein Schlüsselwort• wird erkannt durch Wertliste• Attribut kann nur einen Wert aus der Liste annehmen• default-Wert in DTD festlegen

Beispiel:...<!ATTLIST buecher

format (A5|A4|A3|B6) "A4">...

AttributtypenAttributtypen

Page 59: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

61

Document Typ Definitionen beschreiben die Grammatik des Dokumentes

<!ELEMENT buch (titelseite, kapitel+, index?)><!ELEMENT titelseite (titel, autor)><!ELEMENT titel (#PCDATA)><!ELEMENT kapitel (titel, absatz+)><!ATTLIST kapitel nummer CDATA #REQUIRED><!ELEMENT absatz (#PCDATA)><!ELEMENT index (eintrag+)><!ELEMENT eintrag (phrase, auf_seite+)><!ELEMENT phrase EMPTY><!ATTLIST phrase text CDATA #REQUIRED><!ELEMENT auf_seite EMPTY><!ATTLIST auf_seite nummer NUMBER #REQUIRED>

Beispiel einer XML DTDBeispiel einer XML DTD

Page 60: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

62

Valide XML Dokumente und wohlgeformte XML Dokumente<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE buch SYSTEM “C:\buch.dtd”><buch><titelseite><titel>Buch zur LVA Web Service Engineering</titel><autor>Markus Schranz</autor></titelseite><kapitel nummer=“1”><titel>Kapitel 1: Das Internet</titel>… </kapitel><kapitel nummer=“2”>…</kapitel><index>… </index></buch>

Beispiel einer XML-Anwendung (Datei)Beispiel einer XML-Anwendung (Datei)

Page 61: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

63

Aufgabe 2Aufgabe 2

Erstellung einer DTD

Versuchen Sie, für die zuletzt erstellte XML-Datei

einen Dokumenttyp zu definieren

Vergleichen wir dazu ein XML Schema

Einsatz von XML Spy

DTD aus Basisdokument

Page 62: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz

staatlich befugter und beeideter Ingenieurkonsulent für Informatik

Web Service EngineeringWeb Service Engineering

Der XML Standard: Workshop – Die Extensible Stylesheet Language

Page 63: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

65

XSL - informellXSL - informell

EXtensible Stylsheet Languange – oder besser: Die Stylesheet Language für XML

Warum XSL?

Einsatzmöglichkeiten

vorgesehene Anwendungsweise

XML XML HTML mit XSL

Darstellung im Browser

Page 64: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

66

Was ist XSL?Was ist XSL?

XSL ist eine Beschreibung dessen, wie ein Prozessor ein XML-Dokument von einer Struktur in eine andere zu transformieren hat

Eine mögliche Transformation ist es, das XML-Dokument von einer semantischen Struktur in eine Anzeigestruktur zu überführen.

z.B.: ein XML-Dokument in ein HTML-Dokument

aber ebenso auch XML XML

Page 65: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

67

Warum XSL ?Warum XSL ?

Durch die Trennung von Daten und Formatierung ist es notwendig ein Werkzeug zur Verfügung zu haben, mit dessen Hilfe man in der Lage ist, die Daten umzustrukturieren.

Ein Spezialfall der Umstrukturierung wäre die Darstellung der Daten in Form der Anzeigestruktur.

Dabei dienen die XSL-Vorgaben als Vorlage, Muster, für die Struktur des Ausgabedokuments.

Page 66: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

68

EinsatzmöglichkeitenEinsatzmöglichkeiten

Formatierungs-anweisungen fürDruckausgabe

Formatierungs-anweisungen für

SMS-Textausgabe

Formatierungs-anweisungen fürInternetausgabe

Formatierungs-anweisungen fürSprachausgabe

<movie><title>Star Trek: Insurrection</title><star>Patrick Stewart</start><star>Brent Spiner</star><theatre>

<theatre-name>MondoPlex 2000</theatre-name><showtime>1415<showtime><showtime>1630<showtime><showtime>1845<showtime><showtime>2100<showtime><showtime>2315<showtime><price>

<adult-price>8.50</-price><child-price>5.00</-price>

</price></theatre><theatre>

<theatre-name>Bigscreen 1</theatre-name><showtime>1930<showtime><price>

<adult-price>6.00</adult-price></price>

</theatre></movie>

Page 67: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

69

Eine XSL-VorlageEine XSL-Vorlage

<xsl:template xmlns:xsl=”uri:xsl”> <HTML> <HEAD> <TITLE>XSL</TITLE> </HEAD> <BODY> <B>Dies ist ein Test einer XSL-Vorlage.</B> </BODY> </HTML></xsl:template>

Statisch (ohne XML-Daten)

Page 68: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

70

XML-Daten:

<CATALOG> <PLANT> <COMMON>Bloodroot</COMMON> <BOTANICAL>Sanguinaria canadensis</BOTANICAL> <ZONE>4</ZONE> <LIGHT>Mostly Shady</LIGHT> <PRICE>$7.05</PRICE> <AVAILABILITY>02/01/99</AVAILABILITY> </PLANT></CATALOG>

Page 69: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

71

Die XSL-Vorlage:

<?xml version=”1.0”?><xsl:template xmlns:xsl=”uri:xsl”> <HTML> <BODY> <xsl:for-each select=”CATALOG/PLANT”> <DIV> <SPAN STYLE=”font-weight:bold; font-size:20> <xsl:value-of select=”COMMON"/> </SPAN> </DIV> </xsl:for-each> </BODY> </HTML></xsl:template>

Page 70: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

72

<CATALOG> <PLANT> <COMMON>Bloodroot</COMMON> <BOTANICAL>Sanguinaria canadensis</BOTANICAL> <ZONE>4</ZONE> <LIGHT>Mostly Shady</LIGHT> <PRICE>$7.05</PRICE> <AVAILABILITY USONLY=”true”>02/01/99</AVAILABILITY> </PLANT></CATALOG>

XML-Daten:

XSL-Vorlage:

<HTML><BODY>

</BODY></HTML>

HTML-Dokument:

<DIV><SPAN STYLE=”font-weight:bold; font-size:20”>

</SPAN></DIV>

<?xml version=”1.0”?><xsl:template xmlns:xsl=”uri:xsl”> <HTML> <BODY> <xsl:for-each for=”CATALOG/PLANT”> <DIV> <SPAN STYLE=”font-weight:bold; font-size:20> <xsl:value-of for=”COMMON“/> </SPAN> </DIV> </xsl:for-each> </BODY> </HTML></xsl:template>

Bloodroot

Page 71: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

73

XMLXSLT HTML

XSLT

Prozeß

Transformations-anweisungen

Quelldokument

Zieldokument

Page 72: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

74

XML

XSLT

XSLT

Prozeß

Transformations-anweisungen

Quelldokument

XSLT

Transformations-anweisungen

Web Host

XSLTProzeß

Display

Display

XML Browser

HTML Browser

Page 73: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

75

ZwischenbilanzZwischenbilanz

XSL bietet die Möglichkeit die Struktur von XML-Dokumenten zu verändern (XML XML, HTML).

Dazu enthält die XSL-Vorlage sowohl XSL-Anweisungen (<xsl: .....>) wie auch Bestandteile der Zielstruktur (<HTML>).

Die häufigste Anwendung ist die Überführung der XML-Daten in eine Ansichtsstruktur, z.B. für einen Web-Browser.

Für die Ansicht gibt es 2 Möglichkeiten: Für eine HTML-Browser erstellt der Host mittels

XSL-Vorlage die Ansichtsstruktur Für einen XML-Browser stellt der Host nur das

XML-Dokument und die XSL-Vorlage bereit und der Browser erzeugt die Ansichtsstruktur

Page 74: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz

staatlich befugter und beeideter Ingenieurkonsulent für Informatik

Web Service EngineeringWeb Service Engineering

Der XML Standard: Workshop – XSL Syntax und AnwendungBis hierher

Page 75: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

77

XSLXSL

Interessant ist der Einsatz von XSL templates zur Dokumenttransformation (siehe vorherige Beispiele Pflanzenkataloge)

templates „matchen“ bestimmte Knoten (nodes, roots)

Die Anwendung von templates

<xsl:apply-templates/>...wirft Rekursion in

darunterliegenden Teilbäumen an

Page 76: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz

staatlich befugter und beeideter Ingenieurkonsulent für Informatik

Web Service EngineeringWeb Service Engineering

Der XML Standard: Workshop – XSL Transformationen

Page 77: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

79

XSL Transformation XSL Transformation

Kurzeinführung

XSL (eXtensible Stylesheet Language) ist eine

XML Sprachapplikation um Style Sheets

auszudrücken

XSL besteht aus 3 Teilen

XSLT,

XPath,

XSL Formatting Objects

Page 78: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

80

XSLT XSLT

CSS – Die Style Sheets für HTML Weil HTML vordefinierte Tags verwendet werden

diese wohl verstanden und Browser wissen, wie die markierten Texte darzustellen sind. Erweiterungen der Darstellung durch Style Sheets (Absätze in Grün, Tabellenformatierungen, etc.) in CSS sind einfach zu erstellen und einfach verständlich

XSL – Style Sheets für XML Weil XML keine vordefinierten Tags verwendet,

weiß weder der Mensch noch die Maschine, wie ein XML Dokument darzustellen ist. Dazu gibt es XSL Style Sheets, die eine Transformation festlegen XSL Transformationen bestimmen die Regeln der Überführung von einem XML Dokument in ein anderes.

Page 79: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

81

XSLT XSLT

XSL Transformationen

XSLT kann neue Elemente hinzufügen oder Elemente

entfernen

Es kann das Dokument neu arrangieren oder sortieren

XSLT kann Elemente prüfen und anhand der

Bedingungen feststellen, ob diese im Ergebnis wieder

angezeigt werden sollen, und und und...

Page 80: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

82

XSLT XSLT

Kurzeinführung

Mittels Xpath werden Teile des Original-XML

Dokuments identifiziert (match)

Ein identifiziertes Objekt wird gemäß (in XSL

definierten) Templates transformiert

Page 81: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

83

XSLT XSLT

Kurzeinführung

xsl style sheets werden (in XML) mit den root-

Tags

xsl:stylesheet oder xsl:transform deklariert

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transfor

m">

Beispiel songs.xml bzw. songs.xsl in XML Spy,

jetzt parallel im XMLSpy erstellen

Page 82: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

84

XSLT XSLT

Kurzeinführung

The <xsl:template> Element enthält Regeln und

Anweisungen die auszuführen sind, wenn ein

bestimmter Node identifiziert wird

<xsl:template match="/">

<html> <body>

<h2>My CD Collection</h2>

<table border="1"> ...

Page 83: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

85

XSLT XSLT

Kurzeinführung

das <xsl:value-of> Element wird dazu

verwendet, den Inhalt eines identifizierten

Elementes in das Ergebnis aufzunehmen

... <td><xsl:value-of

select="catalog/cd/title"/></td> ...

Page 84: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

86

XSLT XSLT

Kurzeinführung

das <xsl:for-each> Element erlaubt eine

schleifenweise Behandlung aller Nodes, die durch das

XPath-Muster identifiziert wurden

Beispiel songs.xsl

Filtern des Ergebnisses durch XPath-Einschränkungen

etwa: <xsl:for-each

select="catalog/cd[country='UK']">

Page 85: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

87

XSLT XSLT

Kurzeinführung

Sortierung der Elemente durch <xsl:sort

select=“criterium“>

Fügen wir

<xsl:sort select="artist"/>

zu unserem Beispiel hinzu

Page 86: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

88

XSLT XSLT

Kurzeinführung

Bedingte Transformationen durch <xsl:if> oder

<xsl:choose>

...<xsl:choose> <xsl:when test="price &gt; 10"> <td bgcolor="#ff00ff"> <xsl:value-of

select="artist"/></td> </xsl:when> <xsl:otherwise> <td><xsl:value-of

select="artist"/></td> </xsl:otherwise> </xsl:choose>

Page 87: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

89

XSLT XSLT

Kurzeinführung

Das <xsl:apply-templates> Element wendet eine

Template Regel auf das aktuell identifizierte Element

(Node) an.

Wenn man ein select Attribut angibt, wird nur das

Child-Element bearbeitet, das durch das angegebene

Attribut identifiziert wird. Damit lassen sich

Reihenfolgen und Selektionen/Deselektionen

durchführen (sollen alle Children oder nur bestimmte in

das Ergebnis einfliessen)

Page 88: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

90

XSL ÜbungXSL Übung

Umfassendes Übungsbeispiel:Umfassendes Übungsbeispiel:

Vorgabe CD-KatalogVorgabe CD-Katalog

10 Minuten überlegen und ausführen, wie das XML 10 Minuten überlegen und ausführen, wie das XML in ein geeignetes HTML Format übertragen werden in ein geeignetes HTML Format übertragen werden kannkann

Page 89: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

91

XSL ÜbungXSL Übung

Umfassendes Übungsbeispiel:Umfassendes Übungsbeispiel:

Vorgabe CD-KatalogVorgabe CD-Katalog

10 Minuten überlegen und ausführen, wie das XML 10 Minuten überlegen und ausführen, wie das XML in ein geeignetes HTML Format übertragen werden in ein geeignetes HTML Format übertragen werden kannkann

Page 90: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

92

Beispiel XML – songs catalogBeispiel XML – songs catalog

<?xml version="1.0" encoding="ISO-8859-1"?><catalog>

<cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year>

</cd> <cd>

<title>Unchain my heart</title> <artist>Joe Cocker</artist> <country>USA</country> <company>EMI</company> <price>8.20</price> <year>1987</year> </cd> ...</catalog>

Page 91: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

93

Musterlösung CD-KatalogMusterlösung CD-Katalog

<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Title</th> <th align="left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template></xsl:stylesheet>

Page 92: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

94

XSL-BeispielXSL-Beispiel<?xml version="1.0"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0"><xsl:template match='pte'><h3><xsl:apply-templates select="title"/></h3><p><b><xsl:apply-templates select="text/lead"/></b><br/><br/><xsl:choose> <xsl:when test="img[@src]"> <img src="{img/@src}" align="left"/> </xsl:when></xsl:choose><xsl:for-each select="text"><xsl:value-of select="."/><!-- <xsl:apply-templates/> --><br/><br/></xsl:for-each></p>

</xsl:template></xsl:stylesheet>

Page 93: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

95

Angabe: XMLAngabe: XML

-<lva type="ilv">- <titel>XML - Theorie und Praxis</titel>- <block nr="1">- <datum>17.10.2005</datum>- <inhalt>Metadaten Grundlagen</inhalt>- </block>- <block nr="2">- <datum>10.11.2005</datum>- <inhalt>XML Dokumente, DTDs, Schemas</inhalt>- </block>- <block nr="3">- <datum>2.12.2005</datum>- <inhalt>XML Beispiele, XSL Einführung</inhalt>- </block>- <block nr="4">- <datum>18.12.2005</datum>- <inhalt>XML Applikationen, DOM, SAX, WML,SVG</inhalt>- </block>- <block nr="5">- <datum>9.1.2006</datum>- <inhalt>XML Topic Maps, WSDL, SOAP, Nedine</inhalt>- </block>-</lva>

Page 94: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

96

Gesuchtes Ergebnis:Schreiben Sie die dazu notwendigen Transformationen in XSL

Page 95: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

97

XSL Beispielangabe MusterXSL Beispielangabe Muster

<?xml version=“1.0” encoding=“iso-8859-1”?><catalog>- <cd>  <title>Empire Burlesque</title>   <artist>Bob Dylan</artist>   <country>USA</country>   <company>Columbia</company>   <price>10.90</price>   <year>1985</year></cd><cd>  <title>Still got the blues</title>   <artist>Gary Moore</artist>   <country>UK</country>   <company>Virgin records</company>   <price>10.20</price>   <year>1990</year> </cd><cd>  <title>When a man loves a woman</title>   <artist>Percy Sledge</artist>   <country>USA</country>   <company>Atlantic</company>   <price>8.70</price>   <year>1987</year></cd></catalog>

Wiel lautet die notwendigen XSL Transformationen ?

Page 96: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz

staatlich befugter und beeideter Ingenieurkonsulent für Informatik

XSL und Standardisierte AnwendungenXSL und Standardisierte Anwendungen

Konkrete XML-Anwendungen, standardisierte Dokumenttypen

Page 97: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

99

XML AnwendungenXML Anwendungen

XML-Anwendungen

Verschiedenste DTDs sind bereits als Standards oder Recommendations anerkannt

XHTML XML für Grafik- und Multimediaformate WML NewsML, NITF

Page 98: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

100

XHTMLXHTML XHTML ist eine sauberere Form der HTML

– Wohlgeformt im Sinne von XML

– Verwendet saubere Schachtelung

<b><i>text</i></b> statt <b><i>text</b></i>

– Singletons sind nach XML abgeschlossen

<IMG SRC=“somewhere.gif“/>

– XML Parser können diese Struktur nutzen

– W3C Recommendation 26 January 2000,

revised 1 August 2002

Die eXtended Hypertext Markup Language ?

XHTMLXHTML

Page 99: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

101

XML für Grafiken und MultimediaXML für Grafiken und Multimedia

Problem: Das Web benutzt Grafik-Formate für 2D und 3D (gif, jpeg, png): diese sind generell Pixel-basiert

Zoomen führt zu unschönen Ergebnissen Lösung: Verwendung von Vector basierten

Formaten: diese sind durch mathematische Funktionen beschrieben

Page 100: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

102

LösungLösung

XML Codierung für spezifische Inhalte– Images 2D / 3D – Audio, Music– Video

– MathML– CML– Metadata for museum information / CIMI

(=Consortium for the Interchange of Museum Information)

– ...

Page 101: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

103

Scalable Vector GraphicsScalable Vector Graphics

W3C Working Draft 3. March 2000 http://www.w3.org/TR/SVG/ description of 2 dimensional graphic objects contains 3 different graphic object types:

– vector graphics (rectangles, circles, lines, curves)– text– pictures

Page 102: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

104

Scalable Vector GraphicsScalable Vector Graphics

SVG 1.0 ist eine W3C recommendation seit September 2001

SVG 1.1 ist eine W3C Recommendation seit Januar 2003

Page 103: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

105

Scalable Vector GraphicsScalable Vector Graphics

svg x, ycontainer for all graphic object: x,y coordinates within

the Web page rect x,y, width, height

a rectangular area, with rx, ry rounded corners circle cx, cy, r

cx,cy coordinates for centre point, r: radius ellipse cx, cy, rx,ry

cx,cy for centre point; ry,rx radius for both axis line x1,x2,y1,y2

x1,y1 start point, x2,y2 end point

Page 104: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

106

Scalable Vector GraphicsScalable Vector Graphics

Wird nicht direkt im IE or Netscape unterstützt Trotzdem gibt es Unterstützung in vielen

Software-Tools:– Export from Graphic programs:

Corel Draw 10 Adobe Illustrator

– SVG2PDF program by Digital Applications, Inc.– SVG Toolkit by CSIRO– Jakaroo– SVG in Mozilla (started in late 1999)– UNIX/LINUX based applications– Adobe Browser Plugin (ab Mitte 2000)

Page 105: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

107

Scalable Vector GraphicsScalable Vector Graphics

Adobe Browser Plugin 3.0

http://www.adobe.com/ svg/viewer/install/svgtest.html

Werden wir hier im Labor einsetzen

Page 106: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

108

SVG exampleSVG example

Produced in Corel Draw 9, exported to SVG

Page 107: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

109

<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE svg SYSTEM "svg-19991203.dtd"><!-- Creator: CorelDRAW --><svg xml:space="preserve" width="6.34153in" height="4.09944in" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality" viewBox="-3637 0 6341 4099"> <defs> <style type="text/css"> <![CDATA[ .str0 {stroke:#1F1A17;stroke-width:3} .str1 {stroke:#169F62;stroke-width:111} .fil4 {fill:none} .fil1 {fill:#75C5F0} .fil2 {fill:#DD137B} .fil3 {fill:#FFF500} .fil0 {fill:#FFFB9D} ]]> </style> </defs> <g > <title>Ebene 1</title> <ellipse class="fil0 str0" cx="-1275" cy="2697" rx="2361" ry="1401"/> <rect class="fil1 str0" x="-3262" y="2" width="5540" height="2428"/> <path class="fil2 str0" d="M1656 1367l523 328 523 327 -199 530 -200 531 -647 0 -646 0 -200 -531 -200 -530 523 -327 523 -328z"/> <text x="-2756" y="836" class="fil3" style="font:normal 500 Garamond">Test picture for SVG</text> <text x="-2756" y="1399" class="fil3" style="font:normal 500 Garamond">in Corel Draw 9</text> ... </g></svg>

SVG exportSVG export

Page 108: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

110

Extensible 3D (X3D)Extensible 3D (X3D)

Successor of VRML97– http://www.web3d.org/x3d.html– plan: in 2002 ISO standard

Component based approach (profiles)– scalable, thin clients, DOM support– core model (X3D-Core profile)

minimum set of viewer functions 3D geometries, animations, interactions,

rendering

– X3D-VRML profile compatibility to VRML97

– user specific profiles (GeoVRML)

Page 109: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

111

Extensible 3D (X3D)Extensible 3D (X3D)

Major X3D contributors – Sun, Shout Interactive,blaxxun, DRaW Computing,

Cybelius, Perceptronics, Quadramix, Sony, NIST, Lucid Actual, Trapezium, NPS

X3D process– actual: Implementation & Evaluation

x3d-compromise.dtd version 0.79 May, 1, 2000

– next: standardization– Web3D is a member of W3C

Page 110: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

112

X3D exampleX3D example

#VRML V2.0 utf8Transform { children [ NavigationInfo { headlight FALSE } # We'll add our own light

DirectionalLight { # First child direction 0 0 -1 # Light illuminating the scene }

Transform { # Second child - a red sphere translation 3 0 1 children [ Shape { geometry Sphere { radius 2.3 } appearance Appearance { material Material { diffuseColor 1 0 0 } # Red } } ] }...

As VRML

XML-Anwendungen

Page 111: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

113

SMILSMIL

Synchronize Multimedia on the web using an XML based language– To enable simple authoring of TV-like multimedia

presentations such as training courses on the Web– HTML-like, easy to learn– a smile presentation can contain components of streaming

audio, streaming video, images, text or any other media type

http://www.w3.org/AudioVideo/ SMIL Boston Working Draft (25 Feb. 2000) SMIL 2.0, W3C Recommendation 7 August 2001

Page 112: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

114

SMILSMIL

SMIL Authoring Tools Allaire HomeSite, CWI SMIL Validator ,

HotSausage SMIL Composer SuperTool, LP Studio , Oratrix Grins, RealSlideshow 2.0 by RealNetworks, TAG Editor 2.0 - G2 release by Digital Renaissance , VEON authoring tool, ...

SMIL Players Apple QuickTime 4.1, Compaq HPAS ,

Helio Barbizon, Microsoft Player Internet Explorer 5.5 Preview (supports selected modules of SMIL Boston draft) , NIST S2M2 Player, Oratrix Grins, Productivity Works L p player, RealNetworks, Realplayer 7

XML-Anwendungen

Page 113: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

115

SMIL exampleSMIL example

<smil> <head>

<meta name="title" content="Car"/><meta name="author" content="NCAM/NOVA"/><meta name="copyright" content="©1998 WGBH

Educational Foundation" /> <layout> <root-layout background-color="black" height="180"

width="250"/> <region id="videoregion" background-color="black" top="5"

left="35" height="130" width="180"/> <region id="textregion" top="135" left="-37" height="120"

width="250"/> </layout> </head><body> <par><!-- VIDEO --> <video src="carsilent.rm" region="videoregion"/><!-- PROGRAM AUDIO --> <switch> <audio src="carnarren.rm" system-language="en"/> <audio src="carnarde.rm" system-language="de"/> <!-- <audio src="carnarres.rm" system-language="es"/> --> <audio src="carnarren.rm"/> </switch><!-- AD --> <switch> ...

Page 114: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

116

SMIL exampleSMIL example

<window bgcolor="black" wordwrap="true">

<font size="3" face="times new roman" color="#FFFFFF">

<center>

<time begin="00:01.7"/>

Someone watching a car<BR> accelerate toward light speed

<time begin="00:05.0"/><clear/> would see something<br> very strange.

<time begin="00:07.4"/><clear/> It would seem as though the<br> car itself were getting shorter

<time begin="00:10.5"/><clear/> and that time for the person<br> in the car was slowing down.

<time begin="00:14.4"/><clear/> However, you wouldn't<br> see these effects

<time begin="00:17.3"/><clear/> until the car began to<br> approach the speed of light.

<time begin="00:20.6"/><clear/> At 90% of the speed of light

<time begin="00:23.0"/><clear/> the car would appear to shrink<br> to 44% of its usual length.

<time begin="00:28.6"/><clear/> This thought experiment

<time begin="00:30.2"/><clear/> answered Einstein's<br> old question

<time begin="00:32.5"/><clear/> about what he would see

<time begin="00:33.9"/><clear/> if he traveled along<br> with a beam of light.

<time begin="00:36.3"/><clear/> He simply couldn't<br>make the trip

<time begin="00:38.4"/><clear/> for at the speed of light,<br> length would contract to zero

<time begin="00:42.1" end="00:44.5"/><clear/> and time would stop.

</center>

</font>

</window>

Page 115: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

117

SMIL BeispieleSMIL Beispiele

unter http://www.w3schools.com/smil/ gibt es viele weitere Beispiele

Timing (Dauer, Starzeit, Wiederholungen,etc.) Parallelität und Synchronisation Übergänge (Fading, Wiping, Transitions, etc.) Audio, Video Integration

Page 116: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

118

VoiceML/VoiceXMLVoiceML/VoiceXML

W3C Note: May, 5th, 2000– VoiceXML 1.0 Specification March, 7th, 2000

Wurde entworfen für– synthesized speech, digitized audio, regongition of

spoken and DTMF key input, recording of spoken input, telephony

– standardization of speech recognition products VoiceXML Forum

– industry org. by AT&T, IBM, Lucent, Motorola

Page 117: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

119

MusicMLMusicML

DTD for sheetmusic (March 5, 1998)– No standard– http://195.108.47.160/3.0/musicml/

index.html– Connection Factory, Dutch enterprise

MusicML document basic structure: <sheetmusic> <musicrow size="two"> </musicrow> <musicrow size="two"> </musicrow></sheetmusic>

Page 118: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

120

MusicML example MusicML example (nicht mehr existent)(nicht mehr existent)

<?XML version="1.0"?><!DOCTYPE sheetmusic SYSTEM "music.dtd"><sheetmusic> <musicrow size="two"> <entrysegment> <entrypart cleff="bass" rythm="threequarter" position="one"> <molkruis level="zero" name="g" notetype="flat"/> <molkruis level="zero" name="b" notetype="sharp"/> </entrypart> <entrypart cleff="treble" rythm="threequarter" position="two"> </entrypart> </entrysegment> <segment> <subsegment position="one"> <chord> <note beat="quarter" name="f" level="zero"/> <note beat="quarter" name="b" level="zero"/> <note beat="quarter" name="d" level="plus1"/> <note beat="quarter" name="f" level="plus1"/> </chord> <chord info="Em9-5"> <note beat="half" name="c" level="zero"></note>...

Page 119: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

121

MathMLMathML

MathML ist eine Auszeichnungssprache, die speziell für mathematische Ausdrücke gedacht ist. Folgendes Beispiel soll verdeutlichen, wie man mit MathML mathematische Formeln darstellen kann. Als Beispiel wird die Formel x2+4x+2=0 in MathML dargestellt:

<mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn>

</msup> <mo>+</mo> <mrow> <mn>4</mn>

<mo>&InvisibleTimes;</mo> <mi>x</mi> </mrow> <mo>+</mo>

<mn>4</mn> </mrow> <mo>=</mo> <mn>0</mn>

</mrow>

Page 120: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

122

MathMLMathML

<mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mrow> <mn>4</mn> <mo>&InvisibleTimes;</mo>

<mi>x</mi> </mrow> <mo>+</mo> <mn>4</mn> </mrow> <mo>=</mo> <mn>0</mn>

</mrow>

Das Prinzip, das hinter MathML steckt, ist aus dem Beispiel leicht ersichtlich. Operatoren werden durch das mo-Tag, Zahlen durch das mn-Tag und Variablen durch das mi-Tag gekennzeichnet. Zusäztlich gibt es noch Tags wie mrow und msup die die Beziehung der einzelnen Terme zueinander angeben. Im Beispiel ist außerdem die Entityreferenz InvisibleTimes zu sehen. Dadurch, daß das Multiplikationszeichen als Entity definiert ist, läßt es sich leicht austauschen, je nachdem ob es als Punkt oder

durch Auslassung dargestellt werden soll.

Page 121: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

123

MathMLMathML XML-Anwenungen

Page 122: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

124

MathMLMathML

<mrow> <mi>x</mi>

<mo>=</mo> <mfrac> <mrow>

<mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>&PlusMinus;</mo> <msqrt>

<mrow> <msup> <mi>b</mi> <mn>2</mn>

</msup> <mo>-</mo> <mrow> <mn>4</mn> <mo>&InvisibleTimes;</mo> <mi>a</mi> <mo>&InvisibleTimes;</mo> <mi>c</mi>

</mrow> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn>

<mo>&InvisibleTimes;</mo> <mi>a</mi> </mrow>

</mfrac> </mrow>

Page 123: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

125

Standards - NewsMLStandards - NewsML

Geplante Ziele:– Medienunabhängigkeit– mehrfache Darstellung einer Nachricht– Alle Formate und Medientypen werden gleichermassen

erkannt– Erleichterung der Entwicklung / Erstellung von

Nachrichtenelementen– Simples Hinzufügen oder Ausblenden von

Nachrichtenelementen– “collections of news items”– Verknüpfung zwischen Nachrichtenelementen– Datenanhang

Page 124: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

126

Standards - Standards - NewsML - Die ZukunftNewsML - Die Zukunft

Wie geht es weiter?– Noch relativ unvollständig, textlicher Inhalt mit

NITF geregelt– schnelle Entwicklung– Wird NewsML alle alten Standards aus dem

Nachrichtenbereich ablösen?

– Akzeptanz bei etablierten Agenturen:Wird nach und nach umgesetzt

Viele Kunden fordern Kontinuität “unruhiger” Standardstatus noch abzuwarten

Page 125: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

127

XML bei NachrichtenagenturenXML bei Nachrichtenagenturen

Standards - Einsatz von XML in der Nachrichtenagenturpressetext.austria

Daten im Syndication Service folgen den XML Standards• PTE-DTD• NITF 1.0• NITF 2.5sind im Einsatz.http://www.syndikat.at/

Page 126: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

128

WMLWML

Einführung WAP Protokoll Aufgaben von WML Struktur eines WML Dokuments Events und Navigation

Page 127: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

129

Einführung - WAPEinführung - WAP

WAP - Wireless Application ProtocolÜbertragungsprotokoll für mobile Endgeräte

Markup-Sprache, die auf XML basiertSprache orientiert sich an den beschränkten Möglichkeiten mobiler Endgeräte, vor allem

kleine, oft monochrome Displaysbeschränkte EingabemöglichkeitenNetzanbindung mit geringer Bandbreitebegrenzter Speicher und Rechenkapazität

Anwendungsmöglichkeiten:HandysPDAs

Page 128: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

130

Aufgaben von WMLAufgaben von WML

Textdarstellung und Layout Strukturierung der Information Navigation zwischen Dokumenten Interaktion mit Benutzer

Page 129: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

131

Struktur eines DokumentsStruktur eines Dokuments

Ein WML-Dokument ist immer ein gültiges XML-Dokument

Deck: Gesamtes WML-Dokument Card: Informationseinheit, die dargestellt wird

– Blättern zwischen cards

Page 130: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

132

Deck-EbeneDeck-Ebene

Zugriffskontrolle:– access-Element: Zugriff nur von bestimmter Domain

und Pfad möglich

Template:– Events, die auf deck-Ebene definiert werden, sind für

alle cards gültig. Überschreiben der Events in cards möglich

– Do-Element

Page 131: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

133

Card-EbeneCard-Ebene

Eine card wird komplett auf dem Display dargestellt

Beinhaltet:– Text– Eingabeelemente– Events, die nur auf card-Ebene gültig sind– Links

Page 132: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

134

RDF – Resource Definition FrameworkRDF – Resource Definition Framework

Notwendigkeit

ständig wachsende Anzahl von Informationen

Austauschformat für Metadaten nötig

neutral - für jede Anwendung nutzbar

Maschinenverständlich, maschinenverarbeitbar

muß über Computernetze übertragbar sein

soll erweiterbar sein

verständlich für den Menschen

Page 133: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

135

RDF-DatenmodellRDF-Datenmodell

gerichteter und beschrifteter Graph

definiert eindeutig die Zuordnung zwischen Subject, Predicate und Object

Subject (Resource): zu beschreibende Quelle

Predicate (Property): in einer Ressource definierte Eigenschaft

Object (Literal):Wert der Eigenschaft (Wert oder wieder Resource)

Page 134: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

136

RDF-Datenmodell graphischRDF-Datenmodell graphisch

Subject

Object

Predicate

http://web.pressetext.at/Research/

Markus Schranz

Verfasser

Page 135: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

137

RDF-Syntax in XMLRDF-Syntax in XMLGrundlagenGrundlagen

Block mit Metadaten eingeschlossen von <RDF>

mit xmlns die Namespaces festlegen

pro zu beschreibender Ressource eine <Description>

Metadaten über bestehende Ressourcen mit about=URI

Definieren einer neuen internen Ressource mit ID=“name“

Predicate: jeder in einem Schema definierte Datentyp

Object: Wert, wieder eine Resource oder eine Liste von Werten oder Ressourcen

Page 136: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

138

RDF-Syntax in XMLRDF-Syntax in XMLStatements über StatementsStatements über Statements

Möglichkeit Metadaten zu beschreiben und zu bewerten

spezielle Syntax erforderlich (Eigenschaft resource=“...“)

<subject> definiert Subject der Metadaten

<predicate> definiert Predicate der Metadaten

<object> definiert Object der Metadaten

Page 137: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

139

RDF-SchemaRDF-Schema

Erweiterung von RDF, definiert mit RDF

vergleichbar mit den mitgelieferten Klassen bei Java

nötig um Schemas wie DC oder PICS zu definieren

stellt Klassen-Konzept zur Verfügung

Vererbung sowie Mehrfachvererbung

Einschränkung bzw. Spezialisierung von Eigenschaften

Page 138: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

140

RDF-SchemaRDF-Schema

Resource

Class

rdf:Resourcerdf:Class

rdf:Propertyrdf:ConstraintProperty

rdf:Literal

Property

rdf:typerdf:subClassOfrdf:subPropertyOfrdf:commentrdf:labelrdf:seeAlsordf:isDefinedBy

ConstraintProperty

rdf:rangerdf:domain

Page 139: ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Metadaten und XML Vortragsunterlagen zur

141

RDF - ZusammenfassungRDF - Zusammenfassung

Standardisiertes Datenmodell für Metadaten

PICS (Platform for Internet Content Selection):Schema zur Beurteilung von Internet-Inhalten

DC (Dublin Core):Schema zur Beschreibung von Inhalten

damit Maschinen die Bedeutung von Metadaten erfassen können, sind Standard-Schemas nötig