Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Benjamin Sauer Geändert vor über 8 Jahren
1
Manipulation von XML-Dokumenten in Tamino M. Gesmann Software AG (michael.gesmann@softwareag.com)
2
2M. Gesmann - BTW 2003 15-06-18 Die Aufgabe................... „Ersetzen“ XQuery BTW2003 @status= „geplant “ BTW2003 @status= “ läuft “
3
3M. Gesmann - BTW 2003 15-06-18 Die Zielsetzung....... @zustand= “läuft“ BTW2003
4
4M. Gesmann - BTW 2003 15-06-18 Überblick Bestehende Ansätze Lösung in Tamino Ausblick
5
5M. Gesmann - BTW 2003 15-06-18 Bestehende Ansätze Offen gelegte Datenbankfunktionalität update(dokument, locationPath, Wert) updateXML(dokument, Paare von (locationPath, Wert)) ServerExtensions
6
6M. Gesmann - BTW 2003 15-06-18 Bestehende Ansätze (II) Beschreibungssprachen SiXDML XUpdate / Updategram (eXcelon) Updategram (SQL Server) Erweiterung von XQuery
7
7M. Gesmann - BTW 2003 15-06-18 Lösung in Tamino Spracherweiterung von XQuery hohe Funktionalität Selektion zu ändernder Dokument(teil)e Berechnung neuer Inhalte Homogenität Potenzial zur Anfrageoptimierung
8
8M. Gesmann - BTW 2003 15-06-18 Lösung in Tamino – Elementaroperationen 'delete' 'rename' 'replace' 'insert' ( ForClause | LetClause )* [ WhereClause ] 'do'...
9
9M. Gesmann - BTW 2003 15-06-18 Lösung in Tamino – Delete DeleteClause ::= 'delete' Expr Änderungsknoten.......... XQuery update delete input()/BTW2003/@status update delete input()/BTW2003/Beitrag[/Autor =“Michael Gesmann“]
10
10M. Gesmann - BTW 2003 15-06-18 Lösung in Tamino – Rename RenameClause ::= 'rename' Expr 'as' QName Änderungsknoten.......... XQuery update rename input()/BTW2003/@status as zustand rename input()/BTW2003/Beitrag/Titel as Thema
11
11M. Gesmann - BTW 2003 15-06-18 Lösung in Tamino – Replace ReplaceClause ::= 'replace' Expr 'with' Expr Änderungsknoten.......... update replace input()/BTW2003/@status with attribute zustand {“geplant“} Werteknoten XQuery update replace input()/BTW2003/Beitrag[/Autor=“Michael Gesmann“]/Titel with Änderung von XML-Dokumenten
12
12M. Gesmann - BTW 2003 15-06-18 Lösung in Tamino - Insert InsertClause ::= 'insert' Expr ('into'|'following'|'preceding') Expr Werteknoten Änderungsknoten.......... XQuery
13
13M. Gesmann - BTW 2003 15-06-18 Lösung in Tamino – FLWU FLWUExpr ::= ( ForClause | LetClause )* [ WhereClause ] 'do' ( UpdateExpr | Lpar UpdateSequence Rpar ).......... update for $Beitrag in input()/BTW2003/Beitrag do insert attribute thema {$Beitrag/Titel/text()} into $Beitrag delete $Beitrag/Titel
14
14M. Gesmann - BTW 2003 15-06-18 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“
15
15M. Gesmann - BTW 2003 15-06-18 Lösung in Tamino - Konflikte Dabei: Ausführung der Änderungen ohne feste Reihenfolge gültige Dokumente eindeutige Ergebnisse notwendige Änderungen
16
16M. Gesmann - BTW 2003 15-06-18 Konflikte - Eindeutigkeit update insert into input()/A insert into input()/A Auch: rename - rename ?
17
17M. Gesmann - BTW 2003 15-06-18 Konflikte - Notwendigkeit update delete input()//C delete input()//B Auch: delete - rename replace - replace...
18
18M. Gesmann - BTW 2003 15-06-18 Zusammenfassung XQuery Spracherweiterung 2-phasiges Ausführungsmodell Konfliktbehandlung
19
19M. Gesmann - BTW 2003 15-06-18 Ausblick “semantische“ Konfliktbehandlung Reihenfolge der Änderungen Realisierungsaspekte parallele Änderungen in einem Dokument partielle Validierung partielle Änderung von Indizes
20
20M. Gesmann - BTW 2003 15-06-18 Danke schön! Fragen?
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.