<colspec> (Column Specification) Description .email comment.
Description
This empty element holds a number of attributes that concern a given column of the table grouping grid of cells. It identifies the column it is associated with, gives this column a name, and specifies its width. It may also specify default column and row separating line settings.
Normally, this element contains an "align" attribute (and associated "char" and "charoff") to specify the alignment of all cells in the column associated with this element. But these attributes have been removed to ensure that this information is provided at the cell grouping level (the heading, footnote and body segments).
Note that the CALS model has been modified to ensure or encourage additional Taylor & Francis rules and conventions. On this element, the changes are:
-
the attribute that specifies the column number is now required
-
the attribute that specifies the column name is now required
-
the attribute that specifies the column width is now required
Parent Elements
The elements listed below may directly contain this element. They are "parent" elements. Elements in referenced groups are included, up to two levels of group nesting.
Parent elements: <tgroup>
Model Diagram
The DTD model for this element:
 (no content allowed) 
DTD Definition
The DTD contains the following element and attribute definitions (note that embedded links are to definitions within the DTD page of this guide):
<!ELEMENT colspec                        EMPTY>
<!ATTLIST colspec
                colnum                   NMTOKEN  #REQUIRED 
                colname                  NMTOKEN  #REQUIRED 
                colwidth                 CDATA  #REQUIRED 
                colsep                   NMTOKEN  #IMPLIED 
                rowsep                   NMTOKEN  #IMPLIED 
               %a-group-CommonIDAttrs;>
.
Defined in DTD section Block-level Content : Tables
General Attributes (shared with other elements)
Common Optional ID Attributes (a-group-CommonIDAttrs)
Local Attributes (defined for this element alone)
Attribute: colnum (Column Number)
Description
This specifies the column number that the other attributes on this element apply to. Although this attribute is not required, it is still also necessary to place the elements in the correct order, so giving:
<colspace colnum="1" .../>
<colspace colnum="2" .../>
<colspace colnum="3" .../>
Specification
This attribute is required. It holds a single name token (initial character must be a letter, '_' or ':', and remaining characters must be letters or digits or '_', ':', '-', or '.').
DTD Definition
                colnum                   NMTOKEN  #REQUIRED 
.
Attribute: colname (Column Name)
Description
This attribute gives a name to the column, so that it can be easily referenced by column-spanning cells. It is now required, and should adopt a simple convention such as "col-1", "col-2", "col-3" etc, so that they are easy to generate automatically and obvious to reference. Thus:
<colspace colnum="1" colname="col-1" .../>
<colspace colnum="2" colname="col-2" .../>
<colspace colnum="3" colname="col-3" .../>
Specification
This attribute is required. It holds a single name token (initial character must be a letter, '_' or ':', and remaining characters must be letters or digits or '_', ':', '-', or '.').
DTD Definition
                colname                  NMTOKEN  #REQUIRED 
.
Attribute: colwidth (Column Width)
Description
This attribute is now required. It specifies the width of the given column in one of two ways.
First, the width can be given as a fixed value, preferably in points or millimeters. However, it is preferably to use the second technique, or to convert widths from this approach to the second approach after initial print publishing.
Second, the width can be a proportional value, identified using an asterisk ("*"). A specification of "1*" or just "*" indicates the smallest column width, and when all columns have this value the columns will all be the same width.
<colspace colnum="1" colwidth="1*" .../>
<colspace colnum="2" colwidth="1*" .../>
<colspace colnum="3" colwidth="1*" .../>
   |--------|--------|--------|
   |        |        |        |
But if some columns need to be wider than others, higher values are entered in the relevant column width attributes. A value of "3*" indicates three times the smallest column width. The actual widths are calculated by totalling the unit values ("1*", "3*" and "2*" give a total of 6 units), then dividing the available width by this figure (if the available width is 60mm, then one unit might be 60/6, giving 10mm per unit). Finally, the width of each column is calculated by multiplying the per-unit width by the number of units required (in this case, "1*" becomes 10mm, "3*" becomes 30mm and "2*" becomes 20mm).
<colspace colnum="1" colwidth="1*" .../>
<colspace colnum="2" colwidth="3*" .../>
<colspace colnum="3" colwidth="2*" .../>
   |----|------------|--------|
   |    |            |        |
Finer distinctions between column widths can be made simply by using larger values, so a table with two columns that has the values "2*" and "3* has a second column that is 50% wider than the first (and very large numbers can be used for even finer distinctions).
<colspace colnum="1" colwidth="3*" .../>
<colspace colnum="2" colwidth="4*" .../>
<colspace colnum="3" colwidth="5*" .../>
   |------------|----------------|--------------------|
   |            |                |                    |
Specification
This attribute is required. It has text content.
DTD Definition
                colwidth                 CDATA  #REQUIRED 
.
Attribute: colsep (Column Separator)
Description
This attribute specifies whether or not a line needs to be drawn after the columns ("0" means no, "1" means yes). By default, lines should not be drawn. Values larger than "1" should be treated as if it were "1". This attribute overrides the attribute with the same name in the <tgroup> element.
<colspace colnum="1" .../>
<colspace colnum="2" colsep="1" .../>
<colspace colnum="3" colsep="0" .../>
Note that a line should not be drawn after entries in the final column. The frame attribute is used instead.
Specification
This attribute is not required. It holds a single name token (initial character must be a letter, '_' or ':', and remaining characters must be letters or digits or '_', ':', '-', or '.').
DTD Definition
                colsep                   NMTOKEN  #IMPLIED 
.
Attribute: rowsep (Row Separators)
Description
This attribute specifies whether or not a line needs to be drawn between the rows ("0" means no, "1" means yes). By default, lines should not be drawn. Values larger than "1" should be treated as if it were "1". This attribute overrides the attribute with the same name in the <tgroup> element.
Note that it is hard to justify the purpose of this attribute on this element, as it is unlikely that lines should be drawn under only the part of a row where this column intersects.
Note that a line should not be drawn beneath entries in the final row. The frame attribute is used instead.
Specification
This attribute is not required. It holds a single name token (initial character must be a letter, '_' or ':', and remaining characters must be letters or digits or '_', ':', '-', or '.').
DTD Definition
                rowsep                   NMTOKEN  #IMPLIED 
.