Syntaktische Transformation. Thomas Steinberg Mai 2005

Ähnliche Dokumente
CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis

XSL und XSLT. Inhalt. Mathias Heilig XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML

XML Extensible Markup Language

Vergleich automatisierbarer XML-Satzsysteme

Webseiten-Programmierung

Java und XML 2. Java und XML

Tobias Hauser. XML-Standards. schnell+kompakt

Softwareentwicklung mit Komponenten

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

XML und SOAP Einführung und Grundlagen

Sachwortverzeichnis

Vortrag im Rahmen des IFC-Seminars am Performance Messungen mit XML bei der empolis GmbH

ASN.1 <-> XML TRANSLATION

... MathML XHTML RDF

11 XML Programmierung

2. Einführung in Datenbanken und XML

X-Technologien. Ein Überblick. Ulrike Henny. IDE Summer School 2013, Chemnitz

Übungsaufgaben zu XML:

Dynamische Websites mit XML und PHP4

Web-Programmierung (WPR)

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

XML Informationsmodelle

XML - Extensible Markup Language. Agenda - Oracle XML DB

XML Grundlagen Sommersemester 2013

inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG

DocBook für Anfänger

XML Extensible Markup Language

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung

Online-Publishing mit HTML und CSS für Einsteigerinnen

Dokumentenmanagement auf der Basis von XML

Streaming Transformations for XML STX

GATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics )

Releasenotes pv-clan Rel

Java API for XML Binding

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger

Bibliothekssysteme / Verbundsysteme / Netze

Zusammenfassung des Projekts Ferienclub der Teilgruppe Transformation Engine

Metadaten I: XMP & Co

Übersicht. Web (Site) Engineering (WebSE) Java-Applets II. Java-Applets. Client-basierte Techniken Applets

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen

Inhalt. Vorbemerkungen... 1

FileMaker Konferenz 2010 XML / XSLT. Ein Workshop mit [x] cross solution Armin Egginger


Verteilte Anwendungen. Teil 2: Einführung in XML

1. Einführung. Gliederung. Document Object Model (DOM) DOM Die Spezifikation (1) Level 2 HTML Specification. 1. Einführung. 2.

mach,, Benjamin Kurtz, Bastian Bonnermann

Einführung in XML. Von Klammern, Schachteln und gefüllten Keksen. Hier im Folienmaster Präsentationstitel eintragen

Präsentation von Karten im Internet. Ein Vergleich der Vektorformate SVG und ActiveCGM

Anhang B. B.1 Webseiten für Entwickler. Anwendungen

Einführung in DocBook

DTD: Syntax-Zusammenfassung

Dokumentation von Software

Präsentation zum Thema XML Datenaustausch und Integration

XML, XHTML und MathML

XML Grundlagen Teil I

XML Extensible Markup Language

XML, Standards und andere Aktivitäten zur Formierung des Semantic Web

Webseite in XML Kurzeinführung

Projektseminar Texttechnologische Informationsmodellierung

Klaus Schild, XML Clearinghouse Transformation von XML-Dokumenten

TEI! Und dann? Texttechnologische Standards in den Geisteswissenschaften - Encoding in TEI <

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014

Buchstabensuppe. Standards für die Präsentation von XML-Instanzen

InDesign. InDesign und XML wie geht s weiter? <xml/> markupforum Stuttgart 1. März Workflows IDML. Zukunft. gregor.fellenz@indesignblog.

Einsatz von Open Source-Software in der Lehre am Beispiel einer Vorlesung zu XML-Technologien

Berner Fachhochschule Software Schule Schweiz JDOM. Beatrice Amrhein. Oktober 06

Technische Hintergründe des Web 2.0. Praxisprojekt Du bist das Netz! Web 2.0 Morten Strüwe, Florian Brachten

1 Software Engineering 1

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

Ferhat Ayaz. XML mit C++

Der IBM Websphere Portalserver

Relationale Datenbanken Kursziele

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010

Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links

DocBook Textverarbeitung mit XML

Die Technologie der Mumie

Einführung in die Theoretische Informatik

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1.

Semantic Web Praktikum..und andere Praktika... WS 2004/05

Programmierkurs Java

Programmieren I. Formale Sprachen. Institut für Angewandte Informatik

