© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.

Slides:



Advertisements
Ähnliche Präsentationen
XML-basierte Techniken
Advertisements

DTD XML-Technik Dino Azzano. Definition Document Type Definition Beschreibung der Regeln zum Aufbau aller XML-Dokumente, die zu einer Dokumentklasse.
Transformation of ARIS Markup Language to EPML
Was bedeutet XML in Office-Applikationen für Systemadministratoren? Ruprecht Dröge MCSE MCSD MCT Microsoft Pre Sales Consultant.
SVG und X3D Referentin: Gergana Ivanova
1. Einführung. 1. Einführung Inhalt Einführung Vorlagen XPath Kontrollstrukturen Sortierung, Gruppierung und Nummerierung Parameter und Variablen Ein-
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
XML - Aufbau und Struktur - mit Einsatz im B2B
Hands On – Einführung in XML
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
DOM (Document Object Model)
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
HTML - Eine erste Annäherung
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 10: Einführung in XML.
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
Tinosch Ganjineh, Christian v. Prollius 1 Scalable Vector Graphics SVG.
Speicherung von XML- Dokumenten als Large Objects.
Einführung XML XML Einführung Andreas Leicht.
Datenbanken und XML Vortrag: Oliver Klein Seminar Weltweite Datenbanken WS 2000/01 CvO Universität Oldenburg.
Hauptseminar XML-Technologie: Resource Description Framework (RDF) Michael Kranz Betreuer: Roland Haratsch.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Zukunft des Webs? Dennis Beer Christian Blinde
© data2type 2005, 1 Publishing mit XML Einsatz von XSL für das multimediale, automatisierte Publishing.
Tobias Högel & Dennis Böck,
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von.
XSLT.
Einsatzgebiete und Anwendungen
Web-Publishing mit Datenbanken Vergleich zwischen Skripting- Technologie und dem Einsatz von XML-Schnittstellen... Thorsten Rood © 03/2001 FernUni-Hagen.
Proseminar: „Webtechnologien für Ecommerce“
Java für Fortgeschrittene
XSL und XSLT1 eXstensible Stylesheet Language und eXstensible Stylesheet Language Transformation.
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
Übersicht Was ist cocoon? Separation of Concerns Pipeline Modell
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Management- und Web Services- Architekturen
XML und Datenbanken © 2006 Markus Röder
Gruppe 5. Einleitung ElzbietaChristofTommy SimonIngoMax.
XML (Extensible Markup Language)
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.
XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung.
PHP Einführung Anbindung an XML Technologien Jürgen Mangler.
XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000.
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
Eike Schallehn, Martin Endig
Eike Schallehn, Martin Endig
- Warum: Das HTML-Dilemma
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
Datenbanken im Web 1.
- XML: Das Sprachkonzept
Einfache SQL-Befehle Schedule: Timing Topic 40 minutes Lecture
XML in der Praxis: Electronic Bill Presentment (EBP) Institut für Wirtschaftsinformatik J. W. Goethe-University J. W. Goethe University Institute of Information.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
Dynamische Seiten 13. Juli 2009 Norbert Winnige „Datenbanken in den Geisteswissenschaften“
Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto.
Vorteile von XML Die installed base von HTML, HTTP und Webbrowsern XML ist einfach und portabel XML kann Dokumente beliebiger Komplexität abbilden XML.
IT-Zertifikat_Seminar: Metadatenstandards XSLT Eine Transformationssprache.
XSLT I Re-usable Content in 3D und Simulationssystemen Dozent: Prof. Manfred Thaller Referentin: Elisabeth Chang.
XML Technologie für NOKIS Software Wassilios Kazakos, Andreas Schmidt, Alexei Valikov, Alexei Akhounov FZI Forschungszentrum Informatik Karlsruhe
1 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg DOAG - Regionaltreffen Hannover Donnerstag, Oracle 9i XML Datenbank.
Datentransformation mit XSLT Seminarvortrag von Johannes Engels.
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
Niels Schmahljohann Systemberater STCC ORACLE Deutschland GmbH.
Dokumentenproduktion im Medienzentrum
 Präsentation transkript:

© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg Hauptseminar - Halle - 6. Februar 2002

© 2001 Sven Dammann2 Gliederung 1.Einleitung 1.1. XML und Datenbanken 1.2. XML Dokument 1.3. Document Type Definition 2.XML Schema 2.1. Schema Aufbau 2.2. Tabellenmodellierung 2.3. Referentielle Integrität 3.Datenbank-Operationen mit XML-Sprachen 3.1. Selektion und Projektion mit Xpath 3.2. Transformation mit XSLT 4.Zusammenfassung

