The native form of this document is SGML. It was created and is maintained using GNU-Emacs and major-mode psgml. It was formatted using the DocBook DSSSL Stylesheets and the HTML output was created using db2html which comes from stylesheets-0.11rh-2.noarch.rpm.

In addition to GNU-Emacs the following RPMs required for this setup are:

  1. sgmltools-CVS19990807-2.i386.rpm

  2. stylesheets-0.11rh-2.noarch.rpm

  3. sgml-common-0.1-6.noarch.rpm

  4. psgml-1.0.3-2.i386.rpm

  5. docbook-3.1-5.i386.rpm

Tip: Syntax highlighting in psgml mode is provided by the following:

;; emacs config file last edit - 10 Dec 1999
;; Chuck Mead 
(setq inhibit-startup-message t)
(setq display-time-24hr-format t)
(fset 'yes-or-no-p 'y-or-n-p)
(setq load-path (cons (expand-file-name "/usr/share/emacs/site-lisp") load-path))
(setq default-major-mode 'text-mode)
(add-hook 'text-mode-hook 'turn-on-auto-fill)
(setq-default transient-mark-mode t)

(add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock)
(add-hook 'c-mode-hook 'turn-on-font-lock)

(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)

(setq default-frame-alist
     (append default-frame-alist
     ;;'((foreground-color . "yellow")
     '((foreground-color . "green")
     ;; '((foreground-color . "wheat")
     (background-color . "black")
     ;; (cursor-color . "green3"))))
     (cursor-color . "blue"))))

(autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t )
   (setq auto-mode-alist
           '("\\.html$" . sgml-mode)
           '("\\.phtml$" . sgml-mode)
           '("\\.sgm$" . sgml-mode)
           '("\\.xml$" . sgml-mode)
           '("\\.dcl$" . dtd-mode)
           '("\\.dec$" . dtd-mode)
           '("\\.dtd$" . dtd-mode)
           '("\\.ent$" . dtd-mode)
           '("\\.mod$" . dtd-mode))
      ;;;(autoload 'xml-mode "psgml" nil t)
      ;;;(autoload 'sgml-xpointer "psgml-xpointer" nil t)
      (setq sgml-validate-command "/usr/bin/nsgmls -s
-c/usr/lib/sgml/CATALOG %s %s")
   (setq sgml-catalog-files '("/usr/lib/sgml/CATALOG" "CATALOG"))
   ;;;(autoload 'dtd-mode "tdtd" "Major mode for SGML and XML DTDs.")

;; PSGML, courtesy of David Megginson,
(make-face 'sgml-comment-face)
(set-face-foreground 'sgml-comment-face "brown")
(make-face 'sgml-doctype-face)
(set-face-foreground 'sgml-doctype-face "plum")
(make-face 'sgml-end-tag-face)
(set-face-foreground 'sgml-end-tag-face "sky blue")
(make-face 'sgml-ignored-face)
(set-face-foreground 'sgml-ignored-face "blue")
(make-face 'sgml-ms-end-face)
(set-face-foreground 'sgml-ms-end-face "maroon")
(make-face 'sgml-ms-start-face)
(set-face-foreground 'sgml-ms-start-face "maroon")
(make-face 'sgml-pi-face)
(set-face-foreground 'sgml-pi-face "maroon")
(make-face 'sgml-sgml-face)
(set-face-foreground 'sgml-sgml-face "maroon")
(make-face 'sgml-start-tag-face)
(set-face-foreground 'sgml-start-tag-face "sky blue")
(make-face 'sgml-entity-face)
(set-face-foreground 'sgml-entity-face "goldenrod")
(make-face 'sgml-short-ref-face)
(set-face-foreground 'sgml-short-ref-face "firebrick")
(setq-default sgml-markup-faces
              '((comment . sgml-comment-face)
                (doctype . sgml-doctype-face)
                (end-tag . sgml-end-tag-face)
                (ignored . sgml-ignored-face)
                (ms-end . sgml-ms-end-face)
                (ms-start . sgml-ms-start-face)
                (pi . sgml-pi-face)
                (sgml . sgml-sgml-face)
                (start-tag . sgml-start-tag-face)
                (entity . sgml-entity-face)
                (short-ref . sgml-short-ref-face)))
(setq-default sgml-auto-activate-dtd t)
(setq-default sgml-set-face t)


Those who wish to know more about this method of producing documentation should grab a copy of DocBook The Definitive Guide, by Norman Walsh and Leonard Muellner. Oh... and be prepared for some hard work in the beginning... but it does get easier!