Eintrag kommentierenEintrag bewerten
Dieser Eintrag wurde im Schnitt mit 0 von 5 Punkten bewertet
Glossareintrag
XML Namensräume (Namespace)
Glossar:12700
Externe Quellen zum Thema NEU: Externe Quellen zum Thema suchen 
Erläuterung
XML-Daten bestehen aus Elementen, auch Tags genannt, sowie null oder mehreren Attributen und deren Werten. Damit stellt sich aber ein Problem: wie soll ein Parser im Internet eine Unterscheidung treffen zwischen gleichen Namen, die zu verschiedenen logischen Zuordnungen gehören, und aus verschiedenen XML-Instanzen zusammengesetzt werden.
Angenommen, die beiden folgenden Elementgruppen kämen aus zwei verschiedenen DTDs, nämlich books und owners:

<Buch>
   <Titel>Tauben im Gras</Titel>
   <Autor>Wolfgang Koeppen</Autor>
</Buch>

<Besitzer>
   <Name>Hans Meier</Name>
   <Titel>Dr.</Titel>
</Besitzer>

Das Problem wird deutlich: beide Elemente haben eine semantisch logische Bedeutung, sind aber quasi Homonyme. Der erste Tag bezieht sich auf den Buchtitel, der zweite auf den akademischen Titel des Besitzers. Seitens einer Modellierung in einer DTD, stellt das kein Problem dar, aber wenn man das nun unterscheiden muss, was dann?

Genau hier setzt der Ansatz der XML-Namensräume (Namespace) an: Wer schon einmal mit einer Technologie gearbeitet hat, die auf Namensräume aufsetzt - wie bspw. XSL, XSLT oder Schema, wird das Grundprinzip kennen: es wird ein Präfix definiert, welches es ermöglicht die Namensräume der verschiedenen Elementgruppen zu unterscheiden

<Buch:Titel xmlns:Buecher "http://www.jcpohl.de/tr/books">

<Besitzer:Titel xmlns:BESITZER "http://www.jcpohl.de/tr/owners">

Im Beispiel sähe das dann so aus:

<Buecher:Buch>
   <Buecher:Titel>Tauben im Gras</Buecher:Titel>
   <Buecher:Autor>Wolfgang Koeppen</Buecher:Autor>
</Buecher:Buch>
<BESITZER:Besitzer>
   <BESITZER:Name>Hans Meier</BESITZER:Name>
   <BESITZER:Titel>Dr.</BESITZER:Titel>
</BESITZER:Besitzer>

Anders dargestellt, steht hier also nichts anderes als:

<(www.jcpohl.de/tr/books)Buch>
   <(www.jcpohl.de/tr/books):Titel> ....
...
<(www.jcpohl.de/tr/owners)Besitzer>
   <(www.jcpohl.de/tr/owners):Name> ....
.....

Namensräume sind vererbbar, d.h. folgende Konstruktion wäre möglich:

<Buecher:Buch xmlns="Buecher">
   <Buecher:Titel>Tauben im Gras</Buecher:Titel>
   <Autor xmlns="">Wolfgang Koeppen</Autor>
</Buecher:Buch>

Hier ist also das Element Titel als Kindelement von Buch in die Namensraumvererbung mit eingezogen, das Element Autor aber nicht.
Quelle der Definition
http://www.jcpohl.de/technik/tech_f.html
Externe Quellen zum Thema NEU: Externe Quellen zum Thema suchen 
 Eintrag kommentieren 
 Eintrag bewerten 
Zu dieser Seite wurden noch keine Kommentare oder Bewertungen abgegeben.
 
Zum Seitenanfang Top Drucken Impressum AGB
Home

VSEK ©2001-2018