SEMINAR: „XML UND DATENBANKEN“

38
SEMINAR: „XML UND DATENBANKEN“ Matthias Haupt 08.05.2008 Thema 3: „XML-Namensräume“

description

SEMINAR: „XML UND DATENBANKEN“. Thema 3: „XML-Namensräume“. Matthias Haupt 08.05.2008. Gliederung. Namensräume – Warum? Einführendes Beispiel Problematik W3C Empfehlung als Lösung „Namensräume“ Idee & erste Definitionen Namensräume: Theorie und Beispiele - PowerPoint PPT Presentation

Transcript of SEMINAR: „XML UND DATENBANKEN“

Page 1: SEMINAR: „XML UND DATENBANKEN“

SEMINAR: „XML UND DATENBANKEN“

Matthias Haupt

08.05.2008

Thema 3:„XML-Namensräume“

Page 2: SEMINAR: „XML UND DATENBANKEN“

1. Namensräume – Warum?1. Einführendes Beispiel2. Problematik

2. W3C Empfehlung als Lösung „Namensräume“1. Idee & erste Definitionen2. Namensräume: Theorie und Beispiele

3. XQuery – Das Ende der Namensraumproblematik?1. Grundlegende Begriffe2. N-Knoten überflüssig?

4. Fazit

GLIEDERUNG

08.05.2008

2

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 3: SEMINAR: „XML UND DATENBANKEN“

1. Namensräume – Warum?1. Einführendes Beispiel2. Problematik

2. W3C Empfehlung als Lösung „Namensräume“1. Idee & erste Definitionen2. Namensräume: Theorie und Beispiele

3. XQuery – Das Ende der Namensraumproblematik?1. Grundlegende Begriffe2. N-Knoten überflüssig?

4. Fazit

GLIEDERUNG

08.05.2008

3

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 4: SEMINAR: „XML UND DATENBANKEN“

Vorbemerkung Definiere „Markup-Vokabular“ als Einheit aller Elemente

und Attribute eines XML-Dokuments.

Problem? Was passiert wenn ein XML-Dokument unterschiedliches

Markup-Vokabular besitzt und Anwendungen von außen auf die Daten zugreifen wollen UND gleiche Elemente oder Attribute existieren, welche unterschiedliche Bedeutungen haben?

1.1 EINFÜHRENDES BEISPIEL

08.05.2008

4

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 5: SEMINAR: „XML UND DATENBANKEN“

Beispiel 1 Beispiel2<Titel>

<Bezeichnung>Professor</Bezeichnung>

<Gehaltsklasse>xy</Gehaltsklasse>

</Titel>

<Titel>

<Inhalt>blbla</Inhalt>

<Name>bljfas</Name>

</Titel>

Unterschiedlicher Kontext

identische Elementnamen

1.1 EINFÜHRENDES BEISPIEL

08.05.2008

5

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 6: SEMINAR: „XML UND DATENBANKEN“

Voraussetzungen für das fehlerfreie Zusammenwirken verschiedener Anwendungen und verschiedener XML-Dokumente:

Einfache, möglichst fehlerfreie Nutzung durch leicht zu verstehende Namen für das Markup-Vokabular

Eindeutigkeit der Namen auch für XML-Dokumente mit unterschiedlichem Markup-Vokabular

1.1 EINFÜHRENDES BEISPIEL

08.05.2008

6

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 7: SEMINAR: „XML UND DATENBANKEN“

Zurück zum Beispiel: 1. <Titel> </Titel> Element, welches einen zur Ansprache

verwendeten Titel einer Person bestimmt 2. <Titel> </Titel> Element, welches einen Literaturtitel

beschreibt

Zwei unterschiedliche Bedeutungen mit gleichem Elementnamen!

1.1 EINFÜHRENDES BEISPIEL

08.05.2008

7

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 8: SEMINAR: „XML UND DATENBANKEN“

Gesucht: Spezifikation, die eindeutige Namenszuweisungen erlaubt!

Forderungen an eine Lösung:

Eindeutigkeit des Markup-Vokabulars über die Dokumentgrenzen hinweg

Aufwand muss sich in Grenzen halten, da es sonst zu Performance-Problemen kommen könnte

Möglichst minimale Fehlerquellen

1.2 PROBLEMATIK

08.05.2008

8

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

?

!!

!

Page 9: SEMINAR: „XML UND DATENBANKEN“

1. Namensräume – Warum?1. Einführendes Beispiel2. Problematik

2. W3C Empfehlung als Lösung „Namensräume“1. Idee & erste Definitionen2. Namensräume: Theorie und Beispiele

