66
Syntaktische Transformation Thomas Steinberg Mai 2005

Syntaktische Transformation Thomas Steinberg Mai 2005

Embed Size (px)

Citation preview

Page 1: Syntaktische Transformation Thomas Steinberg Mai 2005

Syntaktische Transformation

Thomas SteinbergMai 2005

Page 2: Syntaktische Transformation Thomas Steinberg Mai 2005

Transformation - Übersicht Allgemeines Trägersprachen Mein Angebot

Page 3: Syntaktische Transformation Thomas Steinberg Mai 2005

Allgemeines Semantik vs. Syntax Was ist Transformation? Wo werden Transformationen angewandet? Arten der Transformation Gründe für Transformation Probleme mit Transformationen Meine Motivation Meine Vision

Page 4: Syntaktische Transformation Thomas Steinberg Mai 2005

Was ist mit Semantik gemeint?

Allgemeines Trägersprachen Ferienclub

Definition: Semantik

Die Semantik (Bedeutungslehre) ist das Teilgebiet der Sprachwissenschaft (Linguistik), das sich mit Sinn und Bedeutung von Sprache beziehungsweise sprachlichen Zeichen befasst. Die Semantik kümmert sich um die Frage, wie Sinn und Bedeutung von komplexen Begriffen aus denen von einfachen Begriffen abgeleitet werden können und stützt sich dabei in der Regel auf die Syntax.

Hierbei bezeichnet nach Gottlob Frege Quelle: de.wikipedia.org/wiki/Semantik

 

Bedeutungslehre: Disziplin der Sprachwissenschaft, die die Bedeutung von Wörtern, Sätzen und Texten erforscht.

Quelle: www.schriftdeutsch.de/orth-li4.htm

Page 5: Syntaktische Transformation Thomas Steinberg Mai 2005

Was ist mit Syntax gemeint?

Allgemeines Trägersprachen Ferienclub

Definition: Syntax:

Die Syntax (griechisch σύνταξη, sýntaxe - wörtlich die Zusammenstellung) behandelt die Muster und Regeln, nach denen Wörter zu größeren funktionellen Einheiten wie Phrasen (Teilsatz) und Sätzen zusammengestellt und Beziehungen wie Teil-Ganzes, Abhängigkeit etc. zwischen diesen formuliert werden (Satzbau).

Quelle: de.wikipedia.org/wiki/Syntax

 

Syntax kommt aus dem griechischen, man könnte es in etwa mit "Sinn-Verbindung" übersetzen. Mit Syntax meint man die Regeln, nach denen in einer Programmiersprache Anweisungen gegeben werden. Die Syntax verschiedener Programmiersprachen kann verschieden sein.

Beispiel: IF-Anweisung

Java: If (x ==1) { y = y + 3} aber auch möglich als ( x == 1) ? y = y + 3 :

Javascript: If (x == 1){ y = y + 3 }

PureBasic: If x = 1 : y = y + 3 EndIf

Die Anweisungen bewirken genau dasselbe(semantisch gleich), sind aber in der Syntax unterschiedlich.Quelle: www.programmierschule-dortmund.de/Woerter.html

Page 7: Syntaktische Transformation Thomas Steinberg Mai 2005

Wo werden Transformationen angewendet? Transformationen von Logiken

3-wertige in 2-wertige Logik (siehe Vorlesung TH 1 von Klauck) Mathematik:

eine mathematische Abbildung oder Funktion (siehe Vorlesung MO von Meisel Laplace Transformation)

Elektrotechnik: Die Modifikation der Spannung einer Spannungsquelle durch einen

Transformator Physik:

meint man je nach Kontext entweder die Bedeutung aus der Mathematik oder der Elektrotechnik

Allgemeines Trägersprachen Ferienclub

Page 8: Syntaktische Transformation Thomas Steinberg Mai 2005

Wo werden Transformationen angewendet? Informatik:

