[XML] Namensräume

Katsumi

Lt. Commander
Registriert
Sep. 2002
Beiträge
1.336
Tach.

Kleine Frage zu XML Namensräume:

<person xmlns:mensch="http://www.auchschonweg.de/"
mensch:anrede="Frau">

Was ist der Sinn des Fett markierten, reicht die definition des Namensraumes "mensch" nicht aus?

Und warum stehen in Beispielen dort URLs und keine normalen Wörter, hat das eine tiefere Bedeutung?


Beispiel aus: http://www.linkwerk.com/pub/xmlidp/2000/kap-names.html
Falls dort eine Erklärung zu meiner Frage steht, bin ich zu blöd sie zu verstehen ;)
 
Zuletzt bearbeitet:
Katsumi schrieb:
Was ist der Sinn des Fett markierten, reicht die definition des Namensraumes "mensch" nicht aus?

Und warum stehen in Beispielen dort URLs und keine normalen Wörter, hat das eine tiefere Bedeutung?

Sagen wir es so, hinter der Adresse steht eine Art Anleitung für die Nutzung des Namensraum.
Beispiel (wir denken uns eine solche Anleitung): name existiert, lieblingssuppe nicht:

<mensch:name> - existitert, ist gültig nach den Regeln der Anleitung
<mensch:lieblingssuppe> - exisitert nicht, Dokument wird ungültig.

Hier ein komplexeres Beispiel für den Namensraum iso:

xmlns:iso="http://www.isotc211.org/2005/gmd"
Ruf mal die Adresse auf - dort finden sich verschiede "Anleitungen" oder, wie an der Endung schon erkennbar XSD (XML-Schema).
 
Sorry, aber ich versteh es immernoch nicht :)=

Um einem Missverständnis vorzubeugen: Der Namensraum-URI hat keinerlei festgelegte Bedeutung, dass heißt, dass hinter ihm nicht ein Dokument in einer bestimmten Form zu stehen hat. Der URI ist pure Konvention. Dass in der beim W3C vorliegenden HTML-Spezifikation in einem Unterverzeichnis tatsächlich eine DTD zu finden ist, dürfte eher die Ausnahme sein, wie der zweite URI zeigt, denn er verweist lediglich auf eine (hier beliebig gewählte) Website, nicht auf ein Dokument.

Es ist also technisch egal wie die URL ausschaut, aber wieso muss es dann eine URL sein?

//------

Rückfrage:
Namensräume sind doch dafür da, das man den selben TAG mehrmals in der XML Datei wiederverwenden kann, oder?

Das hier sollte eigentlich falscher Syntax somit sein, oder?
Oder ist er erlaubt und ich missverstehe den Sinn von Namensräumen?

Code:
<adresse>
   [B]<text>blabla</text>[/B]
   <person>
      <name>Heino</name>
      [B]<text>blablablabla</name>[/B]
   </person>
</adresse>

und muss es richtig so aussehen? (wenn ich es richtig gemacht habe ;) )

Code:
<adresse>
   [B]<text>blabla</text>[/B]
   <person xmlns:x="http://dämliche.url.de">
      <x:name>Heino</x:name>
      [B]<x:text>blablablabla</x:text>[/B]
   </person>
</adresse>
 
Zurück
Oben