3. XQuery – Das Ende der Namensraumproblematik?1. Grundlegende Begriffe2. N-Knoten überflüssig?

4. Fazit

GLIEDERUNG

08.05.2008

9

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 10: SEMINAR: „XML UND DATENBANKEN“

1. Spezifikation zur Lösung „W3C Recommendation 14 January 1999“

2.a Don Chamberlin – 11 August 2004 „[DM] IBM-DM-031: No need for namespace nodes”

2.b Erneuerung „W3C Recommendation 16 August 2006“

3. XQuery-Datenmodell „W3C Recommendation 23 January 2007”

2. W3C EMPFEHLUNG ALS LÖSUNG

08.05.2008

10

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 11: SEMINAR: „XML UND DATENBANKEN“

Lösungsansatz zur Eindeutigkeitsproblematik: Namensräume als Forderung für valide XML-Dokumente

Definition: „Ein XML-Namensraum ist eine Zusammenstellung von Namen, identifiziert durch einen URI-Verweis, die in XML-Dokumenten als Elementtypen und Attributnamen verwendet werden.“

Anmerkung: Seit XML1.1 statt URI auch IRI (internationalized resource identifier)

möglich Ermöglicht Einsatz von Zeichen außerhalb des ASCII-Codes wie é oder π Im Grunde aber nur theoretische Unterscheidung, da Parser nicht auf

zulässige XML 1.0 URIs prüft

2.1 IDEE & DEFINITIONEN

08.05.2008

11

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 12: SEMINAR: „XML UND DATENBANKEN“

Definition: URI-Verweise sind kompakte Zeichenketten zur Identifikation oder Benennung von Ressourcen.

können URL (Locator), URN (Name) oder beides sein URL – wie „Adresse“ - http://www.wikipedia.org/ URN – wie „Name“ - ISBN System

Achtung! – leerer String ist URI-Verweis, aber nicht als Namensraum nutzbar

Definition: „URI-Verweise, die Namensräume identifizieren, werden als identisch angesehen, wenn sie Zeichen für Zeichen genau gleich sind.“ http://www.wikipedia.org/ != http://www.Wikipedia.org/ (Fehlende Identität) != (fehlende gleiche Funktionalität) Ungleiche URI, gleicher Name anderer Elementtyp

Kombination URI-Namensraum + eigener Namensraum = einzigartiger Identifier URI-Verweis muss nicht zwangsläufig dereferenzierbar sein (eine URL bspw. muss

nicht tatsächlich existieren)

2.1 IDEE & DEFINITIONEN

08.05.2008

12

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 13: SEMINAR: „XML UND DATENBANKEN“

2.1 IDEE & DEFINITIONEN

08.05.2008

13

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 14: SEMINAR: „XML UND DATENBANKEN“

Idee zur Lösung: Erweiterung der Elementnamen

<?xml version="1.0" encoding="UTF-8“ standalone="yes"?><http://www.beispiel.org/schema1:element1>

<http://www.beispiel.org/schema1:unterelement1 /><http://www.beispiel.org/schema1:unterelement2 />

</http://www.beispiel.org/schema1:element1>

Probleme: Unlesbarkeit „/“ nicht als Pfadtrenner in Elementnamen erlaubt Speicheraufwand steigt Problematisch bei Änderungen

2.1 IDEE & DEFINITIONEN

08.05.2008

14

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 15: SEMINAR: „XML UND DATENBANKEN“

Anmerkungen:

Namensräume erst nach der XML1.0 Spezifikation, aber abwärtskompatibel gehalten

Namensräume sind unabhängig von DTD Können also in ungültigen oder gültigen Dokumenten angewandt

werden

2.1 IDEE & DEFINITIONEN

08.05.2008

15

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 16: SEMINAR: „XML UND DATENBANKEN“

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

16

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Namespaces in XML 1.0 (Second Edition)W3C Recommendation 16 August 2006

Page 17: SEMINAR: „XML UND DATENBANKEN“

Definition: „Ein Namensraum wird deklariert, indem reservierte Attribute verwendet werden. Ein Attributname muss entweder xmlns sein oder es muss ein Präfix-xmlns: verwendet werden. Diese Attribute müssen, wie jedes andere XML-Attribut, direkt oder durch eine Voreinstellung zur Verfügung gestellt werden.“

Alle andere Präfixe sollten nicht mit „x,m,l“ beginnen

Namensraum kann „aufgehoben“ werden (seit XML1.1), indem man dem Namensraum ““ (leerer Wert) zuordnet

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

17

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 18: SEMINAR: „XML UND DATENBANKEN“