Codetransformation oder Datentypentransformation

Sprachwissenschaft: die Umformung der Satzstruktur unter Beibehaltung von deren Bedeutung;

Molekularbiologie: Transformation ist (neben Transduktion und Konjugation) eine der drei

Möglichkeiten der Übertragung genetischer Information von Organismus zu Organismus.

Geistes- und Sozialwissenschaften: eine strukturelle Umformung, Umwandlung oder Veränderung, die Umwandlung von Plan- in Marktwirtschaften; siehe Transformismus; die Veränderung von Industrie- zur Dienstleistungs- bzw. von der Dienstleistungs-

zur Informationsgesellschaft; siehe Transformationsgesellschaft. Quelle: http://www.matheboard.de/lexikon/Transformation,definition.htm

Allgemeines Trägersprachen Ferienclub

Page 9: Syntaktische Transformation Thomas Steinberg Mai 2005

Arten der TransformationVerlustbehaftete Transformation (Ableitung):A transformiert nach B = A(B) Falls A dann auch B

Falls B muss nicht gleich A seinNur in eine Richtung gültig.

Beispiel: A = Mittelklasse B = AutoAusgangssituation: Kunde möchte ein Mittelklasse Auto mieten.

Frage: An A, ob ein Mittelklasse Auto vorhanden ist , wenn ja dann auch Auto (A) vorhanden.

Frage: An B, ob ein Auto vorhanden ist, wenn ja, muss es noch lange nicht ein Mittelklasse Auto sein.

Allgemeines Trägersprachen Ferienclub

Page 10: Syntaktische Transformation Thomas Steinberg Mai 2005

Arten der TransformationSteigungen in der Landschaft:

Stellen wir uns einen Funktionsgraphen als Straße vor, die in einer Landschaft auf- und abführt, so lässt sich schön illustrieren, wie Eigenschaften eines Graphen mit der Ableitung zusammenhängen:

Allgemeines Trägersprachen Ferienclub

Page 11: Syntaktische Transformation Thomas Steinberg Mai 2005

Arten der TransformationWahrheitswerterhaltende Transformation: Beispiel: De Morgan, Augustus, engl. Mathematiker * 27. 6. 1806 Madura/Madras

(Südindien), † 18. 3. 1871 London

Arbeitsgebiete: Algebra, Logik.In beide Richtungen gültig.

Bekannt sind die de Morgan‘schen Gesetze aus der Mengenlehre.(A B) = A B (A B) = A B A B wenn (A C) dann gilt auch (B C) „Ersetzung“

Allgemeines Trägersprachen Ferienclub

Page 12: Syntaktische Transformation Thomas Steinberg Mai 2005

Gründe für Transformation?

Informatik als Beispiel: Codetransformation Datentypentransformation Konvertierung

Allgemeines Trägersprachen Ferienclub

Page 13: Syntaktische Transformation Thomas Steinberg Mai 2005

Gründe für Transformation?

Codetransformation Umwandlung eines Quellcodes in eine

andere Programmiersprache oder Dialekt

Allgemeines Trägersprachen Ferienclub

SourceC-Code

Com piler

SourceAssem bler-

Code

Assem bler

ObjectCode

Linker

B ibliotheken

ObjectCode

O bjectCode

MaschinenCode

AlleRe ferenzen

werdenaufge löst

En thä lt nochDeb ug

Funktionen

Page 14: Syntaktische Transformation Thomas Steinberg Mai 2005

Gründe für Transformation?

DatentypentransformationBeispiel:In Java: Primitive Datentypen (boolean,char, byte,short, int, long, float, double) Kein Verlust von Informationen:

Wrapper-Klassen: Integer(intWert), String (charWert)

Verlustbehaftete Transformationen: (int) floatWert, (float)doubleWert usw.

Allgemeines Trägersprachen Ferienclub

Page 15: Syntaktische Transformation Thomas Steinberg Mai 2005

