Le Vendredi 18 Mai 2001 00:54, Rafa³ Kleger-Rudomin a écrit : > That was XML developers who decided that using system IDs in the form > of URL (URI?) is enough to locate the document. FPI is a sgml concept. > It constitutes some artificial mapping between wanted file > and it's location. XML was designed to be net oriented - why the > net_domain/file name (which you can quite easily choose now) is worst to > identify the resource than some artificial string that must also be > assigned uniqely worldwide?
Because you don't necessarily have net access. Even if you have a cache, the file needs to be found for the first time. > Seems you did not catch the idea. I shouldn't have called it 'cache', > it's misleading: I got the idea, so let me rephrase it: you want a mapping between the URI used in the system identifier, and the real files. I said that this mapping would gain with being made of pointers and not by duplicating the files. > It is not really the cache - I assume rpm packages simply contains > files in paths like /usr/share/xmlcache/http:/www.docbook.org/xml/4.1.2/. While duplicate the files when a pointer is enough? You could easily map http://www.docbook.org/docbookx.dtd to /usr/share/sgml/docbook/xml-dtd-4.1.2/docbookx.dtd in, say, /etc/sgml/xml-cache. It wouldn't make your "patch" much more complicated. /etc/sgml/xml-cache could very well contain lines like: "http://www.docbook.org/docbookx.dtd"="/usr/share/sgml/docbook/xml-dtd-4.1.2/ docbookx.dtd" If you follow this reasoning, you realize then that such a mapping is a bit like reinventing the wheel (the catalogs), just for the pleasure of having sysids. > No %post scripts any more! No intermetiate files like catalogs, no > configuration, no need to parse anything! Full "plug-and-play" ;) Then it's you who don't get the point: *who* will do your famous "cp -a"? Not the end-user, I hope. So it has to be done in the %post script. Don't tell me that it will be done by fetching the file from the net, or I will object when you are installing a Linux system usually your network connexion is not working already. > The instructions I gave before (cp -a...) concered only quick testing > of my patch to rxp. Let's take a very concrete example. The user wants to install KDE documentation that says "http://www.kde.org/doc/kdex.dtd" in the sysid (it's a fake example built to meet what you want - in fact they currently have "dtd/kdex.dtd" in the sysid). KDE's "real" DTD customization could be installed, according to the distribution, somewhere under /usr/share/ or /opt/kde or /opt/kde2. All are LSB-conformant as far as I know. Is the user supposed to enter by hand the "cp -a" command (or its equivalent entry in /etc/sgml/xml-cache) when he installs the KDE DTD customization, which is most probably done when he/she installs kdebase RPM? So, - if kdebase RPM does not do it in its %post section, - if you have no access to the net because kdebase is being installed with the rest of Linux and you don't have the network connexion working already, - if the user does not type it manually, - if the XML tools do not know about KDE and where it can get installed (why should they?) - if no angel comes down from heaven to tell where the DTD customization is on the hard disk, how can this DTD customization (or a pointer to it) be fetched for the first time into the cache? and to make this case study even worse, let's assume that this user has no modem line and no other net connexion (it does exist), and got everything on CDs. -- Éric Bischoff - Documentation and Localization Caldera (Deutschland) GmbH - Linux for eBusiness Tel: +49 9131 7192 300 - Fax: +49 9131 7192 399 http://www.caldera.de/
