Query Transformation based on XSLT



Ähnliche Dokumente
XML-Verarbeitung. XPath XSL die extensible Stylesheet Language. Torsten Schaßan SCRIPTO Modul 4: EDV Wolfenbüttel

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Diagramm aus mehreren Tabellenblättern

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Die österreiche Bürgerkarte Technik aus Sicht der Applikation

WARY Notariat Urkundenrolle V2013

Inhaltsverzeichnis Dokumentverwaltung Organisation von Dokumenten Ordner erstellen Dokumente im Dateisystem behandeln...

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar CAP-News 40

Vorabversion. Schulung am Homepage Administration und Pflege

Gegeben ist das folgende XML-Dokument.

Software-Engineering 2. Übungen zur Wiederholung. IT works. Metris GmbH

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

Installation OMNIKEY 3121 USB

Verkaufsstätten. Dipl.- Ing.(FH) M.Eng.(TU) Thomas Höhne

1 topologisches Sortieren

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Wenn Sie sich als Vertretungskraft für PES bewerben wollen, gehen Sie zur Selbstregistrierung auf folgende Internetadresse:

XSL Templates. Mit Templates arbeiten. XSL Templates

Klaus Schild, XML Clearinghouse Transformation von XML-Dokumenten

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

ZAHLUNGSAVIS. Im Zahlungsprogrammteil automatisch erstellen

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

W-Rechnung und Statistik für Ingenieure Übung 11

EMC SourceOne TM für Microsoft SharePoint 7.1 Archivsuche Kurzreferenz

Datenbanken Microsoft Access 2010

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Synchronisations- Assistent

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Bibliothekssysteme / Verbundsysteme / Netze

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Aufgaben zu XPath und XQuery

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

7.3 Einrichtung 13. Monatslohn. Auszahlung Ende Jahr / Ende der Beschäftigung

SmartDispatch DMR-Dispatcher. Bestellablauf. SmartDispatch-Bestellablauf V1.0

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

Zertifikat in dakota einlesen Wie lese ich mein Zertifikat in dakota.le ein?

XML. Teil 3: Namensräume. Abteilung Informatik WS 02/03

Anzeige von eingescannten Rechnungen

BITel Box. Ihr Anrufbeantworter im BITel-Netz. Service

Anleitung für die Online-Bewerbung über LSF auf Lehrveranstaltungen aller Lehramtsstudiengänge

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

Wenn Sie sich als Vertretungskraft für PES bewerben wollen, gehen Sie zur Selbstregistrierung auf folgende Internetadresse:

Installationsanleitung. Ab Version

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

INSTALLATION DES MICROSOFT SUS-SERVERS AUF WINDOWS XP PROFESSIONAL

Bibliotheksprogramm (WebOPAC) Schritt-für-Schritt-Anleitung. ohne Ausleihe

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

Handbuch Kundenportal

Technisches Handbuch. 3. Werkstoffe. 3. Werkstoffe Schraubenwerkstoffe allgemein Festigkeitskennwerte von Schraubenwerkstoffen

Um die Rücklagen ordnungsgemäß zu verbuchen, ist es wichtig, Schritt-für-Schritt vorzugehen:

Melde- und Veröffentlichungsplattform Portal (MVP Portal) Hochladen einer XML-Datei

Institut für Programmierung und Reaktive Systeme 25. August Programmier-Labor Übungsblatt. int binarysearch(int[] a, int x),

AcQuickPrint / AcSetPrinter Publizieren leicht gemacht / Drucker in Layouts tauschen

Import Zertifikate ELM

Übernahme von Daten aus einem bestehenden Outlook-Profil bzw. einem anderen Exchange Server

System der. Bühnensteckverbind 63A ( System Eberl ) REICHE & VOGEL-B.DELTSCHAFT. Blumenstr.10 D Berlin (Spandau)

Funktionserweiterungen, behobene Funktionseinschränkungen und Funktionseinschränkungen, EASY Starter V1.5

Kurzpräsentation Fiat Export Programm

In der Combobox der Art der Übermittlung (steht derzeit auf 0 für keine Definition), können Sie folgende Einstellungen vornehmen:

Etikettendruck mit Works 7.0

R ist freie Software und kann von der Website.

Arbeitsgruppen innerhalb der Website FINSOZ e.v.

Zwischenablage (Bilder, Texte,...)

MuP-Arbeitshilfen. Kreativität organisieren Der innovative Prozess. Problem-Phase

HTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Erwin Grüner

Plotten von Linien ( nach Jack Bresenham, 1962 )

Installationsanleitung Sander und Doll Mobilaufmaß. Stand

Abfragen: Grundbausteine

Installationshinweise Linux Edubuntu 7.10 bei Verwendung des PC-Wächter

Abbildung 1: Hochschulzugangsberechtigung der INGflex-Probanden/-innen (1. Kohorte:

S7-Hantierungsbausteine für R355, R6000 und R2700

Anleitung Einrichtung Datenschnittstelle VereinsWK <-> SiusData

TOP 9 der öffentlichen Gemeinderatssitzung am 27. April 2010 Standortfrage Vergnügungsstätten

Korrelation (II) Korrelation und Kausalität

NTCS WIEDERHOLFAKTURA & SAMMELRECHNUNG 10/04/13. BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Übung - Datenmigration in Windows Vista

Hardware - Software - Net zwerke

Der SD-Kartenslot befindet sich an der rechten Gehäuseseite unterhalb der rechteckigen hellgrauen Gummiabdeckung.

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Bei Verwendung der Kaskade dürfen nur am letzten Baustein die Ausgänge A1-A4 verwendet werden!

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Diese Programm ist für Hausverwaltungen, Kleingärtner Vereine gedacht und besteht eigentlich aus drei Programmen:

!Umfrage!zum!deutschen!Mark!für! Persönlichkeitsdiagnostik!

A-CERT ADVANCED pdf-signaturprüfung einrichten 2008

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Anhang 2: Auswertungsschema zum Ermittlungsbogen G1

Datenexport aus JS - Software

1. Anleitung zur Einrichtung der VR-NetWorld-Card basic in Profi cash. Bevor Sie mit der Einrichtung beginnen, sollten Sie folgende Punkte beachten:

Architektur des agimatec-validation Frameworks

Hierfür benötigen Sie zunächst immer einen INI-Brief von Ihrer Bank!

Transkript:

Query Transformation based on XSLT Gesamtsystem XML format 2 transformation component XML format 1 query transformation query XP2 query XP1 transformed XML fragment F2 XSLT stylesheet XSL processor XML fragment F1 XML-DB 1

Teilklasse von XPath XPath-Query XP2 beginnt mit / oder // Folge von Elementen, die durch / oder // getrennt voneinander sind, keine parent-axis (.. ) oder self-axis (. ) erlaubt Filter sind von der Art [@A1= const ], d.h. es wird ein Attribut A1 eines aktuellen Elementes mit einem konstanten Wert const verglichen Der XPath-Ausdruck XP2 endet mit /@*, d.h. alle Attribute des aktuellen Elementes werden wiederhergestellt. Beispiel: Ermittle alle Attribute des Elementes worker, welches ein Attribut family_name mit Wert Smith und als Vater ein Element level besitzt, welches wiederum ein direkter Nachfolger der Dokumentenwurzel ist : EBNF: AttributeQuery ::= LocationPath /@* LocationPath ::= Step* Step ::= ( / // ) Name Predicate* Predicate ::= [@ Name = String ] Teilklasse von XSLT XSLT-Stylesheet Folgende Knoten sind erlaubt: <xsl:stylesheet> <xsl:template match=m1> <xsl:element name=n> <xsl:attribute name=n> <xsl:apply-template select=s1/> <xsl:text> <xsl:value-of select=s2/> S1, S2 und M1 dürfen dabei keine axes, kein.,.., * und keine function calls enthalten 2

Bsp. Eingabedatei Hierarchie im Unternehmen: <employee surname= Wang > <responsible_for> <employee surname= Johnson > <responsible_for> <employee surname= Smith /> </responsible_for> </employee> <employee surname= Miller /> </responsible_for> </employee > Bsp. - Ausgabedatei Hierarchiestufen mit zugehörigen Mitarbeitern (ohne Information über direkten Vorgesetzten) <worker family_name= Wang /> <worker family_name= Johnson /> <worker family_name= Miller /> <worker family_name= Smith /> 3

Bsp. XSLT Stylesheet <xsl:template match= / responsible_for > <worker family_name= {@surname} /> Normalisiertes XSLT-Stylesheet 4

XSLT-Stylesheet als XML-Dokument XSLT-Stylesheet-Graph 5

/level/worker Successful Stylesheet Path über level nach worker! Notwendige Eingaben für successful stylesheet path über (/employee/responsible_for)*/employee /level/worker 6

, Attribute-Path, Filter-Path Filter-Path Attribute-Path Suche aller Output-Pfade zu XP2 Bearbeite Anfrage XP2 LocationStep für LocationStep beginne an Wurzel/am aktuellen Knoten des Stylesheets Tiefensuche - beginne an Wurzel des XSLT-Stylesheets - Suche aller Pfade zu Ausgabeknoten nextlocationstep - bei (<=> nextlocationstep unverändert und Zyklus im Stylesheet gelaufen ) => speichern in -Stylesheet-Path Tiefensuche stoppen. 7

Suche aller Output-Pfade zu XP2 Bearbeite Anfrage XP2 LocationStep für LocationStep beginne am aktuellen Knoten des Stylesheets /level Suche aller Pfade zu Ausgabeknoten level Abbruch, falls anderes Element ausgegeben wird //E2 Suche aller Pfade zu Ausgabeknoten E2 kein Abbruch, falls anderes Element ausgegeben wird /@* Suche aller Pfade zu Ausgabeknoten Attribut Abbruch, falls anderes Element ausgegeben wird //@* Suche aller Pfade zu Ausgabeknoten Attribut kein Abbruch, falls anderes Element ausgegeben wird Suche aller Filter-Pfade zu XP2 Bearbeite Anfrage XP2 LocationStep für LocationStep beginne am aktuellen Knoten des Stylesheets [@a=c] Suche aller Filter-Pfade zu Ausgabeknoten a und weiter zu Knoten, der Wert schreibt Abbruch, falls anderes Element/Attribut Falls geschriebener Wert Konstante C2 ist: Falls (C2!=C) Abbruch sonst return [true()] sonst /* geschrieben wird value-of-select X */ return [X] 8

Compute Input Path Expressions select = (/employee/responsible_for)*/employee[@surname] Filter-Path Attribute-Path Bsp. Query-Transformation Anfrage XP2 Suche aller Pfade zu XP2: LocationStep für LocationStep wird zu folgender Anfrage XP1 : (/employee/responsible_for)* / employee[@surname= Smith ] * : 0-n -malige Wiederholung 9

Gesamtsystem XML format 2 XML format 1 mapping component XP2=/level/worker [@family_name= Smith ]/@* query transformation XP1=(/employee/responsible_for)* /employee[@surname= Smith ] XSLT-Stylesheet XML-DB XML fragment F2 <worker family_name= Wang /> <worker family_name= Johnson /> <worker family_name= Miller /> <worker family_name= Smith /> XSL processor DBMS mit eingebautem XSLT mapping XML fragment F1 < employee surname= Wang > <responsible_for> <employee surname= Johnson > <responsible_for> <employee surname= Smith /> </responsible_for> </employee> <employee surname= Miller /> </responsible_for> </employee > Verknüpfung mehrerer Input-Pfade Im allgemeinen: mehrere Successful Stylesheet Paths ==> mehrere Input Path (Expressions) ==> alle mit verbinden ==> ein zusammenhängendes Fragment F1 aus der DB extrahieren 10