FU Berlin

<xmlcity:berlin>

Bundesministerium für Bildung und Forschung

Wachstumskerne

   
   
 

> Über das XML Clearinghouse
> Ansprechpartner
 

XML in Berlin und Brandenburg
> Firmen
> Forschungsvorhaben
> Lehrveranstaltungen
> Stellenangebote
 

Veranstaltungen des XML Clearinghouses
> XML Kolloquium
> Workshops
> Konferenzen
> Infotage
 

XML im deutsch-sprachigen Raum
> XML Veranstaltungen
> Standards und Entwicklungen
> Fördermöglichkeiten
> XML Reports
 

XML News
> Deutschsprachig
> Englischsprachig
> Semantic Web
> E-Business
> News einstellen
 

Online-Zertifikate
> XML-Grundlagen
> Electronic Business
> Semantic Web
 

Testlabor
> Ontology Reviewing System
 
 
 

Namensräume in XML ( Namespaces )

Status: W3C Recommendation vom 14.01.1999
Homepage: http://www.w3.org/TR/REC-xml-names
Verfasser: W3C

Namespaces stellen ein Mittel dar, um ansonsten mehrdeutige Element- und Attributnamen eindeutig zu kennzeichnen. So könnten verschiedene Dokumenttypen den gleichen Namen mit verschiedenen Bedeutungen verwenden. Auch ohne Kenntnis der zugrunde liegenden Dokumenttyp-Struktur müssen solche Bezeichner eindeutig unterscheidbar sein.

diesem Zweck werden Namespaces definiert, die durch einen weltweit eindeutigen Bezeichner, einen sogenannten Uniform Resource Identifier (URI), identifiziert werden.

einer Namespace-Deklaration wird festgelegt, welcher Präfix im XML-Dokument für den jeweiligen Namespace verwendet werden soll. Die Deklaration hat die Form einer Attribut-Zuweisung und muss spätestens im Start-Tag des Elements erscheinen, das diesen Namespace das erste Mal verwendet. Sie ist dann für dieses Element und alle enthaltenen Subelemente gültig. Der Präfix kann frei gewählt werden.

XML-Namensräume bieten eine einfache Möglichkeit, um Element- und Attributnamen, die in "Extensible Markup Language"-Dokumenten verwendet werden können, eindeutig zu benennen. Die Element- und Attributnamen werden mit Namensräumen verknüpft, die durch URI-Verweise identifiziert werden.

Ein XML-Dokument besteht im wesentlichen aus Elementen und Attributen. Durch die Zuordnung zu einer DTD gehören Elemente und Attribute dem Namensraum dieser DTD an. Fehlt jedoch die Dokumenttyp-Deklaration und das Dokument ist zwar wohlgeformt, aber nicht gültig, dann gibt es keine solche eindeutige Zuordnung. Es bleibt unklar, "woher" (aus welchem Namensraum) die verwendeten Element- und Attributnamen kommen. Dazu besteht die Möglichkeit, bei einem Elementnamen oder Attributnamen explizit einen Namensraum anzugeben.

Besonders wichtig ist die Bezeichnung des Namensraums, wenn sich Namen von Elementen oder Attributen aus unterschiedlichen Namensräumen in die Quere kommen. Angenommen, in einem XML-Dokument gibt es zweimal ein Element namens div. Einmal bezieht es sich auf einen eigenen Namensraum, und einmal soll es als HTML-Element fungieren. Nur durch die Zuordnung zu einem bestimmten Namensraum ist in dem Fall klar, in welchem "Kontext" das Element interpretiert werden soll.

Zu diesem Zweck hat das W3-Konsortium den Begriff der qualifizierten Namen (qualified names) eingeführt. Qualifizierte Namen bestehen immer aus einem Präfix, der den Namensraum bezeichnet, und einem lokalen Namensteil, der den Namen des Elements oder Attributs innerhalb des Namensraums bezeichnet. Beim Arbeiten mit mehreren Namensräumen gleichzeitig ist es wichtig, qualifizierte Namen zu notieren.

Man kann innerhalb eines XML-Dokuments "Inseln" mit Daten aus bestimmten Namensräumen definieren.

Beispiel: Namensräume definieren

		

<?xml version="1.0" encoding="ISO-8859-1" ?>

<buch xmlns="http://www.meinserver.de/XML/buch">

<kapitel nummer="1">

  <html xmlns="http://www.w3.org/TR/REC-html-40">

    <head><title>Einleitung</title></head>

    <body>

     <h1>Einleitung</h1>

     <p>Das Buch beginnt mit diesem Text...</p>

    </body>

   </html>

</kapitel>

</buch>

Das Beispiel zeigt ein XML-Dokument. Es enthält ein Dokument-Element namens buch . In dessen Einleitungs-Tag ist eine XML-Namensraumdeklaration enthalten. Dazu wird in dem einleitenden Tag das Attribut xmlns= notiert (xmlns = XML name space). Dahinter folgt ein URI, der angibt, auf welchen anderen Namensraum in diesem Element Bezug genommen wird. Dieser URI muss nicht unbedingt eine aufrufbare Adresse sein. Es handelt sich um eine reine Konvention, vergleichbar einer eindeutigen Namensvergabe. Bei eigenen XML-Sprachen kann Man diese Adressen selbst vergeben. Im Beispiel wird http://www.meinserver.de/XML/buch gewählt. Das buch-Element selbst und seine untergeordneten Elemente (Kindelemente) - z.B. das Element kapitel - beziehen sich nun auf den definierten Namensraum. Unterhalb des kapitel-Elements ist im Beispiel jedoch wieder ein Element mit Namensraumdeklaration enthalten: ein html-Element mit xmlns-Attribut. Im Fall von HTML 4.0 sieht das W3-Konsortium dazu die Angabe http://www.w3.org/TR/REC-html-40 vor. Alle Kindelemente, die nun zwischen <html> und </html> stehen, gehören zum HTML-Namensraum.

© 1999 W3C (MIT, INRIA, Keio ), All Rights Reserved


 
         
       
 
  Seite zuletzt geändert am: 11-Apr-2006 11:11:42
Webadmin: wwwadmin@xml-Clearinghouse.de
© XML Clearinghouse   Impressum
Haftungsausschluss