Possible issue: XML DOCTYPE declaration -- should the PUBLIC iden tifier be a URN?

I just noticed that the XML 1.0 Recommendation (Second edition) does not
state a requirement that the public identifier in a DOCTYPE declaration must
be a URN, e.g.:

-- snip from http://www.w3.org/TR/REC-xml#NT-ExternalID --

[Definition: In addition to a system identifier, an external identifier may
include a public identifier.] An XML processor attempting to retrieve the
entity's content may use the public identifier to try to generate an
alternative URI reference. If the processor is unable to do so, it must use
the URI reference specified in the system literal. Before a match is
attempted, all strings of white space in the public identifier must be
normalized to single space characters (#x20), and leading and trailing white
space must be removed.

-- end snip --

Further, based on RFC2396, a valid URN has a scheme "urn:" but the public
identifier is often written without any scheme, e.g.:

   "-//W3C//DTD SVG 1.0//EN"

So it is pretty clear that the public identifier is not a URN per RFC2396.
At the same time, it is being used "as if" it were a universal resource name
and the XML processor is encouraged to identify a URI that may be used
address the XML grammar declared by the DOCTYPE declaration.

It seems to me that there should be some clarification here.  Appologies if
this has been covered elsewhere already.

Thanks,

-bryan

Bryan Thompson
Systems Architect
Hicks & Associates, Inc.
3811 N. Fairfax Drive, Suite 850
Arlington, VA 22203
+1 703-469-3409 (o)
+1 202-285-5099 (c)
thompsonbry@saic.com

Received on Wednesday, 8 October 2003 10:16:50 UTC