Re: the return of the Public Identifier Question
At 18:46 19/3/97 -0500, Paul Prescod wrote in response to Paul Grosso's message:
>> The idea of trying both in any order is fine if all you're trying to
>> do is provide alternative resolutions to *equivalent* storage objects;
>> that is, you are just trying to avoid "broken references," and any
>> successful reference is equally acceptable.
>I think that it is just a logical error to have the public identifier and
>system identifier point to non-equivalent storage objects.
It is not a logical error - it is an absolute necessity.
Consider the case where an XML-LINK uses an option, such as REPLACE, that
cannot be supported on a receiving system. The system may require that a
local variant of the DTD be produced and that this local variant be used to
override the vesion pointed to by the system identifier.
Similarly I may need to restrict the set of colours that an HTML document
can be displayed in to ensure that no one reading the document at my site
who suffers from epilepsy will be effected by a bad colour combination in a
bgcolour or colour attribute. I may also need to ensure that the DTD does
not contain a blink option for the same reason. I may be constrained by my
insurance company to ensure that such situations cannot occur if I want to
>It is as if I
>sent a letter to ArborText to "Paul Grosso's office" and "[whatever room
>number you work in]" and they went to two different people. That shouldn't
>happen: names refer to logical objects, with potentially multiple addresses,
>not multiple logical objects.
Rubbish - if you send me a letter next Monday address it to me c/o the
European Commission in Brussels, but please also send a copy to my office so
that it can be placed in the office filing system!
>> But I do not see option
>> (d) as working if you agree that an important reason for PUBLIC ids
>> is to allow recipient/user level control over resolution.
>I do not think that this is an important use for public identifiers, though
>I admit that it is sometimes useful, for instance to include a set of user
>modifications to a standard DTD. I consider this a useful, common abuse
>of the public identifer mechanism.
It is not abuse - it is a requirement to overcome operating restrictions
when requesting read-only data you have no control over.
>You can reliably continue this practice
>by deleting the system identifier.
99.9% of XML files will be read only - you can't just delete their system
This will have the added benefit of
>requiring the user to specify the modifications or to specify that there are
It may not be the responsibility of the user. In most companies it will be
the responsibility of the system manager to ensure that company policy is
followed, not the users.
Martin Bryan, The SGML Centre, Churchdown, Glos. GL3 2PU, UK
Phone/Fax: +44 1452 714029 WWW home page: http://www.sgml.u-net.com/