The idea of a namespace has recently intruded into many computer language designs. When there are many uncoordinated efforts to expand a language, each extender needs to introduce names for the users of those extensions to invoke the new function. The namespace idea is that each extender gets one name which prepends the namaes of each of his new functions.
An XML namespace is specified by a URI (think URL). What the URL leads to is irrelevant, just its spelling. I think the idea is that the uniqueness of URL is a previously (un)solved problem. Typically there is no machine sensible information at the URL that identifies the namespace, but there may be a human readable web page with clues to the namespace provenance.
The name space identified by the URI is bound to a short local identifier by a <x ...> xml ‘element’ in the header.