TopLeaf can render tables that use standard CALS markup. The <simpletable> element needs to be converted into CALS markup in order to render correctly. The default action of the pre-processing is to convert any element that inherits from simpletable into an equivalent CALS table.

Since CALS does not allow empty rows, any <strow> that does not contain at least one <stentry> will be ignored.

The topleaf.simpletable.tagnames property can be used to control which simpletable elements are converted. It should be set to a space-separated list of names. Only elements with tag names that occur in the list will be converted. If the property value starts with “!” the list contains names to be ignored; all elements with tag names that are not in the list will be converted.

If the simpletable contains a relcolwidth attribute this is used to determine the column widths. Otherwise, the pre-processor examines the content of the table to calculate column widths. The calculation depends on both the longest word in each column, and the largest total length of a cell in the column. A weighting factor is applied to each of these two values. You can adjust the factors using the following properties if the default values do not produce acceptable results. If both factors are set to zero all columns will be assigned equal widths.


The weighting factor for the longest word. The default value is 1.0.


The weighting factor for the total cell length. The default value is 0.25.

Some attributes of the generated CALS table can be controlled by the properties below. Use a value of omit to suppress the attribute.

Attribute Property Default Value
frame topleaf.simpletable.frame all
rowsep topleaf.simpletable.rowsep 1
colsep topleaf.simpletable.colsep 1

See also CALS table processing.