Gründe für Transformation?

Konvertierung : verlustfreie Konvertierung während der, keine Daten verloren gehen. Dies

ist der Fall, wenn zwei kompatible Formate ineinander überführt werden, z.B. eine Konvertierung eines Rasterbildes von TIFF nach PNG.

verlustbehaftete Konvertierung, die mit Datenverlust verbunden ist. Meist tritt dieser Datenverlust durch verlustbehaftete Datenkompression auf, also durch die Reduzierung der Daten, indem (aus Sicht des Endergebnisses) nicht notwendige Daten weggelassen werden. Ein Beispiel ist die Konvertierung einer Audiodatei von WAV nach MP3.

sinnhafte Konvertierung: Bei dieser Konvertierungsart werden Daten "dem Sinne nach" konvertiert, also unter Beibehaltung des als wesentlich betrachteten Inhaltes. Dies kann mit oder ohne Informationsverlust geschehen, oder es können auch Informationen aus zusätzlichen Quellen durch die Konvertierung angereichert werden.

Allgemeines Trägersprachen Ferienclub

Page 16: Syntaktische Transformation Thomas Steinberg Mai 2005

Probleme mit Transformationen

Allgemeines Trägersprachen Ferienclub

Unterschiede in der Baumstruktur :H o te l

P reis

/h o te l/ p re ise / e in z e l /te x t()v s .

h o te l/ rä u m e / e in z e l / p re is /te x t()

E in ze l D o p p el

N a m e

5 8 0 7 2 0

R a d isso n

H o te l

R ä u m e

D o p p el

N a m e

M ercu reE in zel

P re is P reis

1 9 0 2 10

2 0 0

S in g le -O ccu p an cy

2 0 0

S in g le -O ccu p an cy

Quelle: Ubbo Visser, Heiner Stuckenschmidt, and Holger Wache (Intelligent Information Integration for the Semantic Web)

Page 17: Syntaktische Transformation Thomas Steinberg Mai 2005

Probleme mit Transformationen

Allgemeines Trägersprachen Ferienclub

Synonyme und Homonyme :

Namenskonflikte treten in zwei Varianten auf: Synonyme und Homonyme.

- Synonyme: zwei identische bzw. semantisch äquivalente Objekte (Relationen, Attribute) mit unterschiedliche Namen (z.B Kumpel == Freund)

- Homonyme: zwei unterschiedliche Objekte mit demselben Namen (z.B Bank (Geldbank) == Bank (Sitzbank))

Page 18: Syntaktische Transformation Thomas Steinberg Mai 2005

Probleme mit Transformationen

Allgemeines Trägersprachen Ferienclub

