Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente...

33
Verwaltung von XML- Dokumenten

Transcript of Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente...

Page 1: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

Verwaltung von XML-Dokumenten

Page 2: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

2<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

2

Motivation XML-Dokumente können für sehr verschiedene

Anwendungen eingesetzt werden Aussehen der Dokumente unterscheidet sich

stark

Vielzahl von Methoden zur Speicherung existiert

verschiedene Abfragemethoden Mehrere Varianten zur Modellierung von XML-

Dokumenten und deren Struktur

Page 3: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

3<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

3

Speichern & Liefern von Dokumenten Round-Trip-Problem

– Gespeicherte Dokumente werden “unverändert“ geliefert

Der ganze Inhalt– Prolog– Kommentare– Processing Instructions

Was heißt “unverändert“

Page 4: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

4<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

4

XML-Architektur

<..>

physische

EbeneEbene

Dokument-verarbeitung

DokumentenEntwurf von XML-

Konzeptueller

</..></..>

logischeEbene

<..>

konzeptuelle

</..><..>XML

Datenbanken

Klettke / Meyer “XML-Datenbanken“

Page 5: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

5<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

5

Logische Ebene

logischeEbene

<..><..>

</..>

</..><..> </..>

dat

enze

ntr

iert

sem

istr

uk

turi

ert

dok

-zen

trie

rtDatenmodellAnfragen/Updates anInhalt

XML, RDBM, OODBMXQuery, SQL, OQL

Daten- und Dokumentmodell

Struktur und InhaltAnfragen/Updates an

XML, OEMXQuery, Lorel

Dokumentmodell

Anfragen/Updates anStruktur und Inhalt

XML,SGMLXQuery, XPath, DOM,IR-Anfragen

Page 6: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

6<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

6

Realisierung Physische Ebene

Speicherung der XML-Dokumente als Ganzes und Indizierung (textbasiert native)

– Volltextindex– Volltext- und Strukturindex

Speicherung der Graphenstruktur (modellbasiertes natives Verfahren)

– generische Graphspeicherung– Speicherung der DOM-Informationen

strukturierte Abbildung auf Datenbanken– relationale Datenbanken– objekt-orientierte und objekt-relationale Datenbanken– Einsatz von benutzerdefinierten Mappingverfahren

Ebenephysische

Page 7: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

7<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

7

Architektur: physische Ebene

date

nzen

trie

rtse

mis

truk

turi

ert

dok-

zent

rier

t

relationale, objekt-relationaleoder objekt-orientierteDatenbanken

generische Speicherung von Graphen oderDOM-Informationen

Dateien Volltextindex, Strukturindex

Struktur auf Werteebene

Struktur auf Schema-und Werteebene

Struktur auf Schemaebene

Ebenephysische

Page 8: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

8<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

8

Volltextindex und XML-Index

Volltextindex

Als Dateien / Clobs

Speicherung derDokumentstruktur

StrukturierteSpeicherung

in Datenbanken

VollständigesMapping

Benutzer-definiertesMapping

Abbilden des DOM-Modells

Abbildung derGraphstruktur

Für dokument-zentrierte XML-Dokumente

Für daten-zentrierte XML-Dokumente

Für semistrukturierte XML-Dokumente

Speicherung von XML-Dokumenten

Page 9: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

9<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

9

Speicherungsmethoden(Klassifikation nach Schöning)

inhaltsorientierte Zerlegung– generisch (generelle Abbildungsvorschrift)– definitorisch (Abbildungsvorschriften für einzelen

Datenstrukturen)– Beispiel: Oracle (beide Varianten mit/ohne Annotations)

strukturorientierte Zerlegung– Verwendung allgemeiner Datenstrukturen (z.B. DOM /

Baumstruktur)– generell anwendbar auch bei unbekanntem

Dokumentenschema opake Speicherung

– gesamtes XML-Dokument in einer einzigen Spalte vom Typ VARCHAR oder CLOB