Ressourcen-Beschreibung im Semantic Web

XML DTD und Schema von Thomas Mangold

Geodaten: Modelle und Strukturen

DRM HTML5 XHTML EPUB XML CSS

Predictive Modeling Markup Language. Thomas Morandell

Formale Sprachen Grundlagen und Anwendungen. Dr. Wolfgang Süß

xmltex Oder Wie bringt man XML und TeX zusammen? Daniel Radünz

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS XML Programmierung - Grundlagen PHP Programmierung - Grundlagen...

Transformation von RailML timetable Daten zu SVG mittels XSLT zur Darstellung von Zeit-Weg-Liniendiagrammen

Exportieren von Domino-Datenbanken in XML Das Lotus XML Toolkit Abbildung 1 Anwendung des Lotus XML Toolkits Seite 1 von 8

Wiederholung: Beginn

Transkript:

Syntaktische Transformation Thomas Steinberg Mai 2005

Transformation - Übersicht Allgemeines Trägersprachen Mein Angebot

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

Allgemeines Trägersprachen Ferienclub Was ist mit Semantik gemeint? 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

Allgemeines Trägersprachen Ferienclub Was ist mit Syntax gemeint? Definition: Syntax: Die Syntax (griechisch s??ta??, 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

Allgemeines Trägersprachen Ferienclub Was ist mit Transformation gemeint? Definition Transformation: Die Transformation im sprachwissenschaftlichen Sinne bedeutet die Umwandlung eines Satzes einer bestimmten Form in einen bedeutungsgleichen Satz(teil) einer anderen Form. Quelle: de.wikipedia.org/wiki/transformation_(sprachwissenschaft) Eine Transformation (lateinisch die Umformung) bezeichnet allgemein die Veränderung der Gestalt bzw. Form bzw. Struktur in eine andere ohne Verlust der Substanz. Quelle: de.wikipedia.org/wiki/transformation

Allgemeines Trägersprachen Ferienclub Wo werden Transformationen angewendet? Transformationen von Logiken 3-wertige in 2-wertige Logik (siehe Vorlesung TH 1 vonklauck) 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 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 Dienstleistungszur Informationsgesellschaft; siehe Transformationsgesellschaft. Quelle: http://www.matheboard.de/lexikon/transformation,definition.htm

Allgemeines Trägersprachen Ferienclub Arten der Transformation Verlustbehaftete Transformation (Ableitung): A transformiert nach B = A(B) Falls A dann auch B Falls B muss nicht gleich A sein Nur in eine Richtung gültig. Beispiel: A = Mittelklasse B = Auto Ausgangssituation: 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 Arten der Transformation Steigungen 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 Arten der Transformation Wahrheitswerterhaltende 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 Gründe für Transformation? Informatik als Beispiel: Codetransformation Datentypentransformation Konvertierung

Allgemeines Trägersprachen Ferienclub Source C-Code Bibliotheken Gründe für Transformation? Compiler Codetransformation Umwandlung eines Quellcodes in eine andere Programmiersprache oder Dialekt Source Assembler- Code Assembler Object Code Object Code Object Code Enthält noch Debug Funktionen Linker Alle Referenzen werden aufgelöst Maschinen Code

Allgemeines Trägersprachen Ferienclub Gründe für Transformation? Datentypentransformation Beispiel: 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 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 Probleme mit Transformationen Unterschiede in der Baumstruktur : Hotel Hotel Einzel Preis Doppel Radisson Name Einzel Räume Doppel Mercure Name hotel/ 580 720 /hotel/ preise / einzel /text() vs. räume / einzel / preis /text() Preis 190 210 Preis Single-Occupancy 200 Quelle: Ubbo Visser, Heiner Stuckenschmidt, and Holger Wache (Intelligent Information Integration for the Semantic Web)

Allgemeines Trägersprachen Ferienclub Probleme mit Transformationen 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))

