Un namespace (ou espace de noms en français) est une mécanique qui permet d'assurer l'unicité des noms des éléments utilisés au sein des fichiers XML, dans l'objectif de pouvoir « mélanger » différents schémas.
www.utc.fr/S1:syntaxe
www.utc.fr/S2:syntaxe
Préfixe s1 associé au namespace www.utc.fr/S1 et écriture XML s1:syntaxe
Préfixe s2 associé au namespace www.utc.fr/S2 et écriture XML s2:syntaxe
Il est possible de définir un namespace par défaut ce qui permet d'avoir un namespace pour chaque balise, sans avoir à utiliser de préfixe.
<elementRacine
xmlns:prefixe1="namespace1"
xmlns:prefixe2="namespace2" ...
xmlns:prefixeN="namespaceN"
xmlns="namespaceDesÉlémentsNonPréfixés"
>
Un nom développé (expanded name) est le couple constitué par un nom d'espace de nommage (namespace name) et par un nom local (local name).