– SQL-Zugriff nur noch eingeschränkt möglich (bestenfalls dedizierte Funktionen)

Page 10: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

10<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

10

Grundprinzip der invertierten Liste

1

2

2

1

3

1

A

B

D

E

C

F

2

1

3

A D F

3

3

3C DB

A C D E

2

Bestimmung der Stichworteder Dokumente

Dokumente Stichworte

Invertierte Speicherung:

Speicherung der Stichworte undder zugehörigen Dokumente

Stichworte Dokumente

Page 11: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

11<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

11

Volltext-Index

- bekannte Methode (älter als relationale Datenbanken)- Boolesches Retrieval (AND, OR, NOT)

Verweis

Warnemünde

<adresse> <plz>18119</plz> <ort>Warnemünde</ort>

<nummer>12</nummer> </adresse> <anreisebeschreibung>

</anreisebeschreibung></hotel>

<hotelname>Hotel Hübner</hotelname>

Aus Richtung Rostock kommend ...

<hotel>

Begriff

anreisebeschreibung

ort

Rostock

hotel

<strasse>Seestraße</strasse>

Page 12: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

12<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

12

Eigenschaften des Volltext-Indexes Schemabeschreibung

– nicht erforderlich

Dokumentrekonstruktion – Dokumente bleiben im Original erhalten

Anfragen – Anfragen des Information Retrieval

Weitere Besonderheiten– Volltextfunktionen (vgl. SQL-MM)– keine Auswertung des XML-Markups

Einsatz – für dokumentzentrierte XML-Anwendungen

Produkte – Oracle InterMedia Text, DB2 Text Extender

Page 13: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

13<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

13

Kombinierter Volltext- und XML-Index

- XML - Struktur kann in Anfragen ausgewertet werden

Verweis

Verweis

Seestraße <strasse>Seestraße</strasse>

. . .

Vorgänger

<ort>Warnemünde</ort> <plz>18119</plz>

Element

<adresse><hotelname>Hotel Hübner</hotelname>

Volltext-Index

XML-Index

Element

ort

Aus Richtung Rostock kommend fahren Sie auf der

hotel

adresse

Stadtautobahn bis nach Warnemünde

strasse

<hotel>

</adresse><anreisebeschreibung>

Term

Warnemünde

Rostock

anreise-beschreibung

<anreisebeschreibung></hotel>

Page 14: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

14<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

14

Eigenschaften des kombinierten Volltext- und XML-Indexes

Schemabeschreibung – nicht erforderlich

Dokumentrekonstruktion – Dokumente bleiben im Original erhalten

Anfragen – Anfragen des Information Retrieval – Auswertung des Markup in den Anfragen– XML-Anfragen möglich

Weitere Besonderheiten– Volltextfunktionen (vgl. SQL-MM)

Einsatz – für dokumentzentrierte XML-Anwendungen– auch für semistrukturierte Anwendungen

Produkte – Oracle InterMedia Text, DB2 Text Extender

Page 15: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

15<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

15

Speicherung der Graphstruktur

• generische Speicherung der Struktur des XML-Dokumentes

Element

www...

Müller

ort

plz

ValueType Descendant-of

string

stringstrasse

Warnemünde

Seestrasse

hotel

string

Element

adresse

int 18119

Attribute ValueType

url

autor

string

Attributes:

Elements:

Page 16: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

16<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

16

Eigenschaften der Speicherung der Graphenstruktur

Schemabeschreibung – Zur Speicherung nicht erforderlich

Dokumentrekonstruktion – Möglich, aber sehr aufwendig

Anfragen – XML-Anfragen möglich– Angepaßte Datenbankanfragen

Weitere Besonderheiten– Anfragen über vielen Elementen/Attributen sind aufwendig

Einsatz – für daten- und dokumentzentrierte, sowie semistrukturierte XML-

Anwendungen

Produkte – Algorithmen von Florescu/Kossmann, Bradley u.a.

Page 17: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

17<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

17

Speicherung des DOM / 1 Informationen des

