From owner-freebsd-doc Sat Jul 26 16:24:11 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id QAA25169 for doc-outgoing; Sat, 26 Jul 1997 16:24:11 -0700 (PDT) Received: from fallout.campusview.indiana.edu (fallout.campusview.indiana.edu [149.159.1.1]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id QAA25164 for ; Sat, 26 Jul 1997 16:24:07 -0700 (PDT) Received: from localhost (jfieber@localhost) by fallout.campusview.indiana.edu (8.8.5/8.8.5) with SMTP id SAA22402; Sat, 26 Jul 1997 18:23:53 -0500 (EST) Date: Sat, 26 Jul 1997 18:23:53 -0500 (EST) From: John Fieber Reply-To: John Fieber To: "J. Douglas Dunlop" cc: doc@FreeBSD.ORG Subject: DSSSL stylsheets for docbook. In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-doc@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk 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