Allgemeines Trägersprachen Ferienclub Probleme mit Transformationen UNIBIB STADTBIB PUBLIKATION (Pubnr, Titel, Typcode) BUCHPUB (Pubnr, Verlag, Ejahr, #Exemplare, ISBN) VERFASSER (Pubnr, Vname) SCHLAGWORT (Pubnr, Sname) 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

Meine Motivation: Reisebüro des Reisebüros MYSQL Reisebüro Name: Meier Zielort: Malle Anzahl Personen: 2 Besonderheit: Ferienclub

Meine Motivation: Ferienclub Rezeption der Rezeption DB2 des Reisebüros MYSQL Reisebüro Name: Meier Anzahl Personen: 2 Besonderheit: Keine KreditkartenNr.: 12345

Meine Motivation: Ferienclub Rezeption der Rezeption DB2 des Reisebüros MYSQL Reisebüro des PDA's??? PDA

Meine Motivation: Ferienclub HTML- Schreiben Essenplan für nächsten Tag Küche Rezeption der Rezeption DB2 Name: Meier Was möchte er essen??? Was darf er essen??? des Reisebüros MYSQL Reisebüro des PDA's??? PDA

Meine Motivation: Ferienclub HTML- Schreiben Essenplan für nächsten Tag Küche Rezeption der Rezeption DB2 des Reisebüros MYSQL Reisebüro Name: Meier Wann ist er unterwegs, damit ich aufräumen kann??? PDF- Schreiben Zeitplan der Ausflüge des PDA's??? PDA Reinigung

Meine Motivation: Externe Veranstalter Küche HTML- Schreiben Essenplan für nächsten Tag Autovermietung HTML- Schreiben Maske der Angebote Rezeption der Rezeption DB2 Autovermieter: Müller Angebote: 3 Tage Auto 1 Tag Versicherung kostenlos des Reisebüros MYSQL Reisebüro des PDA's??? PDA Zeitplan der Ausflüge PDF- Schreiben Reinigung

Meine Motivation: Externe Veranstalter Küche HTML- Schreiben Essenplan für nächsten Tag Autovermietung HTML- Schreiben Maske der Angebote Rezeption der Rezeption DB2 des Reisebüros MYSQL Reisebüro des??? DB2 des PDA's??? PDA Veranstalter Zeitplan der Ausflüge PDF- Schreiben Reinigung

Meine Vision: Gesamtansicht Küche HTML- Schreiben Essenplan für nächsten Tag Autovermietung HTML- Schreiben Maske der Angebote Rezeption der Rezeption DB2 Black Box die alle verbindet des Reisebüros MYSQL Reisebüro des??? DB2 des PDA's??? PDA Veranstalter Zeitplan der Ausflüge PDF- Schreiben Reinigung

Meine Vision: Gesamtansicht Küche HTML- Schreiben Essenplan für nächsten Tag Autovermietung HTML- Schreiben Maske der Angebote Rezeption der Rezeption DB2 Black Box die alle verbindet Plugin??? Service??? des Reisebüros MYSQL Reisebüro des??? DB2 des PDA's??? PDA Veranstalter Zeitplan der Ausflüge PDF- Schreiben Reinigung

Allgemeines Trägersprachen Ferienclub Probleme im Ferienclub XML-Dokument XML-Dokument Name: Müller Mobil- Tel.: 323 Addresse:Malle4 Autos:5 Mottorräder: 4 Roller/Kleine Motorräder: 10 transformiert nach transformiert nach Name vom Autovermieter: TelefonNr: Standort: Autos: Mottorräder(alle): Name: Europcar Fax.Nr.: 222 Zweigstellen Name: Kruse Mobil- Tel.: 323 Tel Nr.: 4444 Hauptsitz: Paris Zweigstelle:Malle Fuhrpark:22Autos vom Autovermieter Müller vom Ferienclub vom Autovermieter Europcar Kruse

Allgemeines Trägersprachen Ferienclub Probleme im Ferienclub XML-Dokument XML-Dokument Name: Müller Mobil- Tel.: 323 Addresse:Malle4 Autos:5 Mottorräder: 4 Roller/Kleine Motorräder: 10 transformiert nach transformiert nach Name vom Autovermieter: TelefonNr: Standort: Autos: Mottorräder(alle): Name: Europcar Fax.Nr.: 222 Zweigstellen Name: Kruse Mobil- Tel.: 323 Tel Nr.: 4444 Hauptsitz: Paris Zweigstelle:Malle Fuhrpark:22Autos vom Autovermieter Müller vom Ferienclub vom Autovermieter Europcar Kruse

Allgemeines Trägersprachen Ferienclub Probleme im Ferienclub XML-Dokument XML-Dokument Name: Müller Mobil- Tel.: 323 Addresse:Malle4 Autos:5 Mottorräder: 4 Roller/Kleine Motorräder: 10 transformiert nach transformiert nach Name vom Autovermieter: TelefonNr: Standort: Autos: Mottorräder(alle): Name: Europcar Fax.Nr.: 222 Zweigstellen Name: Kruse Mobil- Tel.: 323 Tel Nr.: 4444 Hauptsitz: Paris Zweigstelle:Malle Fuhrpark:22Autos vom Autovermieter Müller vom Ferienclub vom Autovermieter Europcar Kruse

Allgemeines Trägersprachen Ferienclub Probleme im Ferienclub XML-Dokument XML-Dokument Name: Müller Mobil- Tel.: 323 Addresse:Malle4 Autos:5 Mottorräder: 4 Roller/Kleine Motorräder: 10 transformiert nach transformiert nach Name vom Autovermieter: TelefonNr: Standort: Autos: Mottorräder(alle): Name: Europcar Fax.Nr.: 222 Zweigstellen Name: Kruse Mobil- Tel.: 323 Tel Nr.: 4444 Hauptsitz: Paris Zweigstelle:Malle Fuhrpark:22Autos vom Autovermieter Müller vom Ferienclub vom Autovermieter Europcar Kruse

Allgemeines Trägersprachen Ferienclub Probleme im Ferienclub XML-Dokument XML-Dokument Name: Müller Mobil- Tel.: 323 Addresse:Malle4 Autos:5 Mottorräder: 4 Roller/Kleine Motorräder: 10 transformiert nach transformiert nach Name vom Autovermieter: TelefonNr: Standort: Autos: Mottorräder(alle): Name: Europcar Fax.Nr.: 222 Zweigstellen Name: Kruse Mobil- Tel.: 323 Tel Nr.: 4444 Hauptsitz: Paris Zweigstelle:Malle Fuhrpark:22Autos vom Autovermieter Müller vom Ferienclub vom Autovermieter Europcar Kruse

Trägersprachen XML XSL XML und Java

XML XSL XML & Java XML Was ist XML? DTD Namespaces XPath

XML XSL XML & Java 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)