einfache Definition: Ein erweiterter Name besteht aus dem Namensraumnamen und dem lokalen Teil.

einfache Definition: Ein qualifizierter Name ist ein Namenssubjekt, welches referenziert wird.

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

18

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 19: SEMINAR: „XML UND DATENBANKEN“

Attributnamen für Namensraum-Deklarationen:

[1] NSAttName ::= PrefixedAttName|DefaultAttName// Namensraumattributname – entweder Präfixversion oder voreingestellt

[2] PrefixedAttName ::= 'xmlns:' NCName// Nutzung der Präfixvariante – müssen Elementnamen vorangestellt werden

bspw. „<MENSCH xmlns:hum=‘http://www.mensch.org/Mensch‘></Mensch>

[3] DefaultAttName ::= 'xmlns'// voreingestellter Namensraumname, der solange gilt, solange keine neue Definition Anwendung findet

bspw. „<MENSCH xmnls=‘http://www.w3.org/TR/REC-html40‘></MENSCH> // HTML 4.0 Namensraum [4] NCName ::= NCNameStartChar

NCNameChar *[5] NCNameChar ::= NameChar - ':'// NS-Constraints (Begrenzungen, Nebenbedingungen)

// alle Unicode Zeichen bis auf „:“ oder Zeichen, die von XML reserviert sind wie „<“ oder „>“ (extra Referenzen zur Nutzung)

bspw.

[6] NCNameStartChar ::= Letter | '_' // Startzeichen kann nur ein Buchstabe oder Unterstrich sein

bspw. „<MENSCH xmlns:_hum=‘[…]‘/>“ ODER „<MENSCH xmlns:hum=‚[…]‘/>“

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

19

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 20: SEMINAR: „XML UND DATENBANKEN“

Qualifizierte Namen:

[7] QName ::= PrefixedName| UnprefixedName// Qualifizierte Namen beginnt entweder mit oder ohne Präfix

[8] PrefixedName ::= Prefix ':' LocalPart// Präfixversion: Bsp: <html:LocalPart />

[9] UnprefixedName ::= LocalPart// ohne Präfix: Bsp: <LocalPart />

[10] Prefix ::= NCName// wie vorher dargestellt in Punkt [4]

[11] LocalPart ::= NCName// wie vorher dargestellt in Punkt [4]

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

20

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 21: SEMINAR: „XML UND DATENBANKEN“

Aufbau von Elementnamen / Tags:/* S – Leerzeichen */

[12] STag ::= '<' QName (S Attribute)* S? '>' // StartTag Bsp. mit Präfix <html:table style="width: 100%“>// „?“- für Verarbeitungsanweisungen wie <?php>

[13] ETag ::= '</' QName S? '>‚// EndTag Bsp. mit Präfix </html:table>

[14] EmptyElemTag ::= '<' QName (S Attribute)* S? '/>‚// Tag mit leerem Element Bsp. mit Präfix <html:table />

Attribute:

[15] Attribute ::= NSAttName Eq AttValue| QName Eq AttValue/* Attribut sind entweder Namensraumdeklarationen oder werden als qualifizierte Namen gegeben

Bsp. mit Präfix <hallo xmnls:hallo=““ /> oder <hallo1:el1 hallo2:weite=“100“ />

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

21

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 22: SEMINAR: „XML UND DATENBANKEN“

Beispiel: Bindung eines Elements an einen Namensraum

<!-- explizite Variante --><mh:el1 xmlns:mh='http://element1.edu/schema1'><!-- Das „mh"-Präfix wird für das Element „el1" und Inhalt an

http://element1.edu/schema1 gebunden. --><mh:unterel1 /> /* leeres Element */<mh:unterel2><mh:unterunterel21 /> /* leeres Element */<mh:unterunterel22 /> /* leeres Element */</mh:unterel2>

</mh:el1> Namensraum wird als Präfix jedem Element zugeordnet

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

22

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 23: SEMINAR: „XML UND DATENBANKEN“

Struktur in Baumform

2. Möglichkeit einen Namensraum im Vater deklarieren, der solange gilt, solange keine erneute Deklaration erfolgt

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

23

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

mh:el1

mh:unterel1

mh:unterel2

mh:unterunterel21

mh:unterunterel22

Namensraumdeklaration:xmnls:mh='http://beispiel.edu/

schema1'>

Page 24: SEMINAR: „XML UND DATENBANKEN“

Beispiel: Bindung eines Elements an einen Namensraum

<!-- implizite Variante oder „Namespace Defaulting“ --><el1 xmlns='http://element1.edu/schema1'><!– Das Element el1 und alle Kindelemente werden an den Namensraum

