Columns and Column Groups

This specification has been replaced by Mallard 1.1.

Use the col and colgroup elements to specify column grouping for column rules and column shading in tables.


  • The colgroup element contains zero or more col elements. A col element must be empty.

  • The colgroup element can occur in a table element, before any rows or row groups. The col element can occur wherever the colgroup element can occur, or inside a colgroup element.

  • The style attribute on either the colgroup or col element takes a space-separated list of style hints. Processing tools should adjust their behavior according to those style hints they understand.

  • The colgroup and col elements can have attributes from external namespaces. See External Namespaces for more information on external-namespace attributes.


See Examples on the page Tables.

Processing Expectations

Comparison to Other Formats


The formal definition of the Mallard language is maintained in RELAX NG Compact Syntax in code blocks within this specification. This is the formal definition for the col and colgroup elements. The namespace declarations for these definitions are on the page Pages.

mal_table_col = element col {
mal_table_col_attr = (
  attribute style { xsd:NMTOKENS } ?,
  mal_attr_external *
mal_table_colgroup = element colgroup {
  mal_table_col *
mal_table_colgroup_attr = (
  attribute style { xsd:NMTOKENS } ?,
  mal_attr_external *
© 2008-2011 Shaun McCance
cc-by-sa 3.0 (us)

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

As a special exception, the copyright holders give you permission to copy, modify, and distribute the example code contained in this document under the terms of your choosing, without restriction.

Powered by