Przestrzeń nazw XML
Z Wikipedii
Przestrzenie nazw XML (ang. XML namespaces) to mechanizm stworzony przez W3C zapobiegający konfliktom nazw znaczników i atrybutów zagnieżdżonych w jednym dokumencie XML. Główną przestrzeń nazw określa się atrybutem xmlns
.
Każdy element i atrybut XML może być w przestrzeni nazw. Przestrzeń nazw jest jakby uzupełnieniem nazwy elementu, np. elementy title
w XHTML i title
w Atom mają taką samą nazwę, ale odróżnia je przestrzeń nazw:
XHTML: <title> + http://www.w3.org/1999/xhtml Atom: <title> + http://www.w3.org/2005/Atom
Przestrzeń nazw to URI, ale wcale nie musi wskazywać istniejącej strony. Używa się adresów po to, aby ułatwić autorom wybranie przestrzeni nazw, które na pewno będą unikalne i pod ich kontrolą.
[edytuj] Przedrostki i xmlns
Oczywiście pisanie przestrzeni nazw obok każdego elementu byłoby zbyt uciążliwe:
<http://www.w3.org/1999/xhtml:title>Tytuł w XHTML</http://www.w3.org/1999/xhtml:title>
Dlatego istnieje atrybut xmlns
, który deklaruje jaką przestrzeń nazw ma element i jego potomkowie.
<html xmlns="http://www.w3.org/1999/xhtml"><title>Tytuł w XHTML</title></html>
Jeśli używa się kilku przestrzeni nazw naprzemiennie, można zadeklarować dla nich przedrostki i używać przedrostka zamiast pełnej nazwy:
<przedrostek:html xmlns:przedrostek="http://www.w3.org/1999/xhtml"> <przedrostek:title>Tytuł w XHTML</przedrostek:title> </przedrostek:html>