1 <!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN"
5 This is a stylesheet for converting DocBook to HTML, implemented as a
6 customization layer over Norman Walsh's modular DocBook stylesheets.
7 It's possible that it could be useful for other documents, or even
8 that it could be an example of decent DSSSL style, but if so, that's
9 basically an accident, since it was written based on a superficial
10 reading of chapter 4 of _DocBook: The Definitive Guide_, by Norman
11 Walsh and Leonard Muellner, and has only been tested on the SBCL
14 This software is part of the SBCL system. See the README file for more
17 The SBCL system is derived from the CMU CL system, which was written
18 at Carnegie Mellon University and released into the public domain. The
19 software is in the public domain and is provided with absolutely no
20 warranty. See the COPYING and CREDITS files for more information.
24 [<!ENTITY docbook.dsl PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA dsssl>]>
27 <style-specification id="html" use="docbook">
28 <style-specification-body>
30 ;;; Essentially all the stuff in the "Programming languages and
31 ;;; constructs" section (pp. 40-41 of _DocBook: The Definitive Guide_)
32 ;;; is to be monospaced. The one exception is "replaceable", which
33 ;;; needs to be distinguishable from the others.
35 ;;; (In the modular stylesheets as of 1.54, some elements like "type"
36 ;;; were typeset in the same font as running text, which led to
37 ;;; horrible confusion in the SBCL manual.)
38 (element action ($mono-seq$))
39 (element classname ($mono-seq$))
40 (element constant ($mono-seq$))
41 (element errorcode ($mono-seq$))
42 (element errorname ($mono-seq$))
43 (element errortype ($mono-seq$))
44 (element function ($mono-seq$))
45 (element interface ($mono-seq$))
46 (element interfacedefinition ($mono-seq$))
47 (element literal ($mono-seq$))
48 (element msgtext ($mono-seq$))
49 (element parameter ($mono-seq$))
50 (element property ($mono-seq$))
51 (element replaceable ($italic-seq$))
52 (element returnvalue ($mono-seq$))
53 (element structfield ($mono-seq$))
54 (element structname ($mono-seq$))
55 (element symbol ($mono-seq$))
56 (element token ($mono-seq$))
57 (element type ($mono-seq$))
58 (element varname ($mono-seq$))
60 ;;; Things in the "Operating systems" and "General purpose"
61 ;;; sections (pp. 41-42 and pp. 42-43
62 ;;; of _DocBook: The Definitive Guide_) are handled on a case
65 ;;; "Operating systems" section
66 (element application ($charseq$))
67 (element command ($mono-seq$))
68 (element envar ($mono-seq$))
69 (element filename ($mono-seq$))
70 (element medialabel ($mono-seq$))
71 ;;; (The "msgtext" element is handled in another section.)
72 (element option ($mono-seq$))
73 ;;; (The "parameter" element is handled in another section.)
74 (element prompt ($bold-mono-seq$))
75 (element systemitem ($mono-seq$))
77 ;;; "General purpose" section
78 (element database ($charseq$))
79 (element email ($mono-seq$))
80 ;;; (The "filename" element is handled in another section.)
81 (element hardware ($mono-seq$))
82 (element inlinegraphic ($mono-seq$))
83 ;;; (The "literal" element is handled in another section.)
84 ;;; (The "medialabel" element is handled in another section.)
85 ;;; (The "option" element is handled in another section.)
86 (element optional ($italic-mono-seq$))
87 ;;; (The "replaceable" element is handled in another section.)
88 ;;; (The "symbol" element is handled in another section.)
89 ;;; (The "token" element is handled in another section.)
90 ;;; (The "type" element is handled in another section.)
94 ;; The extension to use on generated html files.
95 (define %html-ext% ".html")
97 ;; Generate a list of the html files created
98 (define html-manifest #t)
100 ;; The filename of the root HTML document (e.g, "index").
101 (define %root-filename% "index")
103 ;; If true, chunks will be written to the 'output-dir' instead of
104 ;; the current directory.
105 (define use-output-dir #t)
106 (define %output-dir% "html")
108 ;; Use ID attributes as name for component HTML files
109 (define %use-id-as-filename% #t)
111 </style-specification-body>
112 </style-specification>
114 <external-specification id="docbook" document="docbook.dsl">