Chapter 5. The HTML Stylesheet

Table of Contents
Change Log


Writing better documentation for these stylesheets is a background task. If you have any questions that aren't answered here, please feel free to contact me.

HTML Parameters

A brief description of each of the user-configurable settings in the HTML stylesheet.

Library Functions

Reference pages for the library functions in dblib.dsl. (FYI: this is programmer's documentation, not user documentation.)

Change Log

2004-10-10  <>

	* dbhtml.dsl, dbparam.dsl, dbttlpg.dsl: Support for specifying a system ID for the HTML output documents, required
	for better parsing in contemporary browsers.  A default system ID is set
	if %html40% is true.

2004-10-09  <>

	* docbook.dsl: New Bulgarian translation by Viktor Vasilev (SF patch #1040075)

2004-09-23  <>

	* dbprocdr.dsl: Add CSS decoration of procedure steps (RFE #1033197)

2004-09-17  <>

	* docbook.dsl: Bosnian translation by Kemal Skripic

2004-09-14  <>

	* dbinline.dsl: Fix for bug #860398: Change uses of $var-seq$ to something more appropriate.

2004-07-11  <>

	* version.dsl: Closes Bug 912831: the last character of VERSION was being cut off.

2003-05-28  Adam Di Carlo <>

	* dbblock.dsl: HTML attribs for comments variablized for maintenance.

2003-04-29  Adam Di Carlo <>

	* dbcompon.dsl: Finding the subtitle for a component should use the parent title if
	set; this is consistent with how the title is already set;
	closes SF bug 613773.

2003-04-28  Adam Di Carlo <>

	* dbpi.dsl: Ensure dbhtml-findvalue can handle the pi-field-list being a non-pair,
	which may occur in some poorly formed dbhtml PIs; returns #f in this

2003-04-27  Adam Di Carlo <>

	* dbcompon.dsl: Simplify some code, no functional changes

2003-04-26  Adam Di Carlo <>

	* dbcallou.dsl, dbparam.dsl: callout graphics and admonition graphics, if needed, share a single
	variable, %stock-graphics-extension% -- "stock" here referring to
	standard, stock images, e.g., not per document images; this closes
	Debian Bug#187429

2003-04-12  Adam Di Carlo <>

	* dbadmon.dsl: VALIGN should be MIDDLE, not CENTER; closes Debian Bug#187569

2003-04-05  Adam Di Carlo <>

	* dblists.dsl: back out my last change; there are 4 places taht use this and until I
	understand how varlistentry-term-too-long? is supposed to work at all
	I better not mess with it

	* dblists.dsl: termlength in varlist is measurement-to-length, not string->number

2003-03-25  Adam Di Carlo <>

	* db31.dsl, dbblock.dsl, dbcompon.dsl, dbgraph.dsl, dbqanda.dsl, dbsect.dsl, docbook.dsl: 
	move data from db31 into its proper component files

2003-03-21  Adam Di Carlo <>

	* Makefile: Don't hardcode DSSSL file list, use $(wildcard *.dsl); clean is cleaner

2003-02-12  Adam Di Carlo <>

	* db31.dsl, dbhtml.dsl, dbinline.dsl, dbttlpg.dsl: Deprecate TT; use CODE, KBD, SAMP, or VAR instead.
	acronym make's use of HTML4's ACRONYM element if %html40%
	abbrev make's use of HTML4's ABBR element if %html40%

	* dbparam.dsl: Emit a HTML 4.0.1 doctype by default if %html40%, this seems like a
	good idea.
	Update %spacing-paras% and %html40% docs a bit, without changing their

2003-02-11  Adam Di Carlo <>

	* dbtable.dsl: If %html40%, create col elements representing colspecs (implied or
	explicit), and don't emit widths on each and every cell.
	If %html40%, set the tbody valign properly.
	If %html40%, allow relative column sizes such as "1*", thus we're not
	emitting 50% when we mean 1* (out of 1*, 1*); the effect is that we're
	not forcing pgwide if it's not turned on.
	Don't set valign on entries, set them on rows (unless they really are
	set on the entries).
	Some rewriting for speed/efficiency (doens't seem to make much
	difference in my timing testing though)

2003-02-09  Adam Di Carlo <>

	* dbtable.dsl: Improve table rendering using frame and border attributes on HTML
	tables, conditional on HTML4 support being on.
	The following cases in table.006.xml are now fixed: outer edit (table
	frame but no rowsep nor colseps); rows (frame is topbot, rowsep but no
	colsep); columns; tic tac toc (no frame, colsep and rowsep).
	Note we still have no way (yet) to override colsep/rowsep in either
	colspec or in the individual rows, but I'm working on colspec ->

2003-02-07  Adam Di Carlo <>

	* dbblock.dsl: move the anchor closer to the content in informal-objects; no way to
	get around empty A element in this case

	* dbsect.dsl, dbttlpg.dsl: "<a></a>title" changes to "<a>title</a>" -- weblint says we should
	avoid empty A elements

	* dbtable.dsl: fix a div-by-zero error identified in informaltable.015.xml; would
	cause loss of a table header column in some cases

2003-01-21  Adam Di Carlo <>

	* dbblock.dsl: formal and informal objects reset the processing mode, this closes
	Debian#79432f; so <bookinfo><productname> is still in special mode,
	but <bookinfo><legalnotice><productname> is not; test is legalnotice.001.xml

2003-01-20  Adam Di Carlo <>

	* dbgraph.dsl: correct this error: html/dbgraph.dsl:68:1:E: 1st argument for
	primitive "append" of wrong type: "#<unknown object 146207544>" not a
	list, fix and report from Christopher B. Browne

2003-01-15  Adam Di Carlo <>

	* dbadmon.dsl, dbautoc.dsl, dbbibl.dsl, dbblock.dsl, dbcallou.dsl, dbcompon.dsl, dbdivis.dsl, dbefsyn.dsl, dbfootn.dsl, dbgloss.dsl, dbgraph.dsl, dbhtml.dsl, dbindex.dsl, dbinfo.dsl, dbinline.dsl, dblink.dsl, dblists.dsl, dblot.dsl, dbmath.dsl, dbmsgset.dsl, dbprocdr.dsl, dbrfntry.dsl, dbsect.dsl, dbsynop.dsl, dbtable.dsl, dbtitle.dsl, dbttlpg.dsl, dbverb.dsl, docbook.dsl: 
	update docbook URL to;
	N.B.: credit for the group option and repeating goes to John Daily

	* dblink.dsl: xref to varlistentry using the term, patch from Jens Emmerich; closes
	bug 520561

	* dbsynop.dsl: Patch #562401 <group choice="opt" rep="repeat">, elipsis should be
	outside of group, reference test cmdsynopsis.003

2003-01-14  Adam Di Carlo <>

	* dbblock.dsl: define a $remark$ function, unifying comment and remark element
	rendering; remarks within paras are now rendering using a span rather
	than p so they mark up as inline text decoration

2002-12-16  Adam Di Carlo <>

	* dbblock.dsl, dbparam.dsl: %epigraph-start-col% and %epigraph-content-col% allows customization
	of epigraph positioning; %blockquote-start-col% and
	%blockquote-end-col% parameters allows customization of the whitespace
	around blockquote

2002-06-09  Norman Walsh <>

	* dbbibl.dsl, dbttlpg.dsl: Fix bug #502337: remove 'by' from copyright statements

2002-05-21  Norman Walsh <>

	* dbttlpg.dsl: Make sure email addresses in info elements are links

2002-05-12  Norman Walsh <>

	* dbttlpg.dsl: Bug #494693: bad formalpara formatting on title pages

	* dbverb.dsl: Bugs #429663 and #474328 fixed (allow external linespecific content to be indented and numbered). Eight bit or unicode external linespecific content may be problematic though.

2002-05-09  Norman Walsh <>

	* dbgraph.dsl: Bug #448732: make image-library work with imagedata

	* dblink.dsl: Allow xref to refnamediv

2002-05-06  Norman Walsh <>

	* dbbibl.dsl: Fix broken style attribute on biblioentries

2002-04-29  Norman Walsh <>

	* dbefsyn.dsl: Format synopsis elements correctly outside of classsynopsis

2002-04-21  Norman Walsh <>

	* db31.dsl, dbadmon.dsl, dbblock.dsl, dbcompon.dsl, dbdivis.dsl, dbgloss.dsl, dbindex.dsl, dblists.dsl, dbrfntry.dsl, dbsect.dsl, dbtable.dsl, dbttlpg.dsl: 
	Make sure named anchors are closed

2002-03-24  Adam Di Carlo <>

	* Makefile: add a clean rule here

2002-03-21  Norman Walsh <>

	* dbfootn.dsl: Fix footnote bugs (Adam, please double-check)

2002-03-20  Norman Walsh <>

	* dbefsyn.dsl: Support freestanding {method,field,constructor,destructor}synopsis

2002-03-16  Adam Di Carlo <>

	* dbfootn.dsl: footnotes go in a CSS class "footnote"; reduce code, additional modularity -- to change footnote rendering,
	   you just have to provide a different "$footnote-literal$" procedure

2002-02-22  Norman Walsh <>

	* dblink.dsl: Add element-page-number-sosofo back in; always produce "???"

2002-02-20  Norman Walsh <>

	* dblink.dsl: Remove bogus page-number rules

2002-01-03  Norman Walsh <>

	* dbindex.dsl: Wrap DIVs around index lists

2001-12-06  Norman Walsh <>

	* db31.dsl, dbadmon.dsl, dbblock.dsl, dbcompon.dsl, dbdivis.dsl, dbgloss.dsl, dbindex.dsl, dblists.dsl, dbrfntry.dsl, dbsect.dsl, dbttlpg.dsl: 
	Make anchors empty so that they don't imply style for the things they wrap

2001-12-01  Norman Walsh <>

	* docbook.dsl: Bug #462406 legalnotice-link breaks HTML manifest

2001-11-30  Norman Walsh <>

	* dbsect.dsl: Patch #473116: Section levels

2001-11-18  Norman Walsh <>

	* dbparam.dsl: Bug #482355: use legalnotice id when use-id-as-filename is true

2001-11-14  Norman Walsh <>

	* docbook.dsl: Added Basque, Nynorsk, Ukranian, and Xhosa

2001-11-03  Norman Walsh <>

	* dbinline.dsl: Support pubwork=article on citetitle

2001-10-13  Jirka Kosek <>

	* dbinline.dsl: Fixed bug #470840 - added support for methodname.

2001-10-01  Norman Walsh <>

	* dbverb.dsl: Support linenumbering attribute on verbatim environments

2001-09-29  Norman Walsh <>

	* dbcallou.dsl: Bug #449494: make callouts work even if they appear on the last line of a verbatim environment

2001-09-23  Norman Walsh <>

	* db31.dsl: ImageData should use the image function from dbgraph.dsl

	* dbgraph.dsl: Patch #421990: support width and depth attributes on graphics

	* dbverb.dsl: Patch #461901, make %fix-para-wrappers% affect verbatim

2001-09-18  Nik Clayton <>

	* dbcompon.dsl, dbparam.dsl: Add $generate-article-lot-list$, initially empty, which controls what
	whether or not a list of titles is generated for articles.
	Currently HTML only.

2001-08-30  Norman Walsh <>

	* db31.dsl: Fix XML/SGML discrepancy wrt normalization of notation names; move some common stuff into dbcommon

2001-08-25  Norman Walsh <>

	* dbinline.dsl: Fix erroneous literals

	* dbsect.dsl: Bug #451005: no id anchor for bridgehead

2001-08-06  Norman Walsh <>

	* dbinline.dsl, dbparam.dsl: Support 'bold' and 'strong' roles on emphasis in the expected way, added %{emphasis,phrase}-propagates-style% parameters

2001-07-05  Norman Walsh <>

	* dbautoc.dsl, dbhtml.dsl: Patch #420730, use dingbat-sosofo instead of literal to create emdash

	* dbnavig.dsl: Patch #418401, add accesskey attributes to HTML navigation

	* dbparam.dsl: Patch #420012, Add colon to content-title-end-punct

2001-07-04  <>

	* docbook.dsl: Added Afrikaans and Turkish

2001-05-11  Norman Walsh <>

	* docbook.dsl: Support Serbian and Traditional Chinese

2001-05-04  Norman Walsh <>

	* dbprocdr.dsl: Support links to procedures and steps

2001-05-03  Jirka Kosek <>

	* dbinline.dsl: Attributes marked up by <sgmltag> are now in monospace (same as in XSL and print DSSSL).

2001-04-21  Norman Walsh <>

	* dbblock.dsl: Output anchors for formalparas with IDs

	* dbinline.dsl: Bug #417697: workaround Netscape limitation with trade named entity.

2001-04-20  Norman Walsh <>

	* dbbibl.dsl: Make sure anchors are produced for bibliomixed elements

2001-04-18  Norman Walsh <>

	* dbinline.dsl, dbparam.dsl: Bug #413982, easy support for man page CGI links on citerefentry

2001-04-16  Norman Walsh <>

	* dbnavig.dsl: Added summary attribute to navigation tables

2001-04-04  Norman Walsh <>

	* Makefile: New file.

2001-04-03  Norman Walsh <>

	* db31.dsl: Fix bug 412548, allow WMF in media objects

2001-04-02  Norman Walsh <>

	* .cvsignore, catalog, db31.dsl, dbadmon.dsl, dbautoc.dsl, dbbibl.dsl, dbblock.dsl, dbcallou.dsl, dbchunk.dsl, dbcompon.dsl, dbdivis.dsl, dbefsyn.dsl, dbfootn.dsl, dbgloss.dsl, dbgraph.dsl, dbhtml.dsl, dbindex.dsl, dbinfo.dsl, dbinline.dsl, dblink.dsl, dblists.dsl, dblot.dsl, dbmath.dsl, dbmsgset.dsl, dbnavig.dsl, dbparam.dsl, dbpi.dsl, dbprocdr.dsl, dbrfntry.dsl, dbsect.dsl, dbsynop.dsl, dbtable.dsl, dbtitle.dsl, dbttlpg.dsl, dbverb.dsl, docbook.dsl, version.dsl: 
	New file.