Use of w3.org servers.
Gary W. Swearingen
underway at comcast.net
Thu Aug 7 19:04:00 UTC 2003
> [snip] is there a reason why we should change the system identifier?
Yes, but I now see that there are better reasons why we shouldn't.
> And BTW, the system identifier is also *not* used by browsers when
Based on my recent research, it *may be* used by browsers at any time
and *should be* used when they can't find DTD files by the other
method described below. But I'm guessing that it happens seldom
enough that we needn't worry about forcing w3.org to serve our files
for us. W3C won't mind and it keeps things simpler for us.
This is based on some info in "XML in a Nutshell" page 30 and in the
XML 1.0 spec at "http://www.w3.org/TR/REC-xml" (as I interpreted them,
Browsers will look at our DOCTYPE with our PUBLIC "external
identifier" which consists of both a "public identifier" and a "system
identifier". According to the XML spec the browser MAY use the public
ID to find the DTD and if it can't, it should use the system ID. (Some
XHTML spec might turn MAY into MUST, but I doubt it.) I'll guess that
most browsers DO use the public ID to avoid using the system ID most
of the time.
It seems (tho I'm not sure) that most browsers use some kind of
"catalog data file" which tells them where to find DTD files that
correspond to a public ID, generally in local files. One hopes that
the browser's version matches the w3.org version. (If there's a
reason for DTD changes, the system ID should point to files that have
the changes too, I suppose.)
P.S. The XHTML spec only recommends use of w3.org URIs for validating
parsers. (I.e, they say nothing (in the spec) about normal browsers.)
I'm guessing that most validating parsers go straight for the system
identifier, hoping it's at "w3.org". But this is moot for this thread.
More information about the freebsd-doc