UNIBIB PUBLIKATION (Pubnr, Titel, Typcode) BUCHPUB (Pubnr, Verlag, Ejahr, #Exemplare, ISBN) VERFASSER (Pubnr, Vname) SCHLAGWORT (Pubnr, Sname) STADTBIB BUCH (ISBN, Titel, Autor, Vnr, Jahr, Preis, Standort)

VERLAG (Vnr, Vname, Adresse)

Synonyme:Die Attribute "Verlag" und "Vname" ebenso "Ejahr" und "Jahr".

Homonyme:Die Attribute "Vname" dagegen sind (Verfasser- vs. Verlagsname).

http://dbs.uni-leipzig.de/buch/mrdbs-129.html

Page 19: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Motivation:Reisebüro

Allgemeines Trägersprachen Anwendung

Reisebüro

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Name: M eierZielort: M alleAnzahlPersonen: 2Besonderheit:Ferienclub

Page 20: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Motivation: Ferienclub

Allgemeines Trägersprachen Anwendung

Reisebüro

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQLRezeption W

EB

-Mas

keP

HP

/Htm

l

Datenbankder Rezeption

DB2

Name: M eierAnzahlPersonen: 2Besonderheit:KeineKreditkartenNr.:12345

Page 21: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Motivation: Ferienclub

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Page 22: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Motivation:Ferienclub

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Küche

Essenplan fürnächsten Tag

HTM L-Sch re iben

Name: M eierW as m öchte eressen???W as darf eressen???

Page 23: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Motivation:Ferienclub

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Küche

Essenplan fürnächsten Tag

Reinigung

PDF-Schreiben

Zeitplan derAusflüge

HTM L-Sch re iben

Name: M eierW ann ist erunterwegs,damit ichaufräumenkann???

Page 24: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Motivation:Externe Veranstalter

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Küche

Essenplan fürnächsten Tag

Reinigung

PDF-Schreiben

Zeitplan derAusflüge

HTM L-Sch re iben Autover-

m ietung

Maske derAngebote

HTM L-Schre iben

Autovermieter:M üllerAngebote: 3Tage Auto 1 TagVersicherungkostenlos

Page 25: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Motivation:Externe Veranstalter

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Veranstalter

WE

B-M

aske

PH

P/H

tml

Datenbankdes ???

DB2

Küche

Essenplan fürnächsten Tag

Reinigung

PDF-Schreiben

Zeitplan derAusflüge

HTM L-Sch re iben Autover-

m ietung

Maske derAngebote

HTM L-Schre iben

Page 26: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Vision:Gesamtansicht

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Veranstalter

WE

B-M

aske

PH

P/H

tml

Datenbankdes ???

DB2

Küche

Essenplan fürnächsten Tag

Reinigung

PDF-Schreiben

Zeitplan derAusflüge

HTM L-Sch re iben

Black Boxdie alle verbindet

Autover-m ietung

Maske derAngebote

HTM L-Schre iben

Page 27: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Vision:Gesamtansicht

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Veranstalter

WE

B-M

aske

PH

P/H

tml

Datenbankdes ???

DB2

Küche

Essenplan fürnächsten Tag

Reinigung

PDF-Schreiben

Zeitplan derAusflüge

HTM L-Sch re iben

Black Boxdie alle verbindet

Plugin ???Service ???

Autover-m ietung

Maske derAngebote

HTM L-Schre iben

Page 28: Syntaktische Transformation Thomas Steinberg Mai 2005

Name vomAutoverm ieter:TelefonNr:Standort:Autos:Mottorräder(alle):

Name: M üllerMobil- Tel.: 323Addresse:M alle4Autos:5Mottorräder: 4Roller/KleineMotorräder: 10

Name: EuropcarFax.Nr.: 222Zw eigstellenName: KruseMobil- Tel.: 323Tel Nr.: 4444Hauptsitz: ParisZw eigstelle:M alleFuhrpark:22Autos

Probleme im Ferienclub

Allgemeines Trägersprachen Ferienclub

vom Autovermieter Müller

XML-Dokument

vom Autovermieter Europcar Kruse

XML-Dokument

vom Ferienclub

transformiert nachtra

nsfor

miert n

ach

Page 29: Syntaktische Transformation Thomas Steinberg Mai 2005

Name vomAutoverm ieter:TelefonNr:Standort:Autos:Mottorräder(alle):

Name: M üllerMobil- Tel.: 323Addresse:M alle4Autos:5Mottorräder: 4Roller/KleineMotorräder: 10

Name: EuropcarFax.Nr.: 222Zw eigstellenName: KruseMobil- Tel.: 323Tel Nr.: 4444Hauptsitz: ParisZw eigstelle:M alleFuhrpark:22Autos

Probleme im Ferienclub

Allgemeines Trägersprachen Ferienclub

vom Autovermieter Müller

XML-Dokument

XML-Dokument

vom Ferienclub

transformiert nachtra

nsfor

miert n

ach

vom Autovermieter Europcar Kruse

Page 30: Syntaktische Transformation Thomas Steinberg Mai 2005

Name vomAutoverm ieter:TelefonNr:Standort:Autos:Mottorräder(alle):

Name: M üllerMobil- Tel.: 323Addresse:M alle4Autos:5Mottorräder: 4Roller/KleineMotorräder: 10

Name: EuropcarFax.Nr.: 222Zw eigstellenName: KruseMobil- Tel.: 323Tel Nr.: 4444Hauptsitz: ParisZw eigstelle:M alleFuhrpark:22Autos

Probleme im Ferienclub

Allgemeines Trägersprachen Ferienclub

vom Autovermieter Müller

XML-Dokument

XML-Dokument

vom Ferienclub

transformiert nachtra

nsfor

miert n

ach

vom Autovermieter Europcar Kruse

Page 31: Syntaktische Transformation Thomas Steinberg Mai 2005

Name vomAutoverm ieter:TelefonNr:Standort:Autos:Mottorräder(alle):

Name: M üllerMobil- Tel.: 323Addresse:M alle4Autos:5Mottorräder: 4Roller/KleineMotorräder: 10

Name: EuropcarFax.Nr.: 222Zw eigstellenName: KruseMobil- Tel.: 323Tel Nr.: 4444Hauptsitz: ParisZw eigstelle:M alleFuhrpark:22Autos

Probleme im Ferienclub

Allgemeines Trägersprachen Ferienclub

vom Autovermieter Müller

XML-Dokument

XML-Dokument

vom Ferienclub

transformiert nachtra

nsfor

miert n

ach

vom Autovermieter Europcar Kruse

Page 32: Syntaktische Transformation Thomas Steinberg Mai 2005

Name vomAutoverm ieter:TelefonNr:Standort:Autos:Mottorräder(alle):

Name: M üllerMobil- Tel.: 323Addresse:M alle4Autos:5Mottorräder: 4Roller/KleineMotorräder: 10

Name: EuropcarFax.Nr.: 222Zw eigstellenName: KruseMobil- Tel.: 323Tel Nr.: 4444Hauptsitz: ParisZw eigstelle:M alleFuhrpark:22Autos

Probleme im Ferienclub

Allgemeines Trägersprachen Ferienclub

vom Autovermieter Müller

XML-Dokument

XML-Dokument

vom Ferienclub

transformiert nachtra

nsfor

miert n

ach

vom Autovermieter Europcar Kruse

Page 33: Syntaktische Transformation Thomas Steinberg Mai 2005

Trägersprachen XML XSL XML und Java

Page 34: Syntaktische Transformation Thomas Steinberg Mai 2005

XML Was ist XML ? DTD Namespaces XPath

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 35: Syntaktische Transformation Thomas Steinberg Mai 2005

Was ist XML? Extensible Markup Language Von W3C Konsortium entwickelt

Nachfolger des Standards SGML

Offnes und freies Universalkonzept zur Speicherung von Daten

Struktur: Ein Daten-Dokument wird als ein Baum aufgebaut Elemente (Knoten) beinhalten die eigentlichen Informationen des

Dokuments Selbstdefinierte „Tags“ (umschließen den Knoten)

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 36: Syntaktische Transformation Thomas Steinberg Mai 2005

Was ist XML?<? XML version="1.0" encoding="ISO-8859-1" standalone="no" ?><!DOCTYPE AnwendungProjekt SYSTEM"../../dtd/anwendungprojekt.dtd">

<Autovermietung><Autovermietungsname> Europcar </Autovermietungsname> <Standort> IBIZA </Standort>

<Furpark><Klasse>

<Oberklasse><FahrzeugId> 007 </FahrzeugId><Marke> Mercedes S</Marke> <Türen> 4 </Türen>

</Oberklasse>

<Mittelklasse><FahrzeugId> 006 </FahrzeugId><Marke> Opel Omega </Marke> <Türen> 4 </Türen>

</Mittelklasse> </Klasse>

<Furpark></Autovermietung>

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 37: Syntaktische Transformation Thomas Steinberg Mai 2005

DTD Document Type Definition Muss alle Elemente des Dokuments

beschreiben können, ansonsten ist das Dokument ungültig

Wohlgeformt Syntax entspricht den Daten der XML Notation

Gültigkeit Die Struktur entspricht der Definition in der DTD

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 38: Syntaktische Transformation Thomas Steinberg Mai 2005

DTD BeispielDie zugehörige DTD “anwendungprojekt.dtd"

<!ELEMENT FahrzeugId (#PCDATA)> <!ELEMENT Marke (#PCDATA)><!ELEMENT Türen(#PCDATA)>

<!ELEMENT Oberklasse (FahrzeugId,Marke,Türen)><!ELEMENT Mittelklasse (FahrzeugId,Marke,Türen)>

<!ELEMENT Klasse (Oberklasse, Mittelklasse)><!ELEMENT Fuhrpark (Klasse)><!ELEMENT Autovermietung (Autovermietungsname,Standort,Fuhrpark)>

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 39: Syntaktische Transformation Thomas Steinberg Mai 2005

Testen von XML Dokumenten

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Quelle: Vorlesung Semantic Web von Prof.Owsnicki-Klewe

Page 40: Syntaktische Transformation Thomas Steinberg Mai 2005

Namespaces Namespaces sind Hilfsmittel Eindeutige Unterscheidung von DTD‘s

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

<bk:bookxmlns:bk="urn:loc.gov:books"

          xmlns:isbn="urn:ISBN:0-395-36341-6">    <bk:title>Cheaper by the Dozen</bk:title>    <isbn:number>1568491379</isbn:number></bk:book>

Page 41: Syntaktische Transformation Thomas Steinberg Mai 2005

XPath Unterstützung zu XSLT Mechanismus zur Navigation im Dokument Hauptaufgabe:

Adressierung von Daten Auswertung und Definition von logischen Ausdrücken Bereitstellung von Hilfsmitteln

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 42: Syntaktische Transformation Thomas Steinberg Mai 2005

XSL Was ist XSL(T)? XSL-FO

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 43: Syntaktische Transformation Thomas Steinberg Mai 2005

Was ist XSL(T)? Extensible Stylesheet Language

XSLT (Extensible Stylesheet Language Transformation) Von W3C Konsortium entwickelt Basiert auf XML Ermöglicht Generierung von beliebigen

Dokumenten

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 44: Syntaktische Transformation Thomas Steinberg Mai 2005

Was ist XSL(T)? Unterschied:

Formatierungsanweisungen werden als XSL, Mechanismus der Überführung als XSLT

bezeichnet Transformationen mit Hilfe von Stylesheets

in beliebige Betrachtungsformate: HTML XHTML XML

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 45: Syntaktische Transformation Thomas Steinberg Mai 2005

XSL

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Quelle: Vorlesung Semantic Web von Prof.Owsnicki-Klewe

Page 46: Syntaktische Transformation Thomas Steinberg Mai 2005

XSL-FO HTML nur bedingt für Druckvorlagen

geeignet Grund für FO (Formating Objects) entwickelt

von W3C, dass eine Erweiterung von XSL ist Möglichkeit komplexe Formatierungen für

Druckvorlagen zu definieren Bei Verwendung eines FO Objects in einem

Stylesheet spricht man dann von einem XSL-FO

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 47: Syntaktische Transformation Thomas Steinberg Mai 2005

XSL-FO

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

FO-Document SVGPDFPostScript...

Buch

Autor T ite l Beschre ibung

G enere P re is D atum ISB N

XML-Dokument

Phase 1X SLT

X HTM L

HTM L

XM L

Phase 2FO P

Page 48: Syntaktische Transformation Thomas Steinberg Mai 2005

Realisierung

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Datenbank

Daten-aufbereitung

Report inApplikation/

AppletXSLStylesheet

Form atingObject Output

PDF RTF

HTML

SQL AbfrageBatik / SVG

XSLTTransform ation

SVG

FOP / XSL-FOFOP / XSL-FO

Page 49: Syntaktische Transformation Thomas Steinberg Mai 2005

XML und Java SAX DOM FOP Visualisierung Batik und SVG

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 50: Syntaktische Transformation Thomas Steinberg Mai 2005

SAX Simple API for XML Parser der das Dokument sequenziell

durcharbeitet Kennt nur die Elemente an aktueller Stelle

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 51: Syntaktische Transformation Thomas Steinberg Mai 2005

DOM Document Object Model Parser der das Dokument zur Laufzeit

komplett im Speicher hält Vorteile in der Performance der

Abarbeitung Nachteil bei großen oder vielen

Dokumenten

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 52: Syntaktische Transformation Thomas Steinberg Mai 2005

XALAN

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Xalan ist ein XSLT Prozessor komplett in Java

Von der Apache Group entwickelt (Open Source)

Page 53: Syntaktische Transformation Thomas Steinberg Mai 2005

FOP Formating Object Processor Framework der Apache Group in Java Transformiert das FO-Object in beliebige

Formate Benötigt ein XML mit Formating Objects

Erweiterungen

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 54: Syntaktische Transformation Thomas Steinberg Mai 2005

Visualisierung mit SVG Scalable Vector Graphics Semantische Beschreibung von Vektorgrafiken von

W3C Konsortium Weiterentwicklung durch die Firma Adobe Basiert auf XML Vorteile:

Vektorgrafiken sind verlustfreie Darstellung Ideal für beliebige Skalierungen und Formatierungen Farbverläufe sowie Filter und Schattenverläufe möglich Animationen möglich Interaktivität (z.B.Verarbeitung von Mausklicks, Tastatureingaben usw.)

Nachteile: Benötigen einen Renderer (als Plugin verfügbar) um den SVG-Code zu

interpretieren

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 56: Syntaktische Transformation Thomas Steinberg Mai 2005

Batik Framework entwickelt von W3C Konsortium Unterstützt das SVG Format in Java Batik dient zur Erzeugung und zur

Manipulation von SVG Codes Ermöglicht in einer Java-Applikation oder

Java-Applet SVG darzustellen Möglichkeit der Konvertierung einer SVG-

Vectorgrafik in eine Rastergrafik z.B. JPEG oder PNG

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 57: Syntaktische Transformation Thomas Steinberg Mai 2005

Fazit Vorteile einer XML Lösung

Gute Unterstützung durch Java Viele nützliche und Lizenzfreie Projekte

der Apache Group SVG zur Visualisierung

Allgemeines Trägersprachen Anwendung

XML XSL XML & Java

Page 58: Syntaktische Transformation Thomas Steinberg Mai 2005

Anwendung Zurück zu meiner Vision Gesamtansicht des Ferienclubs Mein Angebot

Page 59: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Vision:Gesamtansicht

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Veranstalter

WE

B-M

aske

PH

P/H

tml

Datenbankdes ???

DB2

Küche

Essenplan fürnächsten Tag

Reinigung

PDF-Schreiben

Zeitplan derAusflüge

HTM L-Sch re iben

Black Boxdie alle verbindet

Autover-m ietung

Maske derAngebote

HTM L-Schre iben

Page 60: Syntaktische Transformation Thomas Steinberg Mai 2005

Gesamtansicht mit Datawarehouse

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Veranstalter

WE

B-M

aske

PH

P/H

tml

Datenbankdes ???

DB2

Küche

Essenplan fürnächsten Tag

Reinigung

PDF-Schreiben

Zeitplan derAusflüge

HTM L-Sch re iben Autover-

m ietung

Maske derAngebote

HTM L-Schre iben

Dataware-house

Datenbank

Black Boxdie alle verbindet

Page 61: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Angebot:Gesamtansicht

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Veranstalter

WE

B-M

aske

PH

P/H

tml

Datenbankdes ???

DB2

Küche

Essenplan fürnächsten Tag

Reinigung

PDF-Schreiben

Zeitplan derAusflüge

HTM L-Sch re iben

XSLT-Engine

Autover-m ietung

Maske derAngebote

HTM L-Schre iben

Dataware-house

Datenbank

Page 62: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Angebot: Gesamtansicht

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Veranstalter

WE

B-M

aske

PH

P/H

tml

Datenbankdes ???

DB2

Küche

Essenplan fürnächsten Tag

Reinigung

PDF-Schreiben

Zeitplan derAusflüge

HTM L-Sch re iben

Stylesheet fürdie Küche

Stylesheet fürdie Rezeption

Stylesheet fürdie Veranstalter S tylesheet für

den PDA

Stylesheet für dieAutoverm ietung

Stylesheet fürdie Reisebüro

Stylesheet fürdie Reinigung

XSLT-Engine

Autover-m ietung

Maske derAngebote

HTM L-Schre iben

Dataware-house

Datenbank

Black Boxals Service

implementiertin Java

Page 63: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine Angebot: Gesamtansicht

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Veranstalter

WE

B-M

aske

PH

P/H

tml

Datenbankdes ???

DB2

Küche

Essenplan fürnächsten Tag

Reinigung

PDF-Schreiben

Zeitplan derAusflüge

HTM L-Sch re iben

Stylesheet fürdie Küche

Stylesheet fürdie Rezeption

Stylesheet fürdie Veranstalter S tylesheet für

den PDA

Stylesheet für dieAutoverm ietung

Stylesheet fürdie Reisebüro

Stylesheet fürdie Reinigung

XSLT-Engine

Autover-m ietung

Maske derAngebote

HTM L-Schre iben

Dataware-house

Datenbank

Service mitEingabe-

maske derZuordnung

Page 64: Syntaktische Transformation Thomas Steinberg Mai 2005

Meine nächste Vision: Gesamtansicht

Allgemeines Trägersprachen Anwendung

Reisebüro

PDA

WE

B-M

aske

PH

P/H

tml

WE

B-M

aske

PH

P/H

tml

Datenbankdes

ReisebürosMYSQL

Datenbankdes PDA 's

???

Rezeption WE

B-M

aske

PH

P/H

tml

Datenbankder Rezeption

DB2

Veranstalter

WE

B-M

aske

PH

P/H

tml

Datenbankdes ???

DB2

Küche

Essenplan fürnächsten Tag

Reinigung

PDF-Schreiben

Zeitplan derAusflüge

HTM L-Sch re iben

Stylesheet fürdie Küche

Stylesheet fürdie Rezeption

Stylesheet fürdie Veranstalter S tylesheet für

den PDA

Stylesheet für dieAutoverm ietung

Stylesheet fürdie Reisebüro

Stylesheet fürdie Reinigung

XSLT-Engine

Autover-m ietung

Maske derAngebote

HTM L-Schre iben

Dataware-house

Datenbank

Auto-matisiertenService füralle Trans-

formationen

Page 65: Syntaktische Transformation Thomas Steinberg Mai 2005

Quellen: Diplomarbeit: Steffen Otto Buch: Simon North & Paul Hermans ,XML in 21 Tagen Buch:Elliotte Rusty Harold, XML Buch: RRZN, Java und XML 1 Auflage Buch: Alexander Adam, SVG Das Praxisbuch, Franzis 2002 http://xml.apache.org/ (14.04.2005) http://www.w3c.org/ (14.04.2005) Und weitere siehe Folien

Page 66: Syntaktische Transformation Thomas Steinberg Mai 2005

Syntaktische Transformation

Danke für die Aufmerksamkeitund

einen guten Heimweg.