Updated dbtohtml.dsl -- DSSSL to convert DocBook to HTML

Subject: Updated dbtohtml.dsl -- DSSSL to convert DocBook to HTML
From: Mark Burton <markb@xxxxxxxxxx>
Date: Sat, 21 Nov 1998 22:40:46 GMT
Hello Everyone,

It's been quite a while since I last posted an update to dbtohtml.dsl
(a simple DocBook to HTML converter), so here is the latest
version. It only attempts to handle the subset of DocBook that we use
here and really isn't trying to compete with other, more serious,
efforts. Nonetheless, it does quite a lot of useful stuff like
automatic TOC generation and index building.

I am now generating HTML that uses CSS (I enclose a sample stylesheet)
but it seems almost impossible to produce HTML/CSS that works in both
Netscape and Internet Explorer. So much for standards!  Netscape 4.5
(on Linux) seems to have very patchy CSS support.

If you unearth the bugs or have any comments/improvements please let
me know.

Incidentally, I found the DSSSL digest produced by Henry Thompson
incredibly useful (thanks Henry), it would be great to have an HTML
version of the whole spec. I'm sure Norman Walsh recently posted
something about that. Can you give us an update please Norman?

Regards,

Mark
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
BODY {
  margin-left: 2%;
  margin-right: 2%;
  color: black;
  font-family: "new century schoolbook", serif;
  background: white;
  text-align: justify;
}

DIV.book {
  background: white;
}

H1, H2, H3, H4, H5 {
  font-family: Arial Helvetica, sans-serif;
}

H5.figure {
  text-align: center;  
}

TABLE CAPTION {
  font-family: Arial Helvetica, sans-serif;
  font-weight: bold;
}

A:link {
  color: red
}

A:visited {
  color: blue
}

DIV.chapter,
DIV.navlinks {
  margin-left: 10%;
  margin-right: 10%;
}

HR, 
DIV.chapter H2,
DIV.chapter H3,
DIV.chapter H4,
DIV.chapter H5 {
  margin-left: -5%;
}

HR.thin {
  height: 2
}

HR.fat {
  height: 5
}

DIV.center {
  text-align: center;
}

H1.book {
  margin-top: 2em;
  text-align: left;
}

H1 {
  margin-top: 2em;
  text-align: right;
}

PRE.programlisting,
PRE.literallayout,
PRE.synopsis,
PRE.screen {
  font-family: monospace;
  background: #eee;
  border: thin ridge;
  white-space: pre;
  /* font-size: 90%; */
}

PRE.funcsynopsisinfo {
  font-family: monospace;
  white-space: pre;
}

PRE.plain {
  white-space: pre;
}

IMG {
  border: 0;
}

SPAN.co {
  color: black;
  background: yellow;
}

SPAN.lineannotation {
  color: green;
}

SPAN.token {
  font: small-caps;
}

BLOCKQUOTE.footnote {
  border: thin ridge;
  width: 80%
}
Current Thread