14.1. What's at the End of a Namespace URL?
The people who wrote the namespaces specification
couldn't agree on what should be put at the end of a
namespace URL. Should it be a DTD, a schema, a specification
document, a stylesheet, software for processing the application, or
something else? All of these are possible, but none of them are
required for any particular XML application. Some applications have
DTDs; some don't. Some applications have schemas;
some don't. Some applications have stylesheets; some
don't. Thus, for the most part, namespaces have been
purely formal identifiers. They do not actually locate or identify
anything.
Namespaces in XML specifically states that
"The namespace name, to serve its intended purpose,
should have the characteristics of uniqueness and persistence. It is
not a goal that it be directly usable for retrieval of a schema (if
any exists)." That is, it is not required that there
be anything in particular, such as a DTD or a schema, at the end of
the namespace URL. Indeed, it's not even required
that the namespace name be potentially resolvable. It might be an
irresolvable URN such as urn:isbn:1565922247. On the other hand, this
doesn't say that there can't be
anything at the end of a namespace URL, just that there
doesn't have to be.
Nonetheless, this hasn't stopped numerous developers
from typing namespace URLs into their web browser location bars and
filling the error logs at the W3C and elsewhere with 404 Not Found
errors. It hasn't stopped weekly questions on the
xml-dev mailing list about whether it's possible to
parse an XML document on a system that's
disconnected from the Net. Eventually, the membership of the xml-dev
mailing list reached consensus that it was time to put something at
the end of namespace URLs, even if they didn't have
to.