Chapter 5. The HTML Stylesheet

Table of Contents
Documentation
Change Log

Documentation

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.sgm. (FYI: this is programmer's documentation, not user documentation.)

Change Log

1998-11-19  Norman Walsh  <ndw@nwalsh.com>

	* dbhtml.dsl, dbindex.dsl, dbnavig.dsl, dbttlpg.dsl, docbook.dsl:
	Added support for writing output to a location other than the current directory.

	* version.dsl: Removed version number; see ChangeLog for lib/dblib.dsl

	* dbindex.dsl:
	Tinkered with the indexing code in order to support indexing
	in the print backends.

	* dbgraph.dsl:
	Added support for an image library containing additional info
	about a graphic (including things like width, height, and
	ALT text).

	* dbparam.dsl:
	Added image-library and image-library-filename. See docs.

	* dbnavig.dsl: Fixed an indent.
	(in the source, not the output)

	* dblink.dsl: Added support for TYPE=HREF on OLINK.  If TYPE=HREF then
	the linked document must be in the same directory and the
	link will use the HREF from the *.olink file (generated
	by the olink.dsl stylesheet).

	(This allows OLINK to be used without a CGI script for
	documents in the same directory.)

	* dbcompon.dsl: Added a DIV around components.

	* dbttlpg.dsl:
	Added a DIV around titlepages.  Added support for ORGNAME
	and PRODUCTNUMBER on BOOK titlepages.  Added support for
	ABSTRACTs with a TITLE.

	* dbsect.dsl: Added a DIV with a CLASS around sections.

	* dbhtml.dsl: Added named anchors to block-containers.

	* dbblock.dsl: An ABSTRACT can have a title; so it's not a block,
	it's a semiformal-object.

	* dbsynop.dsl: The SEPCHAR wasn't handled correctly when the synopsis
	contained a mixture of ARGs and GROUPs.

	* dbadmon.dsl: Added DIVs with appropriate CLASS attributes
	around all admonitions

1998-11-05  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.23 released.

	* dbsynop.dsl:
	Calculation of the inter-ARGument/inter-GROUP SEPCHAR was all
	wrong, but no one noticed because it's usually a space.

	Multiple COMMANDs in the same CMDSYNOPSIS are separated by
	a newline.

	* dbnavig.dsl: Fixed a couple of small bugs in the calculation of
	nav-context.

1998-11-03  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.22 released.

	* dbnavig.dsl: Fixed bug in non-table footer navigation.

	* dbnavig.dsl:
	Changed naming of section-level files.  Since I've switched
	to all-element-number, there's no benefit in the chapter
	prefix.

	* dblink.dsl: Fixed callout XREF

	* dbindex.dsl: Fixed so that legal HTML is generated

	* dbparam.dsl: Added my own version of the HTML dtd to dtds/html,
	changed the declaration appropriately.

	Turned off %fix-para-wrappers%; it's an ugly hack.
	The new DTD allows blocks to be nested.

1998-11-03  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.22 released.

	* dbnavig.dsl:
	Changed naming of section-level files.  Since I've switched
	to all-element-number, there's no benefit in the chapter
	prefix.

	* dblink.dsl: Fixed callout XREF

	* dbindex.dsl: Fixed so that legal HTML is generated

	* dbparam.dsl: Added my own version of the HTML dtd to dtds/html,
	changed the declaration appropriately.

	Turned off %fix-para-wrappers%; it's an ugly hack.
	The new DTD allows blocks to be nested.

1998-11-02  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.21 created (not for release, just
	to checkpoint another project).

	* docbook.dsl: Refer to dblib.dsl by public ID instead of system ID

1998-11-01  Norman Walsh  <ndw@nwalsh.com>

	* dbblock.dsl: Added support for ($object-titles-after$).

	* dbparam.dsl: Added ($object-titles-after$). Returns a list of
	elements. The titles of elements in that list
	appear below the objects instead of above them.

	* dblink.dsl: Support XREF to CO.

	* dbbibl.dsl: Include 'bookbiblio' in the list of elements that
	should be ignored in 'biblioentry'.

1998-10-31  Norman Walsh  <ndw@nwalsh.com>

	* dbautoc.dsl: Added support for annotated TOCs.  (A TOC of REFENTRYs
	can include the REFPURPOSEs.)

	* dbparam.dsl: Added %annotate-toc%

	* dbblock.dsl: Improved formatting of epigraphs.

1998-10-30  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.20 released.

	* docbook.dsl: Added Danish and Swedish

	* dbindex.dsl: Generate correct HREF on INDEXTERM

	* dbl1dk.dsl, dbl1svse.dsl: New file.

	* dbl1ru.dsl: Updates by Ilia Kouznetsov

1998-10-22  Norman Walsh  <ndw@nwalsh.com>

	* docbook.dsl: Added support for HTML index data.

	* dbparam.dsl: Added html-index and html-index-filename.  If html-index
	is true, then index data will be written to the file
	identified by html-index-filename.  The html-index variable
	is #f by default, but can be turned on with -V.

	Changed %html-manifest% to html-manifest and added
	html-manifest-filename.  This allows the -V option
	to control creation of a manifest.  html-manifest
	is #f by default, where %html-manifest% was #t.

	* dbindex.dsl:
	Added support for writing index data to an external file.
	This index data can then be collated into a proper index
	using bin/indexcollate.pl.  This only works for the HTML
	backend!

1998-10-19  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.19 is released.

	* docbook.dsl: Added support for Spanish, Italian, Dutch
	and Portuguese.

	* dbtable.dsl: Added support for ENTRYTBL.  They're simply formatted as
	nested HTML tables.

	* dbsect.dsl:
	Improved $section-separator$ to avoid the occasional appearance
	of two in a row.

	* dbparam.dsl: Added %default-quadding% and %fix-para-wrappers%

	* dbnavig.dsl: Added support for a new PI.  Instead of using
	<?html-filename ...>, <?html-dir ...>, etc., the
	stylesheets now expect a single PI:

	  <?dbhtml filename="..." dir="..."
	           prefix="..." basename="...">

	Prefix is placed in front of the generated filename.

	* dblot.dsl: Suppress LOT elements.

	* dblists.dsl: Added support for continued ordered lists.

	* dblink.dsl: Removed extraneous ']' from error message.

	* dbinline.dsl: Email addresses are now formatted with mailto: links.

	Added support for SEQ and SIMUL actions on KEYCOMBO.

	* dbhtml.dsl:
	Added a hack to attempt to "unwrap" paras around block elements.
	See %fix-para-wrappers%.

	The stylesheets now output a file for any level of hierarchy.
	(In other words, formatting elements below a sect1 doesn't send
	the output to stdout anymore.)

	Added support for %default-quadding% on paragraphs.  This may
	need to be applied to other paras in the stylesheet, but it's a
	start.

	* dbl10n.dsl, dbl1bmno.dsl, dbl1es.dsl, dbl1fr.dsl, dbl1it.dsl, dbl1nl.dsl, dbl1pl.dsl, dbl1pt.dsl, dbl1ru.dsl:
	-Reworked localizations; added support for Spanish, Italian, Dutch, and Portuguese.

	* dbadmon.dsl: Added spacing-paras hack around admonition tables

1998-09-18  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.18 released (really!).

	* dbl1usen.dsl: Removed some test code.

	* dbparam.dsl: Added %root-filename%, the filename to use
	for the root document.

	Added %author-othername-in-middle%.

	Made %shade-verbatim-attr% into a function
	($shade-verbatim-attr$) because it now
	calls a function that requires (current-node)

	* dbnavig.dsl: Added support for %root-filename%

	* dbfootn.dsl: Fixed bug in end-of-page footnotes. The end of
	page footnotes for a CHAPTER included all of
	the footnotes, not just the ones for the current
	chunk.

	* dbverb.dsl, dbcallou.dsl:
	Made %shade-verbatim-attr% into $shade-verbatim-attr$
	function because it now calls ($table-width$)

	* dbl1dege.dsl, dbl1usen.dsl:
	Added support for translation entity file.

1998-09-17  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.17 released.

	* docbook.dsl: Added the preserve-sdata? characteristic. This
	means that SDATA entities will not be translated
	into 8bit characters.  This is good and bad.
	Mostly good, I think.  The 8bit characters
	sometimes caused tools to barf on the resulting
	documents as not being UTF-8. And they are charset
	dependent.  The bad is that some browsers won't
	display the right thing for some entities.

	You can work around this by adding a set of entity
	declarations to your source before converting to
	HTML that define the entities in question as
	general entities:

	<!ENTITY ldquo '"'>
	<!ENTITY rdquo '"'>
	<!ENTITY nbsp ' '>
	...

	* dbindex.dsl: Replaced bogus use of (process-first-descendant) with
	(element-title-string).

	Fixed index processing.  Only create one DL for the index
	(instead of one per INDEXENTRY which was a known bug).
	Handle multiple *IE elements at the same level in the same
	INDEXENTRY.  Support ID/IDREF in the index.  Caveat: if
	a SEEALSOIE has multiple linkends, only the first ID is
	used for the link.

	* dbtitle.dsl: In head-title-mode, replaced (element title) with
	(default).  No markup should occur in the TITLE
	for an HTML page.

	* dbsect.dsl, dbrfntry.dsl, dbgloss.dsl, dbcompon.dsl:
	Replaced bogus use of (process-first-descendant) with
	(element-title-string).

1998-09-16  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.16 released

	* dbttlpg.dsl: Fixed bug in printing of REFERENCE titlepage

	* version.dsl: Version 1.15 released

	* version.dsl: Removed SGML change log

	* OldChangelog.sgm: New file.

	* dbttlpg.dsl: Fixed REFERENCE numbering.

	* dbtable.dsl: Fixed bug in table width coding

	* dbnavig.dsl: Added support for user navigation hooks

	* dbhtml.dsl:
	Added $user-header-navigation$ and $user-footer-navigation$
	hooks for adding additional navigation info.

	* dbadmon.dsl: Added ALT to admonition graphics

1998-09-14  Norman Walsh  <ndw@nwalsh.com>

	* dbparam.dsl: Added $table-width$ to calculate the width of
	"100%" wide tables

	Added support for %admon-graphics%.  With
	%admon-graphics%, admonitions use an icon
	and have more consistent formatting.

	* dbtable.dsl: Changed "100%" into ($table-width$)

	Changed method for selecting rows. New method is
	more robust for the case where the table code
	is used with another DTD that allows more
	elements than just ROW in the TBODY.

	* dbnavig.dsl: Removed extraneous "WIDTH" attribute

	* dbbibl.dsl: Changed "100%" into ($table-width$)

	* dbadmon.dsl: Added support for %admon-graphics%
	Changed "100%" to ($table-width$)

	* dbl1pl.dsl: Changed English words to Polish.

1998-09-11  Norman Walsh  <ndw@nwalsh.com>

	* dbttlpg.dsl: Print BOOK ABSTRACTs on title pages

	* dbnavig.dsl: Added support for end-of-page footnotes

	* dblists.dsl, dbhtml.dsl: Added support for end-of-page footnotes.

	* dbfootn.dsl: Added support for end-of-page footnotes

	* dbparam.dsl:
	Added %footnotes-at-end%, to produce footnotes at the end
	of a page instead of after each footnote.  Beware interaction
	with (footer-navigation)

	* dblink.dsl: Normalize (usually uppercase) OLink fragment identifiers

	* dbadmon.dsl: Output IDs, if specified, so that a LINK to an
	admonition works.

1998-09-10  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.14 releasd.

	* dbparam.dsl: Added %olink-sysid%
	Fixed some documentation bugs

	* dblink.dsl:
	Improved OLINK support.  Report errors with (error) instead
	of (literal)

	* dbgraph.dsl: Filenames derived from ENTITYREFs no longer broken.

	* dbttlpg.dsl: Improved formatting of AUTHOR AFFILIATIONs.
	Added a number of elements to the REFERENCE titlepage.

1998-09-08  Norman Walsh  <ndw@nwalsh.com>

	* dbsect.dsl: Added class attributes to section headers

	* dbparam.dsl: Added parameters for OLink support

	* dblink.dsl: Added support for OLink.  Documented at
	http://nwalsh.com/cgi-bin/olink?pubid=-//Norman Walsh//DOCUMENT OLink Support V1.0//EN

	* dbhtml.dsl: Handle backwards incompatible change to element-title

1998-09-04  Norman Walsh  <ndw@nwalsh.com>

	* dblink.dsl: Added rudimentary support for OLINKs

	* dbparam.dsl: Added biblio-number

	* dblink.dsl: Support for bibliography numbering

	* dbbibl.dsl:
	Support for numbered bibliography entries.  N.B. no attempt
	is made to support automatic enumeration of citations, only
	xrefs.

1998-09-03  Norman Walsh  <ndw@nwalsh.com>

	* dbblock.dsl: Use $runinhead$ for FORMALPARAs

	* dbparam.dsl:
	Added %default-title-end-punct% and %content-title-end-punct%

	* dbtitle.dsl: Check for ending punctuation in $runinhead$

	* docbook.dsl: Added support for Polish

	* dbparam.dsl: Added biblio-citation-check and biblio-filter-used

	* dblink.dsl: Handle xref to bibliography entries

	* dbl1pl.dsl: New file.

	* dbl1fr.dsl:
	Added navigation components, in ENGLISH.  Anyone know the appropriate
	French?

	* dbl10n.dsl: Added support for Polish

	* dbinline.dsl:
	Added support for citation reference checking and citation linking.

	* dbgraph.dsl: Moved $include$ to include-file in dblib.dsl

	* dbbibl.dsl:
	Added support for bibliography filtering.  Added use of XREFLABEL
	as citation string if ABBREV isn't present.

1998-09-02  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.13 released

	* docbook.dsl:
	Added external-procedure declaration for read-entity; used by dbgraph.dsl

	* dbtable.dsl, dbparam.dsl: Added %cals-table-class%

	* dbttlpg.dsl:
	Added empty ALT attributes to graphics on the title page.  (Working
	towards better conformance with HTML DTDs.)

	* dbnavig.dsl: Added support for SETINDEX

	* dbgraph.dsl:
	Reorganized code. Added support for sourcing of external text documents.
	If FORMAT is LINESPECIFIC, the content of the named file is inserted
	literally into the document (via read-entity and literal)

1998-08-28  Norman Walsh  <ndw@nwalsh.com>

	* version.dsl: Version 1.12 released

	* dbttlpg.dsl:
	The %legalnotice-link% case hadn't been updated to the new
	header processing scheme.

	* dbtable.dsl: Fixed bug in handling of short rows.  Use of MOREROWS in
	preceding rows was not being considered.

	* dbhtml.dsl: Pass home, up, prev, and next to $user-html-header$

1998-08-22  Norman Walsh  <ndw@nwalsh.com>

	* dblink.dsl:
	Added TARGET="_top" to A tags created by ULINK.  This makes them break
	out of frames, if they're being used.