[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: LSB SGML/XML appendix: finding the DTD



/ Eric Bischoff <e.bischoff@noos.fr> was heard to say:
| B - The potential solutions
| 
| 1 - Appendix to LSB defines standard absolute paths for usual components. 
| This can be used to access for example from a document the DocBook DTD. This 
| unfortunately cannot be used for packages that can be installed in different 
| places, like KDE (/opt/kde, /opt/kde2, ...), or data installed in the user's 
| home directory.

Right. That'll only work for some subset of actual XML documents. It's
not immediately obvious to me if that subset is enough for 80% of the
users or not. (Figuring any solution that hits the 80/20 point is good
enough).

| 2 - Relative paths are not a solution, because some tools convert them to 
| absolute paths first, others simply assume they are already absolute, and in 
| any case you have problems when you want to jump from one package to another 
| (like from a DTD to its customization).

Relative paths work if things are really relative to each other.

| 3 - If we modify *every* tool, then we can implement a pseudo-caching 
| mechanism based on symlinks mapping URIs to files.
| 4 - If we modify *every* tool, we can provide a catalogs-based mechanism 
| while keeping compatibilty with SGML tools.

You don't need to modify every tool get solution 4 to work. Most Java
based parsers use SAX and/or JAXP. Some common tools let you specify
resolvers on the command line. For other tools, you'd "only" have to
use a SAX/JAXP parser that did resolution.

| 1 - We could say that boths methods B3 and methods B4 are accepted, and
| provide standard mechanisms in the LSB standard appendix for achieving this.

I really dislike B3.

| 2 - However, I don't think we should do some coding effort to support the 
| "cache" method (other than providing an algorithm in the appendix).
| 3 - Instead, we could do a coding effort to support the more evolved catalogs 
| method.

Absolutely. I'll be publishing Java classes that do this "real soon now".
(Shakespeare was right, we should kill all the laywers :-)

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com> | Time wounds all heels.
http://nwalsh.com/            | 



Reply to: