- From: Paul Grosso <paul@arbortext.com>
- Date: Sun, 9 Feb 97 10:32:14 CST
- To: w3c-sgml-wg@w3.org
> From: Martin Bryan <mtbryan@sgml.u-net.com> > > Paul Grosso wrote: > > >> Why is # not included in SpecialChars? > > > >In other words, if we allowed # in SpecialChars, an XML PublicID would > >not be a value 8879 minimum literal and hence not a valid 8879 public id. > > I knew this, but the question I wanted to raise is whether there is a real > need to restrict XML public IDs to the same rules as SGML ones. I'm not > convinced there is, despite my strong allegience to SGML. My reasons are > stated below. A reasonable question to raise, but it seems we should have a good reason to do something incompatible with 8879 (not that I haven't been annoyed by the restrictions of minimum literals before, but we've decided many times before in this XML work that we would stick within the framework of 8879 unless we had a really good reason). > > Let me give an example of why I think there is a case for # in XML public IDs. > > My material on ODA, SGML and XML all sits in a single file. I could give > this file a ISO 9070 conformant public id of > +//EU::ECHO::IM::INFO2000::OII//TEXT Document Standards//EN > > This works fine in a catalog that is simply a catalog. The problem I have is > in reusing this information as part of a XML XLG link group. Here I need to > refer to a lower level, to the fragment IDs for ODA, SGML and XML. Now I > could do something like: > +//EU::ECHO::IM::INFO2000::OII//TEXT Document Standards::ODA//EN > +//EU::ECHO::IM::INFO2000::OII//TEXT Document Standards::SGML//EN > +//EU::ECHO::IM::INFO2000::OII//TEXT Document Standards::XML//EN > > OK, I'm still kosher SGML here, but the mapping between system IDs and > public IDs would be easier if I could adopt the following alternative names: > > +//EU::ECHO::IM::INFO2000::OII//TEXT docstand.html#ODA//EN > +//EU::ECHO::IM::INFO2000::OII//TEXT docstand.html#SGML//EN > +//EU::ECHO::IM::INFO2000::OII//TEXT docstand.html#XML//EN > > This form would allow automatic translation of my existing anchors into > public IDs, without having to add a manual intervention stage to define the > name that the file is to be known as. It is with this in mind that I asked > that we think carefully as to whether there would be advantages in allowing > # to be used in XML public IDs. (I have also asked that it be added to the > SGML minimum data character set when SGML is revised.) If by definition, a public id is something that gets mapped into a system id, I fail to see the need for # in a public id based on your example. Make your public id the "kosher SGML" one and map it into whatever system id you want (with #'s in it or whatever). Your non-kosher "public ids" are system ids. You've got file names and subnames embedded in them. I don't understand the automatic translation of which you speak. It sounds like you're talking about translating system ids into public ids, but that's "backwards." That may be something of interest for an authoring system, but an XML application still needs to map those public ids back into system ids to do anything. How is that to be done? If through a catalog, then you'll need to set up the catalog that maps the public ids to system ids, and I don't see why you can't do that for valid public ids as easily as for invalid ones. If you are suggesting that your invalid public ids "contain" the system id and can therefore be mapped back into the corresponding system id without a catalog, that sounds like a system-specific, non-interoperable mapping--which basically leads me back to saying your invalid public ids might as well be system ids. paul
Received on Sunday, 9 February 1997 11:37:59 UTC