http://element1.edu/schema1 gebunden. --><unterel1 /> /* leeres Element */<unterel2><unterunterel21 /> /* leeres Element */<unterunterel22 /> /* leeres Element */</unterel2>

</el1> Namensraum wird Vaterelement zu geordnet und gilt solange keine neue

Deklaration in einem Kind für dieses Element und seine Kinder erfolgt

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

24

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 25: SEMINAR: „XML UND DATENBANKEN“

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

25

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Struktur in Baumform

el1

unterel1 unterel2

unterunterel21

unterunterel22

Namensraumdeklaration:xmnls='http://beispiel.edu/

schema1'>

Page 26: SEMINAR: „XML UND DATENBANKEN“

Beispiel: Bindung eines Attributs an einen Namensraum und Mischform

<!-- explizite Variante --><html xmlns=‘http://www.w3.org/HTML/1998/html4‘

xmlns:mh='http://element1.edu/schema1‘><!– Das Element html und alle Kindelemente werden an den Namensraum ‘http://www.w3.org/HTML/1998/html4‘ gebunden, mh wird als zusätzliches Präfix für den Namensraum 'http://element1.edu/schema1‘ definiert-->

<table><tr><td mh:attr1=“no_entry“><mh:unterel1 /><mh:unterel2 /></td>

</tr></table> Ein eventuell übergeordneter Namensraum (bspw. html) kann es nötig machen,

nur einzelne Attribute zum Namensraum zuzuweisen

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

26

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 27: SEMINAR: „XML UND DATENBANKEN“

Weitere Forderungen: Attribute in einem Tag sollen keine identischen Namen oder Qualifizierte Namen mit identischem LocalPart und Präfix haben, die an den

selben Namensraum gebunden sind

Beispiel für Fehler: Wohlgeformtheitsforderung – ein Element, darf nicht zwei Attribute gleichen

Namens besitzen!<EL1 xmlns:mh1=“http://www.beispiel.org/schema1“

xmlns:mh2=“http://www.beispiel.org/schema1“><FEHLER1 hallo=“gruss“ hallo=“kein gruss“ /><FEHLER2 mh1:zahl=“5“ mh2:zahl=“3“ />

</EL1> Anmerkung: default Namespaces werden nicht per se

Attributnamen zugeordnet, damit kann ein Ausdruck, in dem ist und dieser Tag vorkommt noch korrekt sein: <KORREKT mh1:zahl=“1“ zahl=“5“ /> mit mh1 == DefaultNamensraum Attributen muss direkt ein Namensraum zugewiesen werden

2.2 NAMENSRÄUME: THEORIE UND BEISPIELE

08.05.2008

28

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 28: SEMINAR: „XML UND DATENBANKEN“

1. Namensräume – Warum?1. Einführendes Beispiel2. Problematik

2. W3C Empfehlung als Lösung „Namensräume“1. Idee & erste Definitionen2. Namensräume: Theorie und Beispiele

3. XQuery – Das Ende der Namensraumproblematik?1. Grundlegende Begriffe2. N-Knoten überflüssig?

4. Fazit

GLIEDERUNG

08.05.2008

29

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 29: SEMINAR: „XML UND DATENBANKEN“

3. XQUERY – DAS ENDE DER NAMENSRAUMPROBLEMATIK?

08.05.2008

30

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

XQuery 1.0: An XML Query LanguageW3C Recommendation 23 January 2007

Page 30: SEMINAR: „XML UND DATENBANKEN“

XPath 1.0 – 1999 Ziel: Adressierung und Auswahl von Teilen eines XML-

Dokuments Anfragesprache an XML-Dokumente XML-Dokument als Baum 7 Knotenarten: Dokumentknoten, Elementknoten,

Attributknoten, Kommentarknoten, Verarbeitungsanweisungsknoten, Textknoten, Namensraumknoten

XPath-Ausdrücke für Anfragen (Lokalisierungspfad aus Lokalisierungsschritten mit „/“) Bsp. /Einkauf/Artikel[@Anzahl=“2“]/Bezeichnung

XPath 2.0 – 2007 – Erweiterung Wechsel auf XQuery - Datenmodell

3.1. GRUNDLEGENDE BEGRIFFE

08.05.2008

31

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 31: SEMINAR: „XML UND DATENBANKEN“

XQuery – Datenmodell: XQuery verzichtet auf die Bedingung wohlgeformter XML-

Dokumente Wohlgeformt: Einschränkungen bzgl. der Platzierung und

