From the comments of the html+tables program: ---------------------------------------------------------------------- html+tables v0.4 written by Brooks Cutter (bcutter@paradyne.com) - creates preformatted text tables from HTML+ Table definitions. This program will parse a HTML+ Document replace HTML+ Tables (...) with preformatted text tables. For more information on the specific details of HTML+ Tables see: http://info.cern.ch/pub/www/dev/htmlplus.dtd http://info.cern.ch/hypertext/WWW/Markup/htmlplus.dtd.txt http://info.cern.ch/hypertext/WWW/Markup/htmlplus.ps This program isn't intended to be used as a gateway - because of the overhead of continually parsing the documents (and the lack of security (ie: checking pathnames)) - but instead documents should be processed once with this program, like: html+tables file.html+ > file.html This program is a temporary measure - Until HTML+ Table support shows up in X/Mosaic, WinMosaic, Lynx, etc... (It should also be useful for anyone who puts together the "HTML to printed book" package) Note on HTML+ Compliance: This program implements most, but not all of the HTML+ table options. Furthermore, certain parts of the spec were vague (or more likely I didn't read all the information out there) such as how to handle wordwrapping. The point is that while I hoped that when HTML+ tables appear in NCSA's X/Mosaic and Win/Mosaic, their behavior may be different then the output of this script.. What it does and doesn't do: - preformatted ascii tables are surrouned with
 and 
- .. is a table without borders - .. is a table with borders - and put the title at the top of the table - puts the table at the bottom - and are table header and table data - but they are treated *EXACTLY* the same. Also none of their options are supported like align=(left,center,right) or rowspan or colspan.. - terminates a row. It isn't necessary right before the tag. - Empty rows are deleted, but empty columns aren't - It ignores CR's in the input stream - presumably the HTML way.. - It will size the tables (and wrap the text in cells) according to the length in $terminal_width - when text is wrapped it attempts to break the lines on a space, a comma - and a period, in that order. If it's a space, it doesn't show up on the next line - the tags ... are supported, but .. and .. aren't because of a bug in the viewers with enhanced preformatted text. - when wordwrapping text with .., if it breaks the text in the middle of the hyperlinked text, the hyperlink is continued to the next line. - Embeds the date the file was converted and the version of html+tables in the output as a HTML/SGML - I think it goes without saying that isn't supported.. (Even if I could find the gif at conversion time to check the size, I don't know what size the preformatted text will be rendered in. Besides, I don't need it...) Known bugs: - table may not be resized to _exactly_ $terminal_width.. - When wrapping occurs in a table cell, after all wrapping is completed there may be more than one space between the longest string in table cell. - May be a few other small bugs with cell formatting Limitations: - a one character wide column requires 5 characters to display: two for horizontal lines, two spaces and 1 character of display. therefore, on a 80 column table the most columns you can have is 16 (80/5) columns. The program will exit with a error message if you exceed $terminal_width/5 columns Changes in v0.4: (first release) - fixed bugs in formatting lines with HTML tags ---------------------------------------------------------------------- Here are some examples of the output of html+tables: ---------------------------------------------------------------------- Table #1: A simple table with a border, title at the top, 3 rows and 4 columns. ---------------------------------------------------------------------- An Example of a Table averageother height width category males1.9.003yyy females1.7.002xxx ----------------------------------------------------------------------
       An Example of a Table
+---------+---------+----------+-----+
|         | average | other    |     |
|---------|---------|----------|-----|
| height  | width   | category |     |
|---------|---------|----------|-----|
| males   | 1.9     | .003     | yyy |
|---------|---------|----------|-----|
| females | 1.7     | .002     | xxx |
+---------+---------+----------+-----+
---------------------------------------------------------------------- Table #2: The same as Table #1 except the title is at the bottom ---------------------------------------------------------------------- An Example of a Table averageother height width category males1.9.003yyy females1.7.002xxx ----------------------------------------------------------------------
+---------+---------+----------+-----+
|         | average | other    |     |
|---------|---------|----------|-----|
| height  | width   | category |     |
|---------|---------|----------|-----|
| males   | 1.9     | .003     | yyy |
|---------|---------|----------|-----|
| females | 1.7     | .002     | xxx |
+---------+---------+----------+-----+
       An Example of a Table
---------------------------------------------------------------------- Table 3: The same as Table #1 but with no border: ---------------------------------------------------------------------- An Example of a Table averageother height width category males1.9.003yyy females1.7.002xxx ----------------------------------------------------------------------
       An Example of a Table
                                      
            average   other           
                                      
  height    width     category        
                                      
  males     1.9       .003       yyy  
                                      
  females   1.7       .002       xxx  
                                      
---------------------------------------------------------------------- Table #4: Same as table 1 but with a long string to demonstrate wrapping ---------------------------------------------------------------------- An Example of a Table with Wrapping averageother height width (This is a number. Numbers, historically have been used for a variety of purposes...) category males1.9.003yyy females1.7.002xxx ----------------------------------------------------------------------
                 An Example of a Table with Wrapping
+---------+--------------------------------------------+----------+-----+
|         | average                                    | other    |     |
|---------|--------------------------------------------|----------|-----|
| height  | width (This is a number.  Numbers,         | category |     |
|         | historically have been used for a variety  |          |     |
|         | of purposes...)                            |          |     |
|---------|--------------------------------------------|----------|-----|
| males   | 1.9                                        | .003     | yyy |
|---------|--------------------------------------------|----------|-----|
| females | 1.7                                        | .002     | xxx |
+---------+--------------------------------------------+----------+-----+
---------------------------------------------------------------------- Table #5: Same as table 1 but with a long string to demonstrate wrapping and tag ---------------------------------------------------------------------- An Example of a Table with Wrapping averageother height width (This is a number. Numbers, historically have been used for a variety of purposes...) category males1.9.003yyy females1.7.002xxx ----------------------------------------------------------------------
                 An Example of a Table with Wrapping
+---------+--------------------------------------------+----------+-----+
|         | average                                    | other    |     |
|---------|--------------------------------------------|----------|-----|
| height  | width (This is a number.  Numbers,         | category |     |
|         | historically have been used for a variety  |          |     |
|         | of purposes...)                            |          |     |
|---------|--------------------------------------------|----------|-----|
| males   | 1.9                                        | .003     | yyy |
|---------|--------------------------------------------|----------|-----|
| females | 1.7                                        | .002     | xxx |
+---------+--------------------------------------------+----------+-----+
---------------------------------------------------------------------- Please send bug reports, comments, etc to bcutter@paradyne.com