Document Object Models werden in Datenbanken gespeichert

Verwendung relationaler oder objekt-orientierter Datenbanken oder

Entwicklung eigener Speicherungsstrukturen

Comment

ProcessingInstruction

Document

DocumentFragment

DocumentType

Element

Entity

EntityReference

Notation

Text

CDataSection

DOMImplementation Node NodeList NamedNodeMap

CharacterData

Attr

Page 18: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

18<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

18

Speicherung des DOM / 2

Methoden der Klasse Node: - getChildren() - getFirstChild() - getNextSibling() - getNodeType() - getParentNode() - getPreviousSibling() - hasChildren() Methoden der Klasse Element: - getAttributes() - getElementsByTagName(String) - getTagName() Methoden der Klasse Attribut: - getName() - getValue()

NodeID NodeType DocID ParentNode

NodeID ElementID AttributName AttributValue

PreviousSibling NextSibling FirstChild

NodeID TagName

Page 19: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

19<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

19

Eigenschaften der Speicherung von DOM

Schemabeschreibung – Zur Speicherung nicht erforderlich

Dokumentrekonstruktion – Möglich, aber aufwändig

Anfragen – XML-Anfragen möglich– Angepasste Datenbankanfragen

Weitere Besonderheiten– Standardisierte und allgemein akzeptierte Schnittstelle

Einsatz – für daten- und dokumentzentrierte, sowie semistrukturierte

XML-Anwendungen Produkte

– infonyte (IPSI Darmstadt), eXcelon XIS (POET), ozone (SMB)

Page 20: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

20<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

20

Abbildung der XML- Struktur auf relationale Datenbanken

- DTD ist erforderlich - Anfragen verwenden SQL - Funktionalität- Datentypen

<hotel url="www.hotel-huebner.de">

<hotelname>Hotel Hübner</hotelname> <adresse> <ort>Warnemünde</ort>

...

</adresse> <preise> <einzelzimmer>198</einzelzimmer>

</preise>...

</hotel>

<strasse>Seestraße</strasse>

XML-Dokument HotelID Hotelname Adresse Preise

H0001 Hotel Hübner A0001 P0001

AdresseID Ort Strasse ...

A0001 Warnemünde Seestraße

PreiseID Einzelzimmer ...

P0001 198

Hotel:

Preise:

Adresse:

Page 21: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

21<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

21

Abbildung der XML- Strukturauf objekt-orientierte Datenbanken

- DTD ist erforderlich - Anfragen verwenden SQL - Funktionalität- Datentypen- Datenbanken mit vielen Nullwerten

HotelID Hotelname Adresse Preise

Ort Strasse ... einzelzimmer ...

H0001 Hotel Hübner Warnemünde Seestraße 198

Hotel:

XML-Dokument

<hotel url="www.hotel-huebner.de">

<hotelname>Hotel Hübner</hotelname> <adresse> <ort>Warnemünde</ort>

...

</adresse> <preise> <einzelzimmer>198</einzelzimmer>

</preise>...

</hotel>

<strasse>Seestraße</strasse>

Page 22: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

22<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

22

Strukturierte Speicherung in Datenbanken

Schemabeschreibung – Zur Speicherung erforderlich

Dokumentrekonstruktion – Nur eingeschränkt möglich (Protokollierung des

Abbildungsprozesses) Anfragen

– Datenbankanfragen– XML-Anfragen möglich

Weitere Besonderheiten– Föderationen mit bestehenden Datenbanken möglich

Einsatz – für datenzentrierte XML-Anwendungen

Produkte – Algorithmen: Bourret, Suciu (STORED), Shanmugasundaram u.a.– Oracle XDK (XSU), Bluestone’s XML Suite

Page 23: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

23<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

23

Benutzerdefiniertes Mapping

- Flexible Methode- Integration von XML-Dokumenten in existierende Datenbanken- Ein Mapping muss von Benutzer spezifiziert werden

Hotel Hübner

Hotel_URLHotelpreise

Name Einzelzimmer

