I have, so far, kept silent on future direction for groff, since my own use for groff is probably very rare, so my opinion should not carry much weight. I use groff as a typesetting engine called from a front end which produces a troff file which is then passed to groff to produce output. The troff file uses just the basic troff commands, no macro calls. For this reason I am only interested in the presentation side of the argument.
I completely agree with the separation of style content and logic, but I do this in the front end rather than in the troff file. The front end is designed to produce high quality custom reports, the sort of thing you receive from your bank showing performance of investments or pension pot, so every report is different for each person because the investments are different, and potentially this report may go to thousands of customers, each one different. There are many packages in the report production arena, and I know of many large companies who have discovered that they do not scale well to large volumes, whereas groff has a linear speed based on the size of the troff file. The front end I have written, which sits in front of groff, takes 3 types of information:- A csv type file, this is the content, i.e. the data which will appear in the report, A template file which specifies the style of the report, and A program file which is my own report definition language, which supplies the logic for moving the content to the template. The template file has similarities to a css file (this was developed before css came out as a standard), plus a bit of a little known desktop publishing program for the Acorn Archimedes (Ovation) in the late 80s. The program file would look quite familiar to anyone who knows "filetab" (RPL-3 on IBM). This is a decision table based language. (http://en.wikipedia.org/wiki/Filetab These three elements are combined to produce a troff file which is then run through groff. Since this system is purely intended to produce files for printing (pdf or postscript) or viewing (pdf locked to prevent editing). There is no semantic markup required, all I want is a fast engine which handles the typography. If you are interested in looking at an example of a single page produced by the front end system using groff there is an example in the tar archive at:- http://chuzzlewit.co.uk/Example.tgz Deri
