Re: What to do given both SYSTEM and PUBLIC?

lee@sq.com wrote:

> If we open the can of PUBLIC worms, we have to say:
> * what to do if you are givena PUBLIC Id and no SYSTEM Id

If this happens, it means that the document's author
has assumed that the recipient already knows how to resolve
the PUBLIC id.  So the recipient's software should try to
resolve it.  If the PUBLIC id can't be resolved, then the
document's author's assumption was incorrect.  We don't need
to specify error recovery in this case.

> * what to do if you are given both

Try to resolve either one.  If that fails, try the other.
It doesn't matter which one you try first.

(If the software does not know how to automatically resolve
PUBLIC ID's -- which I suspect most software will not, since
_nobody_ is sure how to do this yet -- then naturally it
should try the SYSTEM ID first.  Is there a need to put
this in the spec though?  It seems like common sense to me.)

> * what to do if you are given both and the resulting files are different

This means that somebody somewhere has made a mistake.
We don't need to specify error recovery in this case.

> * give at least one way in which I can put an XML file on the web and
>   someone else 6 months in the future with some new application can
>   use that file, whether or not it has a PUBLIC Identifier.


How is using the file six months in the future any different from
using the file right away?  I don't understand the question.

> Otherwise...
> Some people will implement systms that ignore the PUBLIC ID [...]

Fine.  I expect that PUBLIC IDs will be used more for
identification ("the official name of this resource is...")
than for resolution anyway.

> Some people will implement systems in which the SYSTEM Id is ignored [...]

Such systems will naturally have to be very good
at automatically resolving PUBLIC IDs, which will be
tricky, since nobody knows how to do this at all yet.

> Some people will implement systems in which the SYSTEM ID is used for
> some things and the PUBLIC for others [...]
> Some people will implement systems that require end users to edit local
> configuration files [...]

> No document will work on all systems.

I don't see how this conclusion follows from the premises.

If the author provides both PUBLIC and SYSTEM id's,
the document should work on any system, regardless
of which of either or both the system in question uses.

--Joe English


Follow-Ups: References: