Lists Home |
Date Index |
- From: Tim Bray <email@example.com>
- To: firstname.lastname@example.org, email@example.com
- Date: Mon, 27 Nov 2000 12:07:45 -0800
At 10:41 AM 27/11/00 -0500, Michael Mealling wrote:
>Correct me if I'm wrong here: so it is always the case that, in order
>to parse some XML according to a DTD and the SYSTEM literal is a URI,
>then I must have connectivity in order to download the DTD? In that
>case, how are names for DTD standardized? I rarely see anyone related
>to XML using a PUBLIC identifier. They all tend to use the SYSTEM id
>as some sort of name instead.
Well, the spec (4.2.2) says "The SystemLiteral is called the entity's
system identifier. It is a URI, which may be used to retrieve the entity."
I don't think this rules out strategies, ranging from caching to
the use of "well-known" names, that don't require actually
dereferencing the URI every time you see it. In fact, a URI
can be a URN, and URNs are designed in part to *avoid* direct
Another issue is that across the universe of XML processing, the
proportion of times that the DTD or schema actually gets fetched
is pretty small; for example, your average XHTML agent is not
going to go chasing after DTDs in the course of displaying
web pages, and your average b2b code probably doesn't do a lot
of DTD munging.
So I've always felt that SYSTEM identifiers were the way to go,
and that this wasn't really a problem operationally. My feeling
is that PUBLIC identifiers are a legacy concession to the SGML
community, who had made good use of them, and a reflection of
the fact that in that space, you can't do anything no matter
how trivial without access to the DTD. But lots of smart people
disagree with me and think that you should build your addresses
around PUBLIC identifiers; history will tell. It is the case that
the design of XML 1.0 is clearly biased toward the use of SYSTEM
>I can easily deprecate assigning a URN to a DTD in this spec. But
>it does raise the issue of what the suggested practice from the W3C is.
Deprecating URNs might be reasonable - lots of people think they're
irrelevant or DOA - but nothing de facto or de jure about XML should
make you feel you ought to do this.
>Whether you give up or not, people will start using addresses as names
>whether its possible to do so or not.
The notion that there's a clean dividing line between addresses
and names has been disproved over and over. But to the extent
you can separate the naming and addressing functions, it seems
that you win. -Tim