www.hotel-huebner.de

198Datenbank

<ClassMap>

<ToClassTable>

</ToClassTable><Table Name="Hotelpreise"/>

<ElementType Name="hotel"/><hotel url="www.hotel-huebner.de">

<hotelname>Hotel Hübner</hotelname> <adresse> <ort>Warnemünde</ort>

... </adresse> <preise> <einzelzimmer>198</einzelzimmer>

</preise>...

</hotel>

<strasse>Seestraße</strasse><PropertyMap>

<ToColumn>

</ToColumn></PropertyMap><PropertyMap>

<ToColumn>

</ToColumn></PropertyMap>...

<Attribute Name="url"/>

<Column Name="Hotel_URL"/>

<ElementType Name="hotelname"/>

<Column Name="Name"/>

</Classmap>

XML-Dokument Mapping Vorschrift

Page 24: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

24<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

24

Speicherung mittels benutzerdefiniertem Mapping

Schemabeschreibung – Zur Speicherung erforderlich

Dokumentrekonstruktion – Meist nicht möglich (Voraussetzung: Protokollierung des

Abbildungsprozesses, vollständige Abb.) Anfragen

– Datenbankanfragen– XML-Anfragen in Ausnahmefällen möglich

Weitere Besonderheiten– Integration in bestehende Datenbanken möglich

Einsatz – für datenzentrierte XML-Anwendungen

Produkte – DB2 XML Extender, Oracle XDK, Oracle 9iR2

Page 25: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

25<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

25

Hybride Ansätze

Auswahl

unterschiedlicher

Speicherungsmethoden

für verschiedene

Dokumentanteile

Hotel

0381/5434-0

Ort Strasse Telefon

Strand Hotel Hübner Warnemünde Seestraße

komfortabel eingerichtetes 4-Sterne Hotel direkt an der Strandpromenade von Warnemünde mit Blick auf Leuchtturm, Hafeneinfahrt

Sie finden unser elegant und

und Ostsee.

<hotel>

<adresse><plz>18119</plz>

<nummer>12</nummer> <telefon>0381/5434-0</telefon>

</adresse> <hausbeschreibung> Sie finden unser elegant und

</hotel>

komfortabel eingerichtetes 4-Sterne Hotel direkt an der Strandpromenade von Warnemünde mit Blick auf Leuchtturm, Hafeneinfahrt und Ostsee. </hausbeschreibung>

<hotelname>Strand Hotel Hübner</hotelname>

<ort>Warnemünde</ort> <strasse>Seestraße</strasse>

Page 26: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

26<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

26

Beschränkungen der Ansätze (1) Speicherung als Ganzes

– Locking nur auf Dokumentebene möglich– Bearbeitung von Teildokumenten schwieriger– oft nur proprietäre Lösungen implementierbar– Einschränkungen bei Anfragen (z.B. wertbasierte Suche)

Speicherung der Dokumentstruktur (bei Abbildung der Graphstruktur in Relationen):

– Anfragesprache: nur SQL keine adäquaten Anfragekonstrukte Anfrageformulierung schwierig Änderungen auf SQL-Ebene können Struktur des Dokuments

zerstören– schlechte Performance

Shredding der Relationen ->komplexe Joins umfangreiche Sperren

Page 27: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

27<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

27

Beschränkungen der Ansätze (2) strukturierte Speicherung in Datenbanken

– Dokumente mit a priori bekanntem Schema, d.h. geringe Flexibilität bei Schemaänderung

– unterschiedliche Schemamächtigkeit Rekursion? Mixed Content?

– Keine vollständige Abbildung von Dokumenten Reihenfolgeerhaltung Prolog, Kommentare, Processing Instructions

– strukturorientierte Anfragen schwierig

Page 28: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

28<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

28

Realisierung in Oracle seit Version 8 XML Developer Kit (XDK) seit Version 9

– spezieller Datentyp: X spezieller Datentyp: XMLType MLType– unterstützt inhaltsorientierte und opake Speicherung