XML XSL XML & Java 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> <Furpark> </Autovermietung> </Klasse> <Mittelklasse> <FahrzeugId> 006 </FahrzeugId> <Marke> Opel Omega </Marke> <Türen> 4 </Türen> </Mittelklasse>

XML XSL XML & Java 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

XML XSL XML & Java DTD Beispiel Die 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)>

XML XSL XML & Java Testen von XML Dokumenten Quelle: Vorlesung Semantic Web von Prof.Owsnicki-Klewe

XML XSL XML & Java Namespaces Namespaces sind Hilfsmittel Eindeutige Unterscheidung von DTD s <bk:book xmlns:bk="urn:loc.gov:books" xmlns:isbn="urn:isbn:0-395-36341-6"> <bk:title>cheaper bythedozen</bk:title> <isbn:number>1568491379</isbn:number> </bk:book>

XML XSL XML & Java XPath Unterstützung zu XSLT Mechanismus zur Navigation im Dokument Hauptaufgabe: Adressierung von Daten Auswertung und Definition von logischen Ausdrücken Bereitstellung von Hilfsmitteln

XML XSL XML & Java XSL Was ist XSL(T)? XSL-FO

XML XSL XML & Java 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

XML XSL XML & Java 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

XML XSL XML & Java XSL Quelle: Vorlesung Semantic Web von Prof.Owsnicki-Klewe

XML XSL XML & Java 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

XML XSL XML & Java XSL-FO XML-Dokument Buch Autor Titel Beschreibung FO-Document XHTML Phase 2 FOP SVG PDF PostScript... Genere Preis Datum ISBN Phase 1 XSLT HTML XML

XML XSL XML & Java Realisierung SQL Abfrage Datenaufbereitung Batik / SVG SVG XSL Stylesheet Report in Applikation/ Applet XSLT Transformation HTML Formating Object Output FOP / XSL-FO FOP / XSL-FO PDF RTF