© 2001 Sven Dammann3 XML und Datenbanken: Möglichkeiten Middleware Software zum Transferieren von Daten zwischen XML-Dokumenten und Datenbanken XML-Enabled Databases Datenbanken mit Erweiterungen, um Daten zwischen XML-Dokumenten und diesen Daten- banken zu transferieren Native XML Databases Datenbanken, die XML-Dokumente in ihrer „nativen“ Form speichern (Erhalt der Struktur des XML- Dokuments) XML-Server Plattformen, die Daten in Form von XML-Doku- menten an verteilte Anwendungen senden und von diesen Anwendungen empfangen (e-commerce, B2B-Applikationen) XML Application Server Web Applikationen Server, die XML an Browser verschicken Content Management Systems Systeme zum Speichern, Wiederfinden und Zusammenstellen von Dokumenten aus Dokumentfragmenten Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann4 XML: Verarbeitung Anwendungen, die XML verarbeiten benötigen drei Dateien: –XML-Dokument –DTD (Document Type Definition) oder XML Schema –XSL-Stylesheet XML-Dokument nach Regeln der DTD o. XML Schema aufgebaut DTD o. XML-Schema legt logische Struktur fest XSL-Stylesheet zur Darstellung (z.B. im Browser) Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann5 XML-Dokument: Aufbau...untergeordnete Elemente identisch mit <beispiel xmlns:xsi=... xsi:noName spaceSchemaLocation=„beispiel.xsd">...untergeordnete Elemente Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann6 XML: Baumstruktur Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann7 DTD: Beispiel Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann8 DTD: Nachteile Nur ein Datentyp Sicherung referentieller Integrität nur sehr eingeschränkt über Definition von „ID“ und „IDREF“möglich XML Schema Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann9 XML Schema Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann10 XML-Schema: Aufbau <xs:schema xmlns:xs=" von Elementen... Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann11 Beispieldatenbank: Company deptnodnameloc 10AccountingNew York 20ResearchDallas 30SalesChicago empnoenamejobmgrsaldeptnr 7839KingPresident BlakeManager MartinSalesman JamesClerk emp dept 1 n n 1 Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann12 XML Schema: Bsp Definiert Elemente (Markups) ‚name‘ entspricht dem Tag-Namen des XML-Dokumentes Angabe von Minimal-und Maximal- grenzen möglich Definiert den Inhalt zwischen dem Start- und End-Tag complexType kann als Inhalt weitere Elemente enthalten Definition von eigenen SimpleTypes möglich Definiert eine Folge von Elementen Reihenfolge ist zwingend Andere Möglicjkeit: choice (Auswahl) oder group (Gruppe) Definiert die Attribute des übergeordneten Elementes,name‘ entspricht dem Attribut-Namen im XML-Dokument Zwingende Angabe eines Datentyps Definiert einen Primärschlüssel ‚Name‘ „selector“ definiert den Pfad im XML- Dokument wo der Schlüssel liegt „field“ legt den Knoten fest, der der Schlüssel ist Einleitung XML Schema Xpath XSLT Zusammenfassung Definiert einen Fremdschlüssel ‚Name‘ „refer“ gibt den zu referenzierenden Schlüssel an „selector“ und „field“ legt die Position des Knotens fest, dessen Wert zu überprüfen ist

© 2001 Sven Dammann13 XML– Datei: personal.xml Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann14 Referentielle Integrität <company xmlns:xsi=" xsi:noNamespaceSchemaLocation="personal.xsd"> Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann15 XML-Schema: Simple Types Vorteile durch Definition eigener Datentypen Einschränkung mittels Regulären Ausdrücken Im Beispiel: Alle Werte 999-XX (drei Ziffern gefolgt von „-“ und zwei Großbuchstaben Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann16 XML-Schema: warum? Anwendung 1 10 Accounting New York King President Anwendung 2 DB Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann17 Selektion und Projektion mit XPath Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann18 Datenbankoperationen: XSL XSL XPathXSLTXSL-FO XSL - eXtensible Stylesheet Language Transformation bestehender Quelldokumente Xpath - XML Path Language Selektion von Teilen des XML-Quelldokumentes XSLT - XSL Transformation Teil zur Transformation des Quelldokumentes XSL-FO - XSL Formatting Objects Informationen zur Darstellung Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann19 Xpath: Pfad Ausdrücke Pfad Ausdrücke Selektion von Resultats-Knoten- mengen aus dem Quell-XML-Baum Pfad kann aus mehreren Bausteinen bestehen Bausteine durch „/“ getrennt Pfadbaustein (Grundgerüst): achse::knoten-test[prädikate] Achse Gibt Baumbeziehungen zwischen zu selektierenden Knoten und Kontextknoten an Einleitung XML Schema Xpath XSLT Zusammenfassung Knoten-Test Gibt Knotentyp und Namen der zu selektierenden Knoten an Prädikate Weitere Verfeinerung der selektierten Knotenmenge optional

