Lists Home |
Date Index |
- From: Charles Reitzel <firstname.lastname@example.org>
- To: email@example.com
- Date: Sat, 30 Dec 2000 14:15:19 -0500 (EST)
>Date: Sat, 30 Dec 2000 07:57:43 -0800
>From: Lisa Rein <firstname.lastname@example.org>
>Here's what I was able to determine from the XML Namespace
>(http://www.w3.org/TR/REC-xml-names)and XML Schema Primer
Thanks Lisa for that thorough discussion. Your points are well taken. The
flexibiilty of the specs allow applications to "do what they need to do",
which is a good thing. Such flexibility does not promote interoperability,
however. For example, browser support for XML is still surprisingly weak.
The "universe" of namespace options laid out by Simon St. Laurent's post
today shows why, I think.
What folks are clamoring for is a convention that will allow general purpose
XML processors, such as a browser, to determine if a namespace URI is
concrete or abstract. Clearly, the default is abstract, per the specs you
cite. But it doesn't seem complicated or far fetched to define a mechanism
to denote "This URI is a URL".
My take: a namespace URI that is a valid URL format
"<proto>://[host.]domain/some/file<.ext>" (where <proto> is either ftp or
http, host is optional and <.ext> is either .dtd or .xsd) denotes that
accessing that URL will return the DTD or XSchema document. Anything else
(e.g. -//Joe Bob's//B-//Movies) is abstract. It is up to the processor to
locate and download any external entities referenced by the schema document.
Obviously this example is imperfect as NS+schema users must choose between a
stable name and accessibility. But, hey, you don't get everything you want
in life. Anyway, the Internet is built on such simple, workable trade-offs.
In a perfect world, there would be some DNS/directory-like service where you
could look up the necessary info about a namespace by its URI: 1) access
URL, 2) a list of mirrors by country, 3) schema language, 4) date of last
update, 5) natural language, 6) preferred prefix, 6) owning entity, ... But
that is a topic for another day.