Manipulation von XMLDokumenten in Tamino M Gesmann Software

  • Slides: 20
Download presentation
Manipulation von XML-Dokumenten in Tamino M. Gesmann Software AG (michael. gesmann@softwareag. com)

Manipulation von XML-Dokumenten in Tamino M. Gesmann Software AG (michael. gesmann@softwareag. com)

Die Aufgabe <? xml version=„ 1. 0“? > <BTW 2003> <? xml version=„ 1.

Die Aufgabe <? xml version=„ 1. 0“? > <BTW 2003> <? xml version=„ 1. 0“? > <? xml version=“ 1. 0“? > <BTW 2003> <SIGMOD 2002>. . <VLDB 2002> <BTW 2003 status=“geplant“> status=“läuft“>. . . <Beitrag> </BTW 2003>. . </BTW 2003> <Titel>. . . </Titel> </SIGMOD 2002> </VLDB 2002> BTW 2003 y r e u XQ “ n e z t rse „E <Autor>. . . </Autor> <Kapitel>. . . </Beitrag>. . . </BTW 2003> M. Gesmann - BTW 2003 2 16. 09. 2021 @status= “läuft“ “ „geplant

Die Zielsetzung BTW 2003 <? xml version=“ 1. 0“? > <? xml version=„ 1.

Die Zielsetzung BTW 2003 <? xml version=“ 1. 0“? > <? xml version=„ 1. 0“? > <BTW 2003> <? xml version=“ 1. 0“? > <BTW 2003>. . . . <BTW 2003> <BTW 2003. . . >. . </BTW 2003>. . . . </BTW 2003> @zustand= “läuft“ </BTW 2003> M. Gesmann - BTW 2003 3 16. 09. 2021

Überblick § Bestehende Ansätze § Lösung in Tamino § Ausblick M. Gesmann - BTW

Überblick § Bestehende Ansätze § Lösung in Tamino § Ausblick M. Gesmann - BTW 2003 4 16. 09. 2021