XML XSL XML & Java XML und Java SAX DOM FOP Visualisierung Batik und SVG

XML XSL XML & Java SAX Simple API for XML Parser der das Dokument sequenziell durcharbeitet Kennt nur die Elemente an aktueller Stelle

XML XSL XML & Java 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

XML XSL XML & Java XALAN Xalan ist ein XSLT Prozessor komplett in Java Von der Apache Group entwickelt (Open Source)

XML XSL XML & Java 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

XML XSL XML & Java Visualisierung mit SVG ScalableVector 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

XML XSL XML & Java SVG Beispiele Quelle: http://www.w3.org/2002/talks/svg-hongkong-ih/45.html

XML XSL XML & Java 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

XML XSL XML & Java Fazit Vorteile einer XML Lösung Gute Unterstützung durch Java Viele nützliche und Lizenzfreie Projekte der Apache Group SVG zur Visualisierung

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

Meine Vision: Gesamtansicht Küche HTML- Schreiben Essenplan für nächsten Tag Autovermietung HTML- Schreiben Maske der Angebote Rezeption der Rezeption DB2 Black Box die alle verbindet des Reisebüros MYSQL Reisebüro des??? DB2 des PDA's??? PDA Veranstalter Zeitplan der Ausflüge PDF- Schreiben Reinigung

Gesamtansicht mit Datawarehouse Küche HTML- Schreiben Essenplan für nächsten Tag Autovermietung HTML- Schreiben Maske der Angebote Rezeption der Rezeption DB2 Black Box die alle verbindet des Reisebüros MYSQL Reisebüro des??? DB2 des PDA's??? PDA Veranstalter PDF- Schreiben Zeitplan der Ausflüge Datawarehouse Reinigung

Meine Angebot: Gesamtansicht Küche HTML- Schreiben Essenplan für nächsten Tag Autovermietung HTML- Schreiben Maske der Angebote XSLT-Engine Rezeption der Rezeption DB2 des Reisebüros MYSQL Reisebüro des??? DB2 des PDA's??? PDA Veranstalter PDF- Schreiben Zeitplan der Ausflüge Datawarehouse Reinigung

Meine Angebot: Gesamtansicht Küche HTML- Schreiben Essenplan für nächsten Tag Autovermietung HTML- Schreiben Maske der Angebote XSLT-Engine Rezeption der Rezeption DB2 Stylesheet für die Küche Stylesheet für die Rezeption Stylesheet für die Veranstalter Black Box als Service implementiert in Java Stylesheet für die Autovermietung Stylesheet für die Reisebüro Stylesheet für den PDA des Reisebüros MYSQL Reisebüro des??? DB2 Stylesheet für die Reinigung des PDA's??? PDA Veranstalter PDF- Schreiben Zeitplan der Ausflüge Datawarehouse Reinigung

Meine Angebot: Gesamtansicht Küche HTML- Schreiben Essenplan für nächsten Tag Autovermietung HTML- Schreiben Maske der Angebote XSLT-Engine Rezeption der Rezeption DB2 Stylesheet für die Küche Stylesheet für die Rezeption Stylesheet für die Veranstalter Service mit Eingabemaske der Zuordnung Stylesheet für die Autovermietung Stylesheet für die Reisebüro Stylesheet für den PDA des Reisebüros MYSQL Reisebüro des??? DB2 Stylesheet für die Reinigung des PDA's??? PDA Veranstalter PDF- Schreiben Zeitplan der Ausflüge Datawarehouse Reinigung

Meine nächste Vision: Gesamtansicht Küche HTML- Schreiben Essenplan für nächsten Tag Autovermietung HTML- Schreiben Maske der Angebote XSLT-Engine Rezeption der Rezeption DB2 des??? DB2 Stylesheet für die Küche Stylesheet für die Rezeption Stylesheet für die Veranstalter Stylesheet für die Reinigung Automatisierten Service für alle Transformationen Stylesheet für die Autovermietung Stylesheet für die Reisebüro Stylesheet für den PDA des Reisebüros MYSQL des PDA's??? Reisebüro PDA Veranstalter PDF- Schreiben Zeitplan der Ausflüge Datawarehouse Reinigung

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

Syntaktische Transformation Danke für die Aufmerksamkeit und einen guten Heimweg.