Schreibweise der Tags (jeder offene Tag bedingt einen schließenden Tag; alle Attributwerte müssen in Anführungszeichen stehen)

XQuery – erlaubt auch freistehende A-Knoten (später mehr)

Operation auf Sequenzen Sequenzen bestehen aus Sequenzeinträgen

3.1. GRUNDLEGENDE BEGRIFFE

08.05.2008

32

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 32: SEMINAR: „XML UND DATENBANKEN“

Sequenzeinträge sind entweder atomarer Wert oder Knoten Atomarer Wert = Wert eines atomaren Typen (vordefinierte Typen

wie string, boolean, … und untypedAtomic geordnetes Paar aus Wert und Typnamen

Bsp. [10, integer] noch nicht ganz richtig Typnamen in XQuery – Tripel aus: [opt. NSPrefix, opt. NSName, Typnamen] Bei vordefinierten Typen (XML-Schema, XQuery):

NSName := “http://www.w3.org/2001/XMLSchema“ NSPrefix := “xs“

Bsp. Integer – Wert ‘10‘: [10, [xs, http://www.w3.org/2001/XMLSchema, integer]]

3.1. GRUNDLEGENDE BEGRIFFE

08.05.2008

34

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 33: SEMINAR: „XML UND DATENBANKEN“

Namensraumknoten (“N-Knoten“): Bindung von NSName an NSPrefix Reihenfolge der NS Bindungen unwesentlich

Vater-Kind-Beziehungen zwischen Knoten: Nur D-Knoten (Dokument-K.) und E-Knoten (Element-K.)

können Vater sein A, N können einseitige Vater-Kind-Beziehung als Kind

aufbauen

3.1. GRUNDLEGENDE BEGRIFFE

08.05.2008

35

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 34: SEMINAR: „XML UND DATENBANKEN“

Zur Erinnerung: XML-Namensräume zur Vermeidung von Namenskollisionen

NSName localPart eindeutig [http://www.beispiel.org/BeispielName, LocalPart]

In XML-Dokumenten: Referenzierung von NSNames durch NSPrefixes

[mh, http://www.beispiel.org/BeispielName/LocalPart] Notwendigkeit der Verwaltung dieser Informationen

XML-Infoset – Namensraum-Informationseinheiten XQuery – N-Knoten zur Informationsverwaltung und

Derefernzierung von Namensräumen und Namensraumpräfixen Jeder E-Knoten besitzt einen N-Knoten zur Dereferenzierung

Problem freistehende A-Knoten als Beispiel

3.2. N-KNOTEN ÜBERFLÜSSIG?

08.05.2008

36

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 35: SEMINAR: „XML UND DATENBANKEN“

Problem: freistehende A-Knoten: Vaterlos

keine N-Knoten (an Vater-E-Knoten) keine Namensrauminformationen N-Knoten reichen nicht aus um Namensraumpräfix aufzulösen! Andere Möglichkeit der Namensauflösung gesucht!

Lösung W3C: Andere Möglichkeit generelle Definition von Namen als Tripel

[NSPrefix*, NSName*, localPart] [mh, http://www.beispiel.org/Beispiel, LocalPart] * NSName darf nur fehlen, wenn auch NSPrefix fehlt Auflösung von Namensraumpräfixen nicht mehr nötig, da: NSName bereits Teil des (falls vorhandenen) Namens ist N-Knoten überflüssig, da redundant

3.2. N-KNOTEN ÜBERFLÜSSIG?

08.05.2008

37

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 36: SEMINAR: „XML UND DATENBANKEN“

1. Namensräume – Warum?1. Einführendes Beispiel2. Problematik

2. W3C Empfehlung als Lösung „Namensräume“1. Idee & erste Definitionen2. Namensräume: Theorie und Beispiele

3. XQuery – Das Ende der Namensraumproblematik?1. Grundlegende Begriffe2. N-Knoten überflüssig?

4. Fazit

GLIEDERUNG

08.05.2008

38

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 37: SEMINAR: „XML UND DATENBANKEN“

Namensräume als geeignete Form der Identifizierung

Trotz Redundanzen - N-Knoten dennoch ins XQuery-Datenmodell aufgenommen

Hauptgrund wahrscheinlich: Verhindern des mühsamen Umschreibens der vorigen, sich darauf beziehenden, Spezifikationen

4. FAZIT

08.05.2008

39

Seminar „XML und Datenbanken“ – Thema 3: „XML-Namensräume“ - Matthias Haupt

Page 38: SEMINAR: „XML UND DATENBANKEN“

Vielen Dank für Ihre Aufmerksamkeit!