© 2001 Sven Dammann20 Xpath: Baumbeziehungen Child Alle direkten Kinder eines Kontextknotens Child Alle direkten Kinder eines Kontextknotens Syntax: child::Elementname Beispiel: alle Kinder eines Knotens, die „Blatt4“ heißen child::Blatt4 verkürzt: Blatt4 Syntax: child::Elementname Beispiel: alle Kinder eines Knotens, die „Blatt4“ heißen child::Blatt4 verkürzt: Blatt4 Parent Das Elternelement des Kontextknoten Parent Das Elternelement des Kontextknoten Syntax: parent::Elementname Beispiel: das Elternelement eines Kontextknoten, daß „Wurzel“ heißt parent::Wurzel verkürzt: parent::node() =.. Syntax: parent::Elementname Beispiel: das Elternelement eines Kontextknoten, daß „Wurzel“ heißt parent::Wurzel verkürzt: parent::node() =.. Ancestor Alle Vorfahren des Kontextknoten Ancestor Alle Vorfahren des Kontextknoten Syntax: ancestor::Elementname Beispiel: alle Vorfahren eines Kontextknotens ancestor::* Syntax: ancestor::Elementname Beispiel: alle Vorfahren eines Kontextknotens ancestor::* Descedant Alle Abkömmlinge eines Kontextknoten Descedant Alle Abkömmlinge eines Kontextknoten Syntax: descendant::Elementname Beispiel: alle Nachfahren eines Kontextknotens, die „Ebene3“ heißen descendant::Ebene3 Syntax: descendant::Elementname Beispiel: alle Nachfahren eines Kontextknotens, die „Ebene3“ heißen descendant::Ebene3 Einleitung XML Schema Xpath XSLT Zusammenfassung Preceding Alle K. die im Doku- ment vor dem Kontext- knoten kommen Preceding Alle K. die im Doku- ment vor dem Kontext- knoten kommen Syntax: preceding::Elementname Beispiel: alle einem Kontextknoten vorangegangenen Elemente „Blatt2“ preceding::Blatt2 Syntax: preceding::Elementname Beispiel: alle einem Kontextknoten vorangegangenen Elemente „Blatt2“ preceding::Blatt2 Following Alle auf den Kontext- knoten folgenden Elem. Following Alle auf den Kontext- knoten folgenden Elem. Syntax: following::Elementname Beispiel: alle folgenden Elemente „Blatt1“ eines Kontextknoten following::Blatt1 Syntax: following::Elementname Beispiel: alle folgenden Elemente „Blatt1“ eines Kontextknoten following::Blatt1 Preceding-Sibling Alle folgenden Brüder des Kontextknoten Preceding-Sibling Alle folgenden Brüder des Kontextknoten Syntax: preceding-sibling::Elementname Beispiel: alle vorherigen Brüder „Ebene3“ eines Kontextknotens preceding-sibling::Ebene3 Syntax: preceding-sibling::Elementname Beispiel: alle vorherigen Brüder „Ebene3“ eines Kontextknotens preceding-sibling::Ebene3 Following-Sibling Alle folgenden Brüder des Kontextknoten Following-Sibling Alle folgenden Brüder des Kontextknoten Syntax: following-sibling::Elementname Beispiel: alle folgenden Brüder die „Blatt3“ heißen following-sibling::Blatt3 Syntax: following-sibling::Elementname Beispiel: alle folgenden Brüder die „Blatt3“ heißen following-sibling::Blatt3 Self Aktueller Knoten (Kontextknoten) selbst Self Aktueller Knoten (Kontextknoten) selbst Syntax: self::node() Beispiel: Auswahl des Knotens „Ebene1“ child::Ebene1/self::node() verkürzt: Ebene1/. Syntax: self::node() Beispiel: Auswahl des Knotens „Ebene1“ child::Ebene1/self::node() verkürzt: Ebene1/. Ancestor-or-Self Kontextknoten & alle seine Vorfahren Ancestor-or-Self Kontextknoten & alle seine Vorfahren Syntax: ancestor-or-self::Elementname Beispiel: alle Vorfahren eines Kontext-Elementes inkl. dem Element selbst ancestor-or-self::* Syntax: ancestor-or-self::Elementname Beispiel: alle Vorfahren eines Kontext-Elementes inkl. dem Element selbst ancestor-or-self::* Descendant-or-Self Kontextknoten & alle Abkömmlinge Descendant-or-Self Kontextknoten & alle Abkömmlinge Syntax: descendant-or-self::Elementname Beispiel: alle Elemente „Blatt1“ des Dokuments descendant-or-self::Blatt1 verkürzt: //Blatt1 Syntax: descendant-or-self::Elementname Beispiel: alle Elemente „Blatt1“ des Dokuments descendant-or-self::Blatt1 verkürzt: //Blatt1

