public identifiers: "interchange XML"
I think that the fundamental problem we are encountering is that many want
to use XML internally (within an organization, or even a widely flung
community) but others want every XML document to be exactly as useful on
every computer on the Internet as on every other computer.
We've run into this before. Processing instructions can also "favor" one
machine or system over another. So can variant character set encodings. Do
we want to make an explicit distinction between "exchange XML" (UTF-8/UCS2,
no PIs, URLs) and "archive XML?" (which would allow that stuff) Would this
solve people's problems?
And if not, why can't we resolve public identifiers the same way we resolved
those other questions: in favor of end-user flexibility. Compared to the
potential havoc caused by shipping shift-JIS documents across the web
encoded using PIs instead of elements, public identifiers are quite
harmless. They are trivial to ignore and are easy to use redundantly with URLs.