seit Version 10– Integration von XQuery

inhaltsorientierte Speicherung– erfordert registriertes Schema bei der Definition der XML-

Spalte (Tabelle)– teilweise auch opake Speicherung möglich– Kommentare, PI und Reihenfolgeinformationen in

(proprietärem) Systemattribut SYS_XDBPDS– Standardabbildung kann durch Annonationen im XML-Schema

geändert werden (xdb:)

Page 29: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

29<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

29

Strukturorientierte Zerlegung<Auftrag Auftragsnr="12324"> <Auftragsposition><Artikel>124</Artikel> <Menge>2</Menge> </Auftragsposition> <Auftragsposition><Artikel>567</Artikel> <Menge>4</Menge> </Auftragsposition></Auftrag>

Knotennr Vorgaenger Position Name Wert

1 0 0 Auftrag -

2 1 0 @Auftragsnr 12324

3 1 1 Auftragsposition -

4 3 1 Artikel 124

5 3 2 Menge 2

6 1 2 Auftragsposition -

7 6 1 Artikel 567

8 6 2 Menge 4

Page 30: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

30<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

30

XML-Schema-Dokument PO.xsd

<complexType name="Auftragstyp"><sequence> <element name="Auftragsnr" type="decimal"/> <element name="Firma"> <simpleType><restriction base="string"> <maxLength value="100"/> </restriction></simpleType></element> <element name="Auftragsposition" maxOccurs="1000"> <complexType><sequence> <element name="Artikel"> <simpleType><restriction base="string"> <maxLength value="1000"/> </restriction></simpleType></element> <element name="Preis" type="float"/> </sequence></complexType></element></sequence></complexType><element name="Auftrag" type="Auftragstyp"/>

Page 31: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

31<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

31

Inhaltsorientierte Zerlegung (Beispiel)

CREATE TABLE po_tab OF XMLTYPE XMLSCHEMA " <Pfad> PO.xsd"ELEMENT "Auftrag" VARRAY(Auftragsposition) STORE AS Auftrag_tab;

TYPE "Auftragsposition_T" (Artikel VARCHAR2(1000), Preis NUMBER);TYPE "Auftragsposition_COLL" AS VARRAY(1000) OF "Auftragsposition_T";TYPE "Auftragstyp_T" (Auftragsnr NUMBER, Firma VARCHAR2(100), Auftragsposition Auftragsposition _COLL);

• Bindung des XML Schema-Dokuments an eine Tabelle

• Interne Erzeugung von Typdefinitionen

Page 32: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

32<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

32

Opake Abbildung in Oracle XML-Dokument mittels Typ XMLType gespeichert Storage-Option CLOB Zugriff auf den Inhalt eines Objekts von XMLType über

Funktionen: – extract um das Ergebnis eines XPath-Ausdrucks zu erhalten,– getClobVal, getStringVal und getNumVal, um das Ergebnis

von extract in einen SQL-Datentyp zu überführen,– extractValue, um das Ergebnis eines XPath-Ausdrucks direkt

in einen SQL-Wert umzuwandeln,– existsNode, um zu prüfen, ob ein XPath-Ausdruck ein

Ergebnis lie fert.– createXML kann aus einer SQL-Zeichenkette ein Wert des

Typs XML erzeugt werden (bei inhaltsorientierter Zerlegung wieder auf SQL-Tabellen abgebildet)

Page 33: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

33<<<Nr.>

© Prof. T. Kudraß, HTWK Leipzig

33

Zugriff auf Objekt vom Typ XMLType (Beispiel)

SELECT extractValue(value(d), '/Beschreibung) "Beschreibung"FROM Auftrag, table(xmlSequence( extract(object_value, '/Auftrag/Auftragsposition/Artikel'))) dWHERE existsNode(object_value, Auftrag[Auftragsnr="2803030912"]')=1

entspricht dem XPath-Ausdruck:

/Auftrag[Auftragsnr="2803030912"]/Auftragsposition/Artikel/Beschreibung