The importance of PUBLIC (response to NOTATIONS and DATA TYPES)

	<eliotkimber>
	But note that system IDs, being system-specific, are not
reliable.
	</eliotkimber>


	<danconnolly>
	In this whole web/SGML excercise, I regard the web as an SGML
system (with entity resolution equivalent to URL resoltion). So as long
as the universe of discourse is the web, URLs as system IDs are
reliable. 

	XML is intended to be interoperable with systems that exceed the
confines of the web, and public identifiers can facilitate that
interoperability. (They can provide redundancy within the web as well.)

	But if the web is your only target, URLs are all you need.
	</danconnolly>


	Strange. I seem to remember I once clicked on a hotspot on an
HTML page and found that the link was broken!  Or was I dreaming?

	The issue seems to me to be one if
_ownership_and_accountability_. 

	It may be possible to consider the web as a single system. But
it sure does not have a single owner. If my system ID is a URL, then it
is only as reliable as my confidence that the owner of the file to which
the URL points will not move it without informing me and giving me a
chance to modify the system ID (URL) in all my document instances.

	The point about public identifiers is that they provide
1)	redundancy - i.e. a fallback if the URL fails
2)	accountability - the syntax of public identifiers is linked to a
registration procedure and places responsibility on the content owner to
follow certain rules
3)	a universe higher than that of the machine to resolve the
reference.

	When the ERB was debating whether to add PUBLIC to the XML-LANG
syntax, the stumbling block was the difficulty of providing a reliable
standard procedure to resolve the references. I would argue that it is
precisely _because_ public identifiers cannot be fully resolved by the
system that they are so important. Any identifier that can be fully
resolved by the system will only be as reliable as the system. When the
system breaks, we need (a) to know it has broken and (b) to be able to
resolve the problem outside the system. This means there must be
redundancy _and_ recourse to something beyond the system. This is
precisely what PUBLIC provides.

Received on Thursday, 12 June 1997 04:31:57 UTC