English | česky | Español | Türkçe | Português | Nederlands | Français | >> Deutsch << | По-русски | Italiano | 中文 | ქართული | Magyar | PolskiZVON > Tutorials > Namespace Tutorial

Inhalt:

Beispiel 1
In diesem Dokument werden drei künstliche Sets von Elementnamen gebraucht: gleiche Großbuchstaben, gleiche Kleinbuchstaben und Kombinationen von "x" und einer Zahl - die zugehörigen namensräume heißen "uppercase", "lowercase" und "xnumber". Für menschliche Leser ist leicht zuzuordnen, zu welchem Set ein Element gehört. Doch der Computer verfügt nicht von vornherein über dieses Erkennungsvermögen des Menschen, so dass man eine solche Logik erst einmal in einem verarbeitenden Programm implementieren müsste.
Beispiel 2
Zur Deklaration eines Namensraums (im Folgenden nach dem W3C-Standard "namespace" genannt) werden reservierte Attribute benutzt, die mit "xmlns" beginnen. Man kann einzeln für jedes Element den namespace deklarieren, aber dieser Ansatz ist sehr aufwändig und der resultierende Code ist schwer zu lesen.
Beispiel 3
Namespaces mit jedem Element zu deklarieren, wie in Beispiel 2 geschehen, wäre sehr unzuverlässig und fehleranfällig. Der Standard liefert verschiedene Ansätze, diese Aufgabe zu bewältigen. Die namespace-Deklaration, die in einem Element notiert wird, gilt auch für alle Elemente, die darin enthalten sind (für alle Kinder und Nachkommen).
Beispiel 4
Es ist eine gebräuchliche Vorgehensweise, alle namespaces im Root-Element zu notieren.
Beispiel 5
Der Wert des "xmlns"-Attributes bestimmt den namespace, nicht der Name des Element-Präfixes. In diesem Beispiel gehören alle Elemente zum selben namespace, obwohl verschiedene Präfixe gebraucht werden.
Beispiel 6
Während in Beispiel 5 alle Elemente zum gleichen namespace gehörten, obwohle sie unterschiedliche Präfixe hatten, gehören sie in diesem Fall zu verschiedenen namespaces, obwohl sie gleiche Präfixe haben.
Beispiel 7
Namespace-Zugehörigkeiten müssen nicht explizit durch Präfixe gekennzeichnet werden. Das Attribut "xmlns" definiert den Standard-namespace, der für das das Element gilt, in dem er notiert wird, sowie für alle seine Kinder und Nachfahren.
Beispiel 8
Selbst wenn Standard-namespaces benutzt werden, können namespaces für ausgewählte Elemente explizit gesetzt werden.
Beispiel 9
Standard-namespaces können wieder "un"-deklariert werden, indem ein Leerstring als Wert für das xmlns-Attribut gebraucht wird.
Beispiel 10
Auch Attribute können explizit einem namespace zugeordnet werden.
Beispiel 11
Attributes ohne Präfix gehören nie zu einem namespace.
Beispiel 12
Attribute gehören selbst dann nicht zu einem namespace, wenn ein Standard-namespace für das entsprechende Element definiert ist.
Beispiel 13
Die Deklaration eines namespaces ist auf das Element (und dessen Nachkommen) beschränkt, indem er deklariert wurde.
Beispiel 14
Und das letzte Beispiel - viel Spaß damit!