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