TechWhirl (TECHWR-L) is a resource for technical writing and technical communications professionals of all experience levels and in all industries to share their experiences and acquire information.
For two decades, technical communicators have turned to TechWhirl to ask and answer questions about the always-changing world of technical communications, such as tools, skills, career paths, methodologies, and emerging industries. The TechWhirl Archives and magazine, created for, by and about technical writers, offer a wealth of knowledge to everyone with an interest in any aspect of technical communications.
Subject:Re: Creating books on the fly from a database? From:Chet Ensign <censign -at- INTERSERV -dot- COM> Date:Wed, 9 Oct 1996 06:40:34 -0700
We have done a couple of projects in this vein. Both are based on using
SGML/HTML. To be able to do the sort of thing you are describing, you have to
have rigorously accurate structure in your documents, at least down to the
level of the reusable components, and the approach taken by SGML is one way to
One example is a database of semiconductor documents -- data sheets,
application notes and the like. The document components are decomposed down to
the division level and stored in a database, along with fields of information
defining the document type (data sheet, data book, white paper, etc.), the
product family (ASIC, communications products, etc.) and other types of
information. The Web server front end uses the text along with those
associated fields of information to select what documents, or portions of
documents, are presented to the reader at any point in time.
The other project uses templates to assemble HTML documents on the fly and
send the document back to the reader. Some of these are educational pieces,
others are reports. They all draw fragments of HTML and other content from
several sources on the site.
This one uses a lot of extensions on the standard HTML set. For example,
<program> elements are used to indicate to the assembler program when it needs
to execute a given program and put the results into the output stream. We also
use entity references to identify information that changes from one reader to
the next. For example, if readers from different companies have different plan
managers that they should go to for information, we don't enter the plan
manager's name on different copies of the HTML page. We use the entity
&plan.manager; in the HTML files and then resolve them differently for each
So it can be done. And it is certainly worth doing. But I don't know of any
shrink-wrapped packages that will do it automatically for you. You should
expect to invest a fair chunk of time and energy in the project.