© 2001 Sven Dammann21 child::CCC Ergebnis Node-Set: ( ; ) Xpath: Ablauf AAA DDDBBBCCC BBBEEEBBB DDDEEE GGGBBB DDDBBBCCC /child::BBB BBB /child::EEE DDDEEE DDDBBB AAA -Knoten des Baumes -Mögliche Knoten -Treffer descendant-or-self::BBB Node-Set: ( ; ; ; ) CCC BBB DDDEEE CCC/BBB/EEE DDDBBB EEE CCC BBB DDDEEE GGGBBB AAA //BBB Einleitung XML Schema Xpath XSLT Zusammenfassung BBB

© 2001 Sven Dammann22 Xpath: Selektion & Projektion mit Prädikaten descendant-or-self::emp[attribute::sal < 2850]/attribute::ename Ergebnis Knoten-Set: (Martin ; James) Schritt 1: Wähle alle „emp“-Knoten deren Inhalt ihres „sal“-Attributs kleiner als 2850 ist Schritt 2: Wähle von diesen „emp“-Knoten das Attribut „ename“ Wie heißen die Mitarbeiter mit einem Gehalt kleiner 2850? sal < ename Relationale Algebra:  ename (  sal < 2850 (emp)) Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann23 Xpath: Weitere Funktionen Xpath bietet umfangreiche Funktionsbibliothek Meist Verwendung in Prädikaten Allgemeine Funktionen number last(): entspricht Größe des Kontexts (das letzte Element) number position(): gibt die Kontext-Position an number count(node set): Anzahl der Knoten in der Argumentmenge String-Funktionen number string-length(string?): liefert Länge des Strings boolean starts-with(string, string): true, wenn 1. Argument mit 2. Argument beginnt boolean contains(string, string): true, wenn 1. Argument das 2.Argument beinhaltet Boolsche-Funktionen boolean boolean(object): Konvertierung unterschiedlicher Objekttypen nach boolean boolean not(boolean): Negierung des angegebenen Wertes boolean true(): liefert true Zahlen-Funktionen number number(object?): Konvertierung des angegebenen Objekts nach number number sum(node-set): Aufsummierung von Argument-Knoten des Typs number Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann24 Transformation mit XSLT Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann25 XSLT: Aufbau XSLT-Dokument: Aufbau <xsl:stylesheet version="1.0" xmlns:xsl=" von Templates... Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann26 XSLT: Templates XSLT: Template Grundgerüst...Definition von Regeln... Templates geben an, wie ein bestimmter Knotentyp zu transformieren ist innerhalb des Templates weitere Templates aufrufbar  Rekursionen abbildbar Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann27 XSLT: Beispiel Personal-Relation DeptNo Dname Loc --- Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann28 Xpath und XSLT XML Parser XML Parser XML Parser XML Parser Quell- Dokument XML Quell- Dokument XML XSLT Style- sheet (XML) XSLT Style- sheet (XML) Ausgabe HTML File... Ausgabe HTML File... Ablauf einer Transformation XSLT Prozessor XSLT Prozessor XPath Prozessor XPath Prozessor Quelldokument (DOM- Repräsentation) Stylesheet (DOM- Repräsentation) ( ),,,, Node-Sets Selektion XSLT- Anweisungen (Literal, Result Elements) Erzeugen von Knoten Ergebnis (DOM- Repräsentation) Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann29 Personal-Relation DeptNo Dname Loc --- Transformation am Beispiel XMLXSLT & XPathHTML Pers... border="1"> DeptNo Dname Loc 10 Accounting New York 20 Research Dallas 30 Sales Chicago Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann30 Vergleich: SQL - XSL Gemeinsamkeiten: –Anfragemöglichkeiten Wenige, einfache Anfragemöglichkeiten Erweiterung durch arithm. Funktionen und Vergleichsoperatoren –Deskriptive Sprachen Beschreiben nur Ergebnis der Transformation, nicht den Algorithmus –Abgeschlossenheit Ausgabe kann als Eingabe für weitere Transformationen dienen Unterschiede: –Manipulation der Daten XSL: um bestehendes Dokument zu verändern muß es durch neues ersetzt werden  hoher Aufwand bei kleinen Änderungen SQL: bietet neben SELECT weiter Operationen um Daten schnell zu ändern Einleitung XML Schema Xpath XSLT Zusammenfassung

© 2001 Sven Dammann31 Zusammenfassung: Abbildung relationaler Strukturen mit XML sehr einfach Integration unterschiedlicher Dokumente durch Festlegen eines einheitlichen Schemas (XML-Schema) Selektion und Projektion mit Xpath und XSLT Einleitung XML Schema Xpath XSLT Zusammenfassung