1 <!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
2 <!ENTITY % html "IGNORE">
4 <!ENTITY % print "IGNORE">
5 <!ENTITY docbook.dsl PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA dsssl>
7 <!ENTITY % print "INCLUDE">
9 <!ENTITY docbook.dsl PUBLIC "-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN" CDATA dsssl>
14 ;;#######################################################################
16 ;;# The GNOME Documentation Project's #
17 ;;# Custion DocBook Stylesheet Layer #
18 ;;# by Dave Mason dcm@redhat.com #
19 ;;# Based on Norman Walsh's Modular Stylesheets #
21 ;;# This is intended as a drop-in replacement for #
22 ;;# the cygnus-both.dsl file in DocBook Tools. #
23 ;;# Just copy it to the location dbtools created #
24 ;;# and rename it cygnus-both.dsl #
26 ;;# This is Version 1.0-4 #
27 ;;# patched to fix RTF output (#49677) #
28 ;;# patched to work with docbook-dsssl-1.72 #
29 ;;# patched for ADDRESS output (#50605) #
30 ;;# removed comment and remark #
31 ;;# disabled use-id-as-filename #
32 ;;#######################################################################
38 <style-specification id="print" use="docbook">
39 <style-specification-body>
41 ;;==========================================================================
43 ;;==========================================================================
45 ;;======================================
47 ;;======================================
49 ;;Do you want to print on both sides of the paper?
53 ;;Do you want enumerated sections? (E.g, 1.1, 1.1.1, 1.2, etc.)
54 (define %section-autolabel%
57 ;;What is the default extension for graphics?
58 (define %graphic-default-extension%
61 ;;Show URL links? If the text of the link and the URL are identical,
62 ;;the parenthetical URL is suppressed.
66 ;Make Ulinks footnotes to stop bleeding in the edges - this increases
67 ;'jade --> print' time tremendously keep this in mind before
69 (define %footnote-ulinks%
77 (define %line-spacing-factor% 1.1)
79 ;;Define the Paragraph Style
84 font-posture: 'upright
85 font-family-name: %body-font-family%
86 line-spacing: (* %bf-size% %line-spacing-factor%)))
88 (define ($object-titles-after$)
89 (list (normalize "figure")))
91 ;;======================================
93 ;;======================================
96 ;;Do you want a title page for a Book?
97 (define %generate-book-titlepage%
100 ;;Do you want a separate page for the title?
101 (define %generate-book-titlepage-on-separate-page%
105 (define %generate-book-toc%
108 ;;What depth should the TOC generate?
109 ;;!Only top level of appendixes!
110 (define (toc-depth nd)
111 (if (string=? (gi nd) (normalize "book"))
113 (if (string=? (gi nd) (normalize "appendix"))
117 ;;Do you want a TOC for the element part?
118 (define %generate-part-toc%
121 ;;Do you want the part toc on the part titlepage or separate?
122 (define %generate-part-toc-on-titlepage%
125 ;;Generate Part Title Page?
126 (define %generate-part-titlepage%
129 ;;Do you want the Part intro on the part title page?
130 (define %generate-partintro-on-titlepage%
133 ;;What elements should have a LOT?
134 (define ($generate-book-lot-list$)
135 (list (normalize "equation")))
137 ;;Do you want chapters enumerated?
138 (define %chapter-autolabel%
141 ;;Do you want Chapter's and Appendix's
142 ;;to have automatic labels?
143 (define %chap-app-running-head-autolabel%
147 ;;======================================
149 ;;======================================
151 ;;Do you want a title page for an Article?
152 (define %generate-article-titlepage%
155 ;;Generate Article TOC?
156 (define %generate-article-toc%
159 ;;Do you want a separate page for the title?
160 (define %generate-article-titlepage-on-separate-page%
163 ;;Do you want the article toc on the titlepage or separate?
164 (define %generate-article-toc-on-titlepage%
167 ;;Do you want to start new page numbers with each article?
168 (define %article-page-number-restart%
171 ;;Titlepage Separate?
172 (define (chunk-skip-first-element-list)
175 ;;Titlepage Not Separate
176 ;(define (chunk-skip-first-element-list)
177 ; (list (normalize "sect1")
178 ; (normalize "section")))
180 ;;======================================
182 ;;======================================
184 ;;How many columns do you want?
185 (define %page-n-columns%
188 ;;How much space between columns?
189 (define %page-column-sep%
192 ;;How many Columns on the titlepage?
193 (define %titlepage-n-columns%
197 (define %page-balance-colums%
200 ;;======================================
202 ;;======================================
204 ;;Defines the general size of the text in the document. normal(10),
205 ;;presbyopic(12), and large-type(24).
206 (define %visual-acuity%
209 ;;What font would you like for titles?
210 (define %title-font-family%
213 ;;What font would you like for the body?
214 (define %body-font-family%
217 ;;What font would you like for mono-seq?
218 (define %mono-font-family%
221 ;;If the base fontsize is 10pt, and '%hsize-bump-factor%' is
222 ;; 1.2, hsize 1 is 12pt, hsize 2 is 14.4pt, hsize 3 is 17.28pt, etc
223 (define %hsize-bump-factor%
226 ;;What size do you want the body fonts?
228 (case %visual-acuity%
231 (("presbyopic") 12pt)
232 (("large-type") 24pt)))
234 (define-unit em %bf-size%)
236 ;;======================================
238 ;;======================================
240 (define %left-right-margin% 6pi)
242 ;;How much indentation for the body?
243 (define %body-start-indent%
246 ;;How big is the left margin? (relative to physical page)
247 (define %left-margin%
248 8pi) ;white-paper-column
250 ;;How big is the right margin? (relative to physical page)
251 (define %right-margin%
252 8pi) ;white-paper-column
254 ;;How big do you want the margin at the top?
256 (if (equal? %visual-acuity% "large-type")
260 ;;How big do you want the margin at the bottom?
261 (define %bottom-margin%
262 (if (equal? %visual-acuity% "large-type")
266 ;;Define the text width. (Change the elements in the formula rather
267 ;;than the formula itself)
268 ;(define %text-width% (- %page-width% (* %left-right-margin% 2)))
269 (define %text-width% (- %page-width% (+ %left-margin% %right-margin%)))
271 ;;Define the body width. (Change the elements in the formula rather
272 ;;than the formula itself)
274 (- %text-width% %body-start-indent%))
276 ;;Define distance between paragraphs
280 ;;Define distance between block elements (figures, tables, etc.).
284 ;;Indent block elements?
285 (define %block-start-indent%
289 ;;======================================
291 ;;======================================
293 ;;Do you want admon graohics on?
294 (define %admon-graphics%
297 ;;Where are the admon graphics?
298 (define %admon-graphics-path%
301 ;;======================================
303 ;;======================================
305 ;;What quadding do you want by default; start, center, justify, or end?
306 (define %default-quadding%
309 ;;What quadding for component titles(Chapter, Appendix, etc)?
310 (define %component-title-quadding%
313 ;;What quadding for section titles?
314 (define %section-title-quadding%
317 ;;What quadding for section sub-titles?
318 (define %section-subtitle-quadding%
321 ;;What quadding for article title?
322 (define %article-title-quadding%
325 ;;What quadding for article sub-titles?
326 (define %article-subtitle-quadding%
329 ;;What quadding for division subtitles?
330 (define %division-subtitle-quadding%
333 ;;What quadding for component subtitles?
334 (define %component-subtitle-quadding%
340 ;;======================================
342 ;;======================================
344 ;;What size paper do you need? A4, USletter, USlandscape, or RedHat?
348 ;;Now define those paper types' width
353 (("USlandscape") 11in)))
355 ;;Now define those paper types' height
356 (define %page-height%
360 (("USlandscape") 8.5in)))
362 ;;======================================
364 ;;======================================
368 (modulo (length (hierarchical-number-recursive "ORDEREDLIST")) 4)
374 (define (ILSTEP) 1.0em)
376 (define (PROCSTEP ilvl)
377 (if (> ilvl 1) 1.8em 1.4em))
379 (define (PROCWID ilvl)
380 (if (> ilvl 1) 1.8em 1.4em))
383 (define ($comptitle$)
385 font-family-name: %title-font-family%
388 line-spacing: (* (HSIZE 2) %line-spacing-factor%)
389 space-before: (* (HSIZE 2) %head-before-factor%)
390 space-after: (* (HSIZE 2) %head-after-factor%)
392 first-line-start-indent: 0pt
395 (process-children-trim)))
397 ;;Callouts are confusing in Postscript... fix them.
398 (define %callout-fancy-bug%
402 ;;By default perils are centered and dropped into a box with a really
403 ;;big border - I have simply decreased the border thickness -
404 ;;unfortunately it takes all this to do it - sigh.
406 (let* ((title (select-elements
407 (children (current-node)) (normalize "title")))
408 (has-title (not (node-list-empty? title)))
409 (adm-title (if has-title
411 (with-mode title-sosofo-mode
412 (process-node-list (node-list-first title))))
414 (gentext-element-name
418 ($graphical-admonition$)
420 space-before: %block-sep%
421 space-after: %block-sep%
422 font-family-name: %admon-font-family%
423 font-size: (- %bf-size% 1pt)
425 font-posture: 'upright
426 line-spacing: (* (- %bf-size% 1pt) %line-spacing-factor%)
431 start-indent: (+ (inherited-start-indent) (* 2 (ILSTEP)) 2pt)
432 end-indent: (inherited-end-indent)
434 space-before: %para-sep%
435 space-after: %para-sep%
438 font-family-name: %title-font-family%
441 line-spacing: (* hs %line-spacing-factor%)
445 (process-children))))))
448 ;;======================================
449 ;;Non-printing Elements
450 ;;======================================
451 (element TITLEABBREV (empty-sosofo))
452 (element SUBTITLE (empty-sosofo))
453 (element SETINFO (empty-sosofo))
454 (element BOOKINFO (empty-sosofo))
455 (element BIBLIOENTRY (empty-sosofo))
456 (element BIBLIOMISC (empty-sosofo))
457 (element BOOKBIBLIO (empty-sosofo))
458 (element SERIESINFO (empty-sosofo))
459 (element DOCINFO (empty-sosofo))
460 (element ARTHEADER (empty-sosofo))
461 ;;(element ADDRESS (empty-sosofo))
463 ;;Show comment element?
464 (define %show-comments%
467 ;;======================================
469 ;;======================================
472 ;;Change the way Formal Paragraph titles are displayed. The commented
473 ;;out section will run the titles in the paragraphs.
474 (element (formalpara title)
480 ;;======================================
482 ;;======================================
484 (element application ($mono-seq$))
485 (element command ($bold-seq$))
486 (element filename ($mono-seq$))
487 (element function ($mono-seq$))
488 (element guibutton ($bold-seq$))
489 (element guiicon ($bold-seq$))
490 (element guilabel ($italic-seq$))
491 (element guimenu ($bold-seq$))
492 (element guimenuitem ($bold-seq$))
493 (element hardware ($bold-mono-seq$))
494 (element keycap ($bold-seq$))
495 (element literal ($mono-seq$))
496 (element parameter ($italic-mono-seq$))
497 (element prompt ($mono-seq$))
498 (element symbol ($charseq$))
499 (element emphasis ($italic-seq$))
501 </style-specification-body>
502 </style-specification>
506 ;;===========================================================================
508 ;;===========================================================================
511 <style-specification id="html" use="docbook">
512 <style-specification-body>
514 ;; this is necessary because right now jadetex does not understand
515 ;; symbolic entities, whereas things work well with numeric entities.
516 (declare-characteristic preserve-sdata?
517 "UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
521 ;;=========================
523 ;;=========================
525 (define %html-pubid% "-//W3C//DTD HTML 4.01//EN")
527 ;;=========================
529 ;;=========================
531 ;;Should there be a link to the legalnotice?
532 (define %generate-legalnotice-link%
535 ;;What graphics extensions allowed?
536 (define %graphic-extensions%
537 '("gif" "png" "jpg" "jpeg" "tif" "tiff" "eps" "epsf" ))
539 ;;What is the default extension for images?
540 (define %graphic-default-extension% "png")
542 ;;Use element ids as filenames?
543 (define %use-id-as-filename%
547 ;;=========================
549 ;;=========================
551 ;;Do you want a TOC for Books?
552 (define %generate-book-toc%
555 ;;What depth should the TOC generate?
556 ;;!Only top level of appendixes!
557 (define (toc-depth nd)
558 (if (string=? (gi nd) (normalize "book"))
560 (if (string=? (gi nd) (normalize "appendix"))
564 ;;What elements should have an LOT?
565 (define ($generate-book-lot-list$)
566 (list (normalize "equation")))
568 ;;Do you want a title page for your Book?
569 (define %generate-book-titlepage%
572 ;;=========================
574 ;;=========================
576 ;;Should parts have TOCs?
577 (define %generate-part-toc%
580 ;;Should part TOCs be on their titlepages?
581 (define %generate-part-toc-on-titlepage%
584 ;;Do you want a title page for your part?
585 (define %generate-part-titlepage%
588 ;;Should the Part intro be on the part title page?
589 (define %generate-partintro-on-titlepage%
592 (define %para-autolabel%
595 ;;========================
597 ;;=======================
599 ;;No TOCs in Chapters
600 (define $generate-chapter-toc$
604 ;;=========================
606 ;;=========================
608 ;;Should there be navigation at top?
609 (define %header-navigation%
612 ;;Should there be navigation at bottom?
613 (define %footer-navigation%
616 ;;Use tables to create the navigation?
617 (define %gentext-nav-use-tables%
620 ;;If tables are used for navigation,
621 ;;how wide should they be?
622 (define %gentext-nav-tblwidth%
625 ;;Add arrows to navigation (comment these
626 ;;out if you want admon graphics here)
627 (define (gentext-en-nav-prev prev)
628 (make sequence (literal "<<< Previous")))
630 ;;Add arrows to navigation (comment these
631 ;;out if you want admon graphics here)
632 (define (gentext-en-nav-next next)
633 (make sequence (literal "Next >>>")))
636 ;;=========================
638 ;;=========================
640 ;;Should Variable lists be tables?
641 (define %always-format-variablelist-as-table%
644 ;;What is the length of the 'Term' in a variablelist?
645 (define %default-variablelist-termlength%
648 ;;When true | If the terms are shorter than
649 ;;the termlength above then the variablelist
650 ;;will be formatted as a table.
651 (define %may-format-variablelist-as-table%
654 ;;This overrides the tgroup definition
655 ;;(copied from 1.20, dbtable.dsl).
656 ;;It changes the table background color,
657 ;;cell spacing and cell padding.
658 ;;This is based on gtk-doc additions - thanks!
661 (let* ((wrapper (parent (current-node)))
662 (frameattr (attribute-string (normalize "frame") wrapper))
663 (pgwide (attribute-string (normalize "pgwide") wrapper))
664 (footnotes (select-elements (descendants (current-node))
665 (normalize "footnote")))
666 (border (if (equal? frameattr (normalize "none"))
669 (bgcolor '(("BGCOLOR" "#E0E0E0")))
670 (width (if (equal? pgwide "1")
671 (list (list "WIDTH" ($table-width$)))
673 (head (select-elements (children (current-node)) (normalize "thead")))
674 (body (select-elements (children (current-node)) (normalize "tbody")))
675 (feet (select-elements (children (current-node)) (normalize "tfoot"))))
676 (make element gi: "TABLE"
681 '(("CELLSPACING" "0"))
682 '(("CELLPADDING" "4"))
683 (if %cals-table-class%
684 (list (list "CLASS" %cals-table-class%))
686 (process-node-list head)
687 (process-node-list body)
688 (process-node-list feet)
689 (make-table-endnotes))))
691 ;;===================
693 ;;===================
695 ;;Should Admon Graphics be used?
696 (define %admon-graphics%
699 ;;Where are those admon graphics?
700 (define %admon-graphics-path%
701 "./stylesheet-images/")
703 ;;Given an admonition node, returns the
704 ;;name of the graphic that should
705 ;;be used for that admonition.
706 ;;Define admon graphics usage
707 ;;NOTE these will change to pngs
708 ;;soon in the GDP when Tigert gets
709 ;;the time to make special ones for us!
710 (define ($admon-graphic$ #!optional (nd (current-node)))
711 (cond ((equal? (gi nd) (normalize "tip"))
712 (string-append %admon-graphics-path% "tip.gif"))
713 ((equal? (gi nd) (normalize "note"))
714 (string-append %admon-graphics-path% "note.gif"))
715 ((equal? (gi nd) (normalize "important"))
716 (string-append %admon-graphics-path% "important.gif"))
717 ((equal? (gi nd) (normalize "caution"))
718 (string-append %admon-graphics-path% "caution.gif"))
719 ((equal? (gi nd) (normalize "warning"))
720 (string-append %admon-graphics-path% "warning.gif"))
721 (else (error (string-append (gi nd) " is not an admonition.")))))
723 ;;Given an admonition node, returns
724 ;;the width of the graphic that will
725 ;;be used for that admonition.
726 (define ($admon-graphic-width$ #!optional (nd (current-node)))
729 ;;=========================
731 ;;=========================
733 ;;Enumerate Chapters?
734 (define %chapter-autolabel%
737 ;;Enumerate Sections?
738 (define %section-autolabel%
741 ;;=========================
743 ;;=========================
745 ;;What attributes should be hung off
749 (list "BGCOLOR" "#FFFFFF")
750 (list "TEXT" "#000000")
751 (list "LINK" "#0000FF")
752 (list "VLINK" "#840084")
753 (list "ALINK" "#0000FF")))
755 ;;Default extension for filenames?
759 ;;Use a CSS stylesheet?
760 ;;Which one? Should work on
762 ;(define %stylesheet%
766 ;(define %stylesheet-type%
770 ;;========================
771 ;;Title Pages for Books
772 ;;=======================
774 (define (book-titlepage-recto-elements)
775 (list (normalize "title")
776 (normalize "subtitle")
777 (normalize "corpauthor")
778 (normalize "authorgroup")
780 (normalize "orgname")
781 (normalize "graphic")
782 (normalize "copyright")
783 (normalize "legalnotice")
784 (normalize "releaseinfo")
785 (normalize "publisher")
788 ;;========================
789 ;;Title Pages for Articles
790 ;;========================
792 ;;Should Articles have a TOC?
793 (define %generate-article-toc%
796 ;;Which elements should appear
798 (define (article-titlepage-recto-elements)
799 (list (normalize "title")
800 (normalize "subtitle")
801 (normalize "authorgroup")
802 (normalize "copyright")
803 (normalize "legalnotice")
804 (normalize "abstract")))
806 ;;How should elements on title page look?
807 (mode article-titlepage-recto-mode
809 ;;Author name is too big - change it!
811 (let ((author-name (author-string))
812 (author-affil (select-elements (children (current-node))
813 (normalize "affiliation"))))
815 (make element gi: "H4"
816 attributes: (list (list "CLASS" (gi)))
817 (make element gi: "A"
818 attributes: (list (list "NAME" (element-id)))
819 (literal author-name)))
820 (process-node-list author-affil))))
825 (make element gi: "DIV"
826 attributes: (list (list "CLASS" (gi)))
827 (process-children))))
829 ;;Get rid of spam-producing "mailto" links
830 ;;and get rid of email indentation
833 (make element gi: "DIV"
834 attributes: (list (list "CLASS" (gi)))
835 (process-children))))
837 ;;Point Abstract to custom table function
838 ;;(See $dcm-abstract-object$ below. For default
839 ;;use $semiformal-object$
841 (make element gi: "DIV"
842 ($dcm-abstract-object$)))
844 (element (abstract title) (empty-sosofo))
848 (make element gi: "H4"
849 attributes: (list (list "CLASS" (gi)))
850 (process-children-trim))))
856 ;Define my own series of fonts for various elements
857 (element application ($mono-seq$))
858 (element command ($bold-seq$))
859 (element filename ($mono-seq$))
860 (element function ($mono-seq$))
861 (element guibutton ($bold-seq$))
862 (element guiicon ($bold-seq$))
863 (element guilabel ($bold-mono-seq$))
864 (element guimenu ($bold-seq$))
865 (element guimenuitem ($bold-seq$))
866 (element guisubmenu ($bold-seq$))
867 (element hardware ($bold-mono-seq$))
868 (element keycap ($bold-seq$))
869 (element literal ($mono-seq$))
870 (element parameter ($italic-mono-seq$))
871 (element prompt ($mono-seq$))
872 (element symbol ($charseq$))
873 (element emphasis ($italic-seq$))
875 ;;Show comment element?
876 (define %show-comments%
879 ;;====================
880 ;; General Formatting
881 ;;====================
883 ;;Formal Paras are ugly by default!
884 ;;Make the title run in - otherwise
885 ;;you should use a sect!
887 (make element gi: "DIV"
890 (make element gi: "P"
891 (process-children))))
893 ;;This is the old one
894 ;(element (formalpara title)
897 ;;This is the new one
898 (element (formalpara title)
899 (make element gi: "B"
902 ;;Make captions come after objects in the list
903 (define ($object-titles-after$)
904 (list (normalize "figure")))
907 ;; Handle qanda labelling with Q: A:
908 (define (qanda-defaultlabel)
911 ;;From FreeBSD Sheets (Thanks!) Display Q and A in bigger bolder fonts
914 (let* ((chlist (children (current-node)))
915 (firstch (node-list-first chlist))
916 (restch (node-list-rest chlist)))
917 (make element gi: "DIV"
918 attributes: (list (list "CLASS" (gi)))
919 (make element gi: "P"
920 (make element gi: "BIG"
921 (make element gi: "A"
923 (list "NAME" (element-id)))
925 (make element gi: "B"
926 (literal (question-answer-label
928 (process-node-list (children firstch)))))
929 (process-node-list restch))))
933 ;;Indent Literal layouts?
934 (define %indent-literallayout-lines%
937 ;;Indent Programlistings?
938 (define %indent-programlisting-lines%
941 ;;Number lines in Programlistings?
942 (define %number-programlisting-lines%
945 ;;Should verbatim items be 'shaded' with a table?
946 (define %shade-verbatim%
949 ;;Define shade-verbatim attributes
950 (define ($shade-verbatim-attr$)
953 (list "BGCOLOR" "#E0E0E0")
954 (list "WIDTH" ($table-width$))))
956 ;;===================
958 ;;===================
960 ;;Netscape doesn't handle trademark
961 ;;entity right at all!! Get rid of it.
962 ;;Make a TM in a superscipt font.
966 (make element gi: "sup"
970 ;;===================
974 (define ($dcm-abstract-object$)
975 (make element gi: "TABLE"
976 attributes: '(("BORDER" "0")
977 ("BGCOLOR" "#E0E0E0")
982 (make element gi: "TR"
983 (make element gi: "TD"
984 attributes: '(("VALIGN" "TOP"))
985 (make element gi: "B"
986 (literal "Abstract"))))
987 (make element gi: "TR"
988 (make element gi: "TD"
989 attributes: '(("VALIGN" "TOP"))
990 (process-children)))))
992 ;;Redefine Titlepage Separator on Articles
994 (define (article-titlepage-separator side)
995 (make empty-element gi: "HR"
996 attributes: '(("WIDTH" "75%")
1004 (define (chunk-element-list)
1005 (list (normalize "preface")
1006 (normalize "chapter")
1007 (normalize "appendix")
1008 (normalize "article")
1009 (normalize "glossary")
1010 (normalize "bibliography")
1012 (normalize "colophon")
1013 (normalize "setindex")
1014 (normalize "reference")
1015 (normalize "refentry")
1018 (normalize "section")
1019 (normalize "book") ;; just in case nothing else matches...
1020 (normalize "set") ;; sets are definitely chunks...
1023 ;;Do you want Callouts to be graphics?
1024 (define %callout-graphics%
1028 ;;Make Callout graphics PNGs
1029 (define %callout-graphics-path%
1030 "./imagelib/callouts/")
1032 ;; Redefine $callout-bug$ to support the %callout-graphic-ext%
1034 (define ($callout-bug$ conumber)
1035 (let ((number (if conumber (format-number conumber "1") "0")))
1037 (if %callout-graphics%
1038 (if (<= conumber %callout-graphics-number-limit%)
1039 (make empty-element gi: "IMG"
1040 attributes: (list (list "SRC"
1043 %callout-graphics-path%
1045 %callout-graphics-ext%)))
1052 (make element gi: "B"
1053 (literal "(" (format-number conumber "1") ")")))
1054 (make element gi: "B"
1055 (literal "(" (format-number conumber "1") ")")))
1056 (make element gi: "B"
1057 (literal "(??)")))))
1059 </style-specification-body>
1060 </style-specification>
1062 <external-specification id="docbook" document="docbook.dsl">