Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Jul 1997 18:23:53 -0500 (EST)
From:      John Fieber <jfieber@indiana.edu>
To:        "J. Douglas Dunlop" <dunlop@eol.ists.ca>
Cc:        doc@FreeBSD.ORG
Subject:   DSSSL stylsheets for docbook.
Message-ID:  <Pine.BSF.3.96.970726172930.10362N-100000@fallout.campusview.indiana.edu>
In-Reply-To: <v03110701affddc2fc59c@[207.6.175.40]>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 25 Jul 1997, J. Douglas Dunlop wrote:

> Ok, I downloaded and built jade 0.9. I had tried to build 0.8 before and it
> failed. This time I got it to work. It taxed the limit of my personal
> accounts virtual memory but built fine as root. I was able to process the

Yes, there was a reason I didn't want to bring jade into the
FreeBSD source tree.   :)

> Next, bouyed by my minor success, I downloaded a style sheet 'db070.dsl'
> created for docbook and attempted to process my own docbook document. My
> document has some problems, according to jade, but I was able to output
> rtf, tex and fot. The rtf looked not bad when viewed with MS Word. However,
> when I attempted to output html I got nothing, no html file even. I do get
> a .css file though. Any ideas why?

DSSSL works by creating a flow-object tree from an SGML document. 
Think of flow objects as an abstract typesetting language which
can be easily mapped into real typesetting languages such as TeX,
rtf or groff.

The root of the flow object tree generated by the stylesheet in
question is a "simple-page-sequence", where a "page" is a
rectangular area of fixed size.  Generally, for online
applications the root flow object needs to be a "scroll". 
Specifically, when using "-t html", only content placed inside
scroll flow objects will output into HTML files.

However, using jade's HTML output isn't that useful at this point
because it depends heavily on robust CSS support in the browser,
which doesn't really exist now. 

The other approach to generating HTML with DSSSL is to use the
transformation language part of the DSSSL standard, since docbook
to HTML is effectively a transformation from one DTD to another. 
Alas, jade does not yet support the transformation language.  As
a stopgap measure, jade supports some non-standard flow objects
that can be used in conjunction with the "-t sgml" output format
that can be used for generating HTML. 

I've put a snapshot of my docbook stylsheets--one for print
output and one for HTML output--up at
ftp://fallout.campusview.indiana.edu/pub/sgml/stylesheet-0.1.tar.gz.
Brief instructions are included.

Jon Bosak's docbook stylsheet (db070) has been adopted by Norm
Walsh and can be found in its latest incarnation at
http://www.berkshire.net/~norm/dsssl/. Both Norm's stylsheet and
my stylsheets are definately incomplete, although the areas of
incompleteness differ.  I've been focusing mostly on the HTML
generation and the features needed to get the handbook moved from
linuxdoc to Docbook.  It may ultimately be more practical to drop
my print stylsheet in favor of Norm's.

> Finally, I attempted to process your 'techovr.sgml' file using the same
> 'db070.dsl'. This just generated many 'undefined' errors which I believe
> are due to jade not finding my 2.4.1 dtd. I messed with my catalog a bit
> but didn't get anywhere. I didn't really want to process 2.4.1 anyway...

If you have installed the docbook port (in textproc):

 jade -c /usr/local/share/sgml/docbook/2.4.1/catalog \
	-d db070.dsl -t techovr.sgml

You can also list your catalog files as a colon separated list in
the SGML_CATALOG_FILES environment variable.  Jade, nsgmls,
sgmlnorm and friends all use this.  Another alternative is to
create a file /usr/local/share/sgml/catalog containing pointers
to the catalog files you want to use.  Mine currently looks like: 

CATALOG "transpec/catalog"
CATALOG "html/wilbur/catalog"
CATALOG "html/cougar/catalog"
CATALOG "tei/catalog"
CATALOG "iso8879/catalog"
CATALOG "docbook/2.4.1/catalog"
CATALOG "docbook/3.0/catalog"
CATALOG "jade/catalog"
CATALOG "linuxdoc/catalog"
CATALOG "iso12083/catalog"
CATALOG "JRF/catalog"

One word of warning: some catalog files cannot be used at the
same time.  For example, HTML 2.0 and HTML 3.2 both refer to

  ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML

but the HTML 2.0 version of those entities is different than the
3.2 version.  The Cougar DTD has fixed this little glitch.

Another word of warning: the CATALOG syntax in catalog files is
non-standard.  The version of psgml (super-nifty sgml mode for
emacs) doesn't understand it.  All the SP based tools do.

> BTW, are the options of jade documented anywhere. The documentation on the
> jade home page and that come with jade are incomplete. What is -a link_type?

The port installs all the docs in ${PREFIX}/share/doc/jade.

Link type?  I'll just quote the beginning of the chapter on LINK
in Goldfarb's SGML Handbook (p92): 

  There exists an arcane area of Anglo-American law, called the
  "Rule Against Perpetuities", so complex that a California court
  once found an attorney to be innocent of malpractice on the
  grounds that no lawyer could be expected to understand it.

In short, you probably don't want to know what -a link_type does.
:)

-john




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.970726172930.10362N-100000>