Namensraum

Werbung
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Geoinformation III
Vorlesung 12b
XML
Grundlagen, Namensräume und Hyperlinks
Geoinformation 3
1
2
3
4
5
6
7
8
Namensräume (Namespaces)
9
10
11
12
13
14
15
16
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Namensräume (I)
„Sonnensystem“:
„Elemente“:
<Saturn>
<Luft>
<Pluto>
<Jupiter>
<Feuer>
<Wasser>
<Erde>
<Erde>
Namensraum
Namensraum
qualifizierter Name
< sonnensystem : erde >
Namensraum-Präfix
A 7x
< elemente : erde >
Lokaler Element- oder Attribut-Name
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Namensräume (II)
•
XML-Dokumente dürfen Elemente aus mehreren DTDs enthalten
–
verschiedene DTDs definieren u.U. gleichnamige Element
 Namenskonflikt
–
Software-Module müssen erkennen, für welche Teile des Dokuments sie
zuständig sind
•
Lösung: Gruppierung von Namen für Elemente und Attribute und Zuordnung
zu Namensräumen
–
•
Jede Anwendung deklariert typischerweise ihren eigenen Namensraum
(Beispiele siehe GML, SVG, SMIL usw.)
Verwendung von qualifizierten Namen erlaubt
–
problemlose Verwendung unterschiedlicher DTDs
–
Modularisierung
–
Code-Recycling
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Namensraumdeklaration
•
Namensräume werden weltweit eindeutig durch eine URI (Uniform Resource
Identifier) identifiziert
•
Namensraum-Präfix muss ein XML-Name sein
–
darf keine Sonderzeichen usw. enthalten
–
URI´s beinhalten aber oftmals Sonderzeichen (http://test.com/namespace)
•
Namensraumdeklaration ordnet Präfix und URI einander zu:
<person xmlns:job=“http://www.berufe-online.de/berufe“>
<vorname>Carl Friedrich</vorname>
<nachname>Gauß</nachname>
<job:berufsbezeichnung>Mathematiker</job:berufsbezeichnung>
</person>
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Anwendung und Geltungsbereiche (I)
•
•
•
Der Namensraum-Präfix muss im aktuellen oder einem übergeordneten
Element deklariert sein
Präfixe xml und xmlns werden nicht deklariert
Eine Namensraumdeklaration gilt bereits für das Element, in dessen Start-Tag
sie erfolgt:
<?xml version=“1.0“?>
<!-- alle Elemente hier stehen explizit im Namensraum Personen -->
<pers:person xmlns:pers=“http://www.personenregister.de/personen“
<pers:vorname>Carl Friedrich</pers:vorname>
<pers:nachname>Gauß</pers:nachname>
<job:berufsbezeichnung xmlns:job=“http://www.berufe-online.de/berufe“>
Mathematiker
</job:berufsbezeichnung>
</pers:person>
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Anwendung und Geltungsbereiche (II)
•
In einem Tag können mehrere Namensraum-Deklarationen stehen:
<pers:person xmlns:pers=“http://www.personenregister.de/personen“
<pers:vorname>Carl Friedrich</pers:vorname>
<pers:nachname>Gauß</pers:nachname>
<job:berufsbezeichnung
xmlns:job=“http://www.berufe-online.de/berufe“>
Mathematiker
</job:berufsbezeichnung>
</pers:person>
in diesem konkreten Beispiel äquivalent
<pers:person xmlns:pers=“http://www.personenregister.de/personen“
xmlns:job=“http://www.berufe-online.de/berufe“>
<pers:vorname>Carl Friedrich</pers:vorname>
<pers:nachname>Gauß</pers:nachname>
<job:berufsbezeichnung>Mathematiker</job:berufsbezeichnung>
</pers:person>
A 1x
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Default-Namensräume
•
•
•
gelten für alle Elemente, die keinen Namensraum-Präfix besitzen
gelten nicht für Attributnamen
ist die URI des Default-Namensraums leer, sind die Elemente ohne Präfix
keinem Namensraum zugeordnet (unqualifizierter Name)
Deklaration hier ohne
Doppelpunkt!
<?xml version=“1.0“?>
<!–- anfangs ist der Default-Namensraum “Personen“ -->
<person xmlns=“http://www.personenregister.de/personen“>
<vorname>Carl Friedrich</vorname>
<nachname>Gauß</nachname>
<!-- neuer Default-Namensraum wird jetzt “Berufe“ -->
<berufsbezeichnung xmlns=“http://www.berufe-online.de/berufe“>
Mathematiker
</berufsbezeichnung>
</person>
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Geltungsbereiche von Default-Namensräumen
Namensraum
Personen
person
xmlns=“http://.../personen“
name
Namensraum
Berufe
beruf
xmlns=“http://.../berufe“
vorname
A 1x
nachname
bezeichnung
ausbildungsdauer
Geoinformation 3
1
2
3
4
5
6
7
8
XML Linking Language (XLink)
9
10
11
12
13
14
15
16
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
XML Linking Language (XLink)
• XLink beschreibt, wie in XML-Dokumenten Verweise auf
– andere XML-Elemente (in der selben Datei
sowie in externen Dateien) und
– andere externe Datenobjekte angegeben werden können
• Referenzierung über Uniform Resource Identifier (URI); dieser ist
entweder ein
– Uniform Resource Locator (URL) oder
– Uniform Resource Name (URN)
• Spezifikation von XLink
– W3C Recommendation, 27. Juni 2001
– http://www.w3c.org/TR/xlink/
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Eigenschaften von Verweisen
Spezifizierbare Eigenschaften von Verweisen
•
beteiligte Ressourcen
•
textuelle Beschreibung
•
Angaben zur Traversierung: von welcher Ressource kann zu welcher anderen
navigiert werden?
•
Aktionen, die beim Erkennen (Einlesen) des Links durchgeführt werden sollen
•
Darstellungshinweise, wie das Zieldokument bei der Traversierung eines
Verweises dargestellt werden soll
Geoinformation 3
1
2
3
4
5
6
Simple & Extended Links
7
8
9
10
11
12
13
14
15
16
GML3
verwendet
ausschließlich
Simple Links
• Simple Link
– zeigt von einer lokalen auf genau eine externe Ressource
(ausgehender Link; vergleichbar mit Hyperlinks in HTML)
– Verweisendes Element besitzt spezifische Attribute
• Extended Link
– kann Referenzen zwischen zwei und mehreren lokalen und externen
Ressourcen beschreiben
– unterstützt sowohl aus- als auch eingehende Links
– Verweis erfolgt über spezifische Attribute + Kindelemente
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
Realisierung von XLink
•
Wird
im16
14
15
Wesentlichen für
GML3 benötigt
Verweise sind Elemente, die spezifische Attribute
des Namensraums xlink enthalten:
Attribut
Funktion
type
Art des Verweises (simple, extended usw.)
href
URI einer referenzierten Ressource
role
URI einer den Verweis beschreibenden Ressource
arcrole
URI einer die Traversierung beschreibenden Ress.
title
beschreibender Text zu dem Verweis
show
Angabe zur Darstellung bei Aktivierung des Link
actuate
Angabe zur Aktivierung dieser Referenz
label
Traversierungsattribut; Markierung von Ressourcen
from
Traversierungsattribut; Quellressource
to
Traversierungsattribut; Zielressource
Geoinformation 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Beispiel für einen Simple Link
<vaterElement xmlns:xlink=“http://www.w3.org/1999/xlink“>
...
<meinVerweis xlink:type=“simple“
xlink:href=“meineDatei.xml#e117“
xlink:title=“Zweite Datei, Element mit der ID e117“
Ein Verweis auf ein externes XML-Element
</meinVerweis>
...
</vaterElement>
•
Verweis auf das Element mit der ID „e117“ in der Datei
„meineDatei.xml“
•
Der Namensraum xlink muss in dem Verweis-Element
oder einem übergeordneten Element deklariert werden
Herunterladen