Hi All,

I've looked over the new proposal for structuring SGML installations
and thought I'd share what I've read.

I've collected some background material (including the proposal) here:
   
     http://dulug.duke.edu/~mark/debian/sgml/


The proposed changes are substantial, and will likely make packaging
easier. They also allow for multiple versions of some packages to be
installed.


Here's a quick summary:


 A. /usr/lib/sgml/ --> /usr/share/sgml/
   -----------------------------------

  The architecture independent stuff now goes in /usr/share/sgml/


 B. Directory Layout of /usr/share/sgml/
   ------------------------------------

   (i.) Top-level directories are based on classes of related schema
        (dtds) and their schema-specific components - stylesheets,
        entites, etc. Like this:

        /usr/share/sgml/
                        docbook/
                        debiandoc/
                        html/
                
   (iii.) The docbook sub-directories are package-oriented:

       /usr/share/sgml/docbook/
                                sgml-dtd-3.1/
                                sgml-dtd-4.1/
                                xml-dtd-4.1/
                                dsssl-stylesheets-1.57/
                                xsl-stylesheets-1.24/
                                gnome-customization-0.1/


   (ii.) General things that everybody uses get their own top-level
         directory, complete with version numbers:

         /usr/share/sgml/
                        sgml-iso-entities-8879.1986/
                        xml-iso-entities-8879.1986/
                        jade-1.2.1/
                        openjade-1.3/



 C. Catalog Handling
   ----------------

    *System Catalogs Only Point to Package Catalogs*
    

     Three kinds of catalogs:

    1  Package Catalogs  - package-specific
                         - all named "catalog"
                        
        Examples: 

        /usr/share/sgml/docbook/xsl-dtd-4.0/catalog
        /usr/share/sgml/docbook/dsssl-stylesheets-1.54/catalog



    2  Centralized Catalogs  - reside in /etc/sgml/ 
                             - are dtd-specific
                             - can be version-numbered
                             - end in .cat
                             - point to Package Catalogs via
                               CATALOG or DELEGATE keywords

        Example:
                /etc/sgml/
                          sgml-docbook.cat
                          sgml-docbook-3.1.cat
                          sgml-docbook-4.1.cat
                          xml-docbook-4.1.cat
         

        Example Contents:
        
         -- sample contents of /etc/sgml/foo-1.05.cat --
         CATALOG /usr/share/sgml/foo/xml-dtd-1.05/catalog
         CATALOG /usr/share/sgml/foo/xsl-stylesheets-0.1/catalog


    3  The Super Catalog - named /etc/sgml/catalog
                         - points to Centralized Catalogs only
                         
        Example Contents:

                   -- sample contents of /etc/sgml/catalog --
                     CATALOG /etc/sgml/sgml-docbook.cat
                     CATALOG /etc/sgml/xhtml.cat
                     CATALOG /etc/sgml/mathml.cat

        --- End Quick Summary --


There are many more details, but that's the general idea. 

One question comes to mind:

    How to handle relative paths for stylesheets that are
    customizations of a "main" distribution?

    E.g. The website xsl stylesheets call files that are part of the
         full docbook xsl stylesheet set, and need to find the
         docbook.xsl via a generic path like 
                     ../xsl-stylesheets/html/docbook.xsl
         
         One solution would be to put an "xsl-stylsheets" entry in 
         /etc/alternatives that /usr/share/docbook/xsl-stylesheets 
         points to. 


Hopefully this info will alleviate some of the confusion. Ardo plans
to have a policy draft ready sometime in January. We could help move
things along by addressing issues as we see them now.

Cheers,
Mark

Reply via email to