- From: Paul Grosso <paul@arbortext.com>
- Date: Mon, 3 Feb 97 10:03:40 CST
- To: w3c-sgml-wg@www10.w3.org
> From: lee@sq.com > Date: Sat, 1 Feb 97 01:43:55 EST > > I want to make sure that it does not forbid a system that uses a remote > lookup in a database instead of a catalog (for example). The catalog proposal says: If an entity has a public identifier, an XML processor may retrieve the content of the entity using any mapping of public identifier to system identifier that it wishes; in the interest of document portability, this specification describes a particular mapping that is recommended but not required. Further on, it says: When an XML processor encounters an external entity defined by a public identifier, the processor may, but need not, determine the associated system identifier required for the tasks described in section 4.3 of this specification from a supplemental XML catalog. Do you still feel additional or modified wording is needed so that this proposal "does not forbid a system that uses a remote lookup in a database instead of a catalog (for example)"? > > We need to be 200% clear on what happens if both system and public ID > are given: > * is catalog consulted? > * what happens if the catalog lookup gives a different result than > the system identifier? For Panorama, the system identifier on > the DOCTYPE line usually wins in that case. But it actually > depends on the user's preferences. Author/Editor ignores > the PUBLIC identifier if there is a SYSTEM one. While the SGML Open TR9401 does require an implementation to allow a user to choose either to "prefer SYSTEM" or "prefer PUBLIC", the current XML catalog proposal was simplified so that PUBLIC is always preferred. If there is a PUBLIC id (whether or not there is also a SYSTEM id) and a catalog is being used, the catalog is consulted. If using the PUBLIC id results in finding the external entity, any SYSTEM id included in the original ExternalID is ignored. All this was meant to be addressed in the current XML proposal by the following wording: If an entity has a public identifier, an XML processor may retrieve the content of the entity using any mapping of public identifier to system identifier that it wishes;. . . Regardless of the resolution process attempted, if the XML processor cannot successfully use or resolve the public identifer, and a system identifier follows the public identifier, the XML processor shall behave as if the system identifier was the only identifier supplied. If the XML processor cannot successfully use or resolve the public identifier, and a system identifier does not follow the public identifier, the XML processor shall behave as if a system identifier could not be resolved. Perhaps preceding the current first sentence of the second above quoted paragraph with a new initial sentence as follows would help: If an ExternalID has a public identifier, the XML processor shall first attempt to retrieve the contents of the entity by using or resolving the public identifier. > > We also need to say what happens when catalog is not found. > > We also need to say exactly where to find the catalog file. > Does a processing instruction in the document header point to it, > for example? What if the XML document is generated as the result of > a cgi query, so that there is no "current directory" of the document...? > What if we don't have a "base URL" for the XML document? Our subgroup mentioned this point, and we decided this was not necessarily part of adding public identifiers to XML. PaulP offered to write up some suggestions in this area as a separate task so as to avoid confounding public IDs and catalogs with questions of how to "package" XML applications that might include document instance files, external XML entities, graphics, style sheets, catalogs, etc. paul
Received on Monday, 3 February 1997 11:19:26 UTC