Bestehende Ansätze Offen gelegte Datenbankfunktionalität § update(dokument, location. Path, Wert) § update. XML(dokument, Paare

Bestehende Ansätze Offen gelegte Datenbankfunktionalität § update(dokument, location. Path, Wert) § update. XML(dokument, Paare von (location. Path, Wert)) § Server. Extensions M. Gesmann - BTW 2003 5 16. 09. 2021

Bestehende Ansätze (II) Beschreibungssprachen § Si. XDML § XUpdate / Updategram (e. Xcelon) §

Bestehende Ansätze (II) Beschreibungssprachen § Si. XDML § XUpdate / Updategram (e. Xcelon) § Updategram (SQL Server) § Erweiterung von XQuery M. Gesmann - BTW 2003 6 16. 09. 2021

Lösung in Tamino Spracherweiterung von XQuery § hohe Funktionalität w Selektion zu änder Dokument(teil)e

Lösung in Tamino Spracherweiterung von XQuery § hohe Funktionalität w Selektion zu änder Dokument(teil)e w Berechnung neuer Inhalte § Homogenität § Potenzial zur Anfrageoptimierung M. Gesmann - BTW 2003 7 16. 09. 2021

Lösung in Tamino – Elementaroperationen § 'delete' § 'rename' § 'replace' § 'insert' §

Lösung in Tamino – Elementaroperationen § 'delete' § 'rename' § 'replace' § 'insert' § ( For. Clause | Let. Clause )* [ Where. Clause ] 'do'. . . M. Gesmann - BTW 2003 8 16. 09. 2021

Lösung in Tamino – Delete. Clause : : = 'delete' Expr Änderungsknoten y <?

Lösung in Tamino – Delete. Clause : : = 'delete' Expr Änderungsknoten y <? xml version= “ 1. 0“ ? >. . . <BTW 2003. . . >. . </BTW 2003> r e u XQ update delete input()/BTW 2003/@status delete input()/BTW 2003/Beitrag[/Autor =“Michael Gesmann“] M. Gesmann - BTW 2003 9 16. 09. 2021

Lösung in Tamino – Rename. Clause : : = 'rename' Expr 'as' QName Änderungsknoten

Lösung in Tamino – Rename. Clause : : = 'rename' Expr 'as' QName Änderungsknoten y <? xml version= “ 1. 0“ ? >. . . <? xml version=„ 1. 0“ ? >. . . <BTW 2003. . . >. . </BTW 2003> r e u XQ update rename input()/BTW 2003/@status as zustand rename input()/BTW 2003/Beitrag/Titel as Thema M. Gesmann - BTW 2003 10 16. 09. 2021

Lösung in Tamino – Replace. Clause : : = 'replace' Expr 'with' Expr Änderungsknoten

Lösung in Tamino – Replace. Clause : : = 'replace' Expr 'with' Expr Änderungsknoten Werteknoten <? xml version= “ 1. 0“ ? >. . . <BTW 2003. . . >. . </BTW 2003> ry e u XQ update replace input()/BTW 2003/@status with attribute zustand {“geplant“} replace input()/BTW 2003/Beitrag[/Autor=“Michael Gesmann“]/Titel with <Thema>Änderung von XML-Dokumenten</Thema> M. Gesmann - BTW 2003 11 16. 09. 2021

Lösung in Tamino - Insert. Clause : : = 'insert' Expr ('into'|'following'|'preceding') Expr Werteknoten

Lösung in Tamino - Insert. Clause : : = 'insert' Expr ('into'|'following'|'preceding') Expr Werteknoten y <? xml version= “ 1. 0“ ? >. . . <BTW 2003. . . >. . </BTW 2003> M. Gesmann - BTW 2003 12 r e u XQ 16. 09. 2021 Änderungsknoten

Lösung in Tamino – FLWUExpr : : = ( For. Clause | Let. Clause

Lösung in Tamino – FLWUExpr : : = ( For. Clause | Let. Clause )* [ Where. Clause ] 'do' ( Update. Expr | Lpar Update. Sequence Rpar ) <? xml version= “ 1. 0“ ? >. . . <BTW 2003. . . >. . </BTW 2003> update for $Beitrag in input()/BTW 2003/Beitrag do insert attribute thema {$Beitrag/Titel/text()} into $Beitrag delete $Beitrag/Titel M. Gesmann - BTW 2003 13 16. 09. 2021

Lösung in Tamino - Schnappschusssemantik Erst: Bestimmung der Änderungs- und Werteknoten Dann: Ausführung der

Lösung in Tamino - Schnappschusssemantik Erst: Bestimmung der Änderungs- und Werteknoten Dann: Ausführung der Änderungen • Keine Seiteneffekte / keine Rekursionen • Dokumentreihenfolge spielt keine Rolle • Erlaubt “Reordering“ M. Gesmann - BTW 2003 14 16. 09. 2021

Lösung in Tamino - Konflikte 1. Dabei: Ausführung der Änderungen ohne feste Reihenfolge •

Lösung in Tamino - Konflikte 1. Dabei: Ausführung der Änderungen ohne feste Reihenfolge • gültige Dokumente • eindeutige Ergebnisse • notwendige Änderungen M. Gesmann - BTW 2003 15 16. 09. 2021

Konflikte - Eindeutigkeit <? xml version= “ 1. 0“ ? > <A/> update insert

Konflikte - Eindeutigkeit <? xml version= “ 1. 0“ ? > <A/> update insert <B/> into input()/A insert <C/> into input()/A <? xml version= “ 1. 0“ ? > <A><B/><C/><A/> <? xml version= “ 1. 0“ ? > <A><C/><B/><A/> Auch: rename - rename M. Gesmann - BTW 2003 16 16. 09. 2021 ?

Konflikte - Notwendigkeit <? xml version= “ 1. 0“ ? > <A><B><C/></B></A> update delete

Konflikte - Notwendigkeit <? xml version= “ 1. 0“ ? > <A><B><C/></B></A> update delete input()//C delete input()//B Auch: delete - rename replace - replace. . . M. Gesmann - BTW 2003 17 16. 09. 2021

Zusammenfassung • XQuery Spracherweiterung • 2 -phasiges Ausführungsmodell • Konfliktbehandlung M. Gesmann - BTW

Zusammenfassung • XQuery Spracherweiterung • 2 -phasiges Ausführungsmodell • Konfliktbehandlung M. Gesmann - BTW 2003 18 16. 09. 2021

Ausblick § “semantische“ Konfliktbehandlung § Reihenfolge der Änderungen § Realisierungsaspekte w parallele Änderungen in

Ausblick § “semantische“ Konfliktbehandlung § Reihenfolge der Änderungen § Realisierungsaspekte w parallele Änderungen in einem Dokument w partielle Validierung w partielle Änderung von Indizes M. Gesmann - BTW 2003 19 16. 09. 2021

Danke schön! Fragen? M. Gesmann - BTW 2003 20 16. 09. 2021

Danke schön! Fragen? M. Gesmann - BTW 2003 20 16. 09. 2021