CALS Table Model
The CALS Table Model is a standard for representing tables in SGML/XML. It was developed as part of the CALS DOD initiative.
History and Rationale
The CALS Table Model was developed by the CALS Industry Steering Group Electronic Publishing Committee (EPC).
The EPC subcommittee, of which Harvey Bingham was co-chair and a major contributor, designed the CALS Table Model in 1989-1990. The EPC was made up of industry and military service representatives. Some represented traditional military document printing agencies. Others represented electronic publishing organizations. SGML itself was new. At that time, the CALS intent for all their technical manuals was to use that DTD to achieve system-neutral interchange of content and structure.
Its basis was a minimal description and example of a table from the prior Mil-M-38784B specification for producing technical manuals. The incomplete specification of the semantics associated with the table model allowed too much freedom for vendor interpretation, and resulted in problems with interchange. SGML-Open (now OASIS) surveyed the implementing vendors to identify differences, as the initial step toward reaching a common interpretation. The next step was an updated CALS Table Model DTD and semantics. Both are now available from OASIS.[1]
As implementations of the CALS Table Model were developed, a number of ambiguities and omissions were detected and reported to the EPC committee. The differences in interpretation had led to serious interoperability problems. To resolve these differences, OASIS identified a subset of the full CALS table model that had a high probability of successful interoperability among the OASIS vendor products. This subset is the Exchange Table Model DTD.[2]
Simple example
Source code for a simple CALS table. Note that this fairly structured definition includes title, head, body; note also how columns are given names to implement colspan and [can be] given relative widths.
<table> <title>Table title</title> <tgroup cols="3"> <colspec colname="_1" colwidth="1*"/> <colspec colname="_2" colwidth="3*"/> <colspec colname="_3" colwidth="2*"/> <colspec colname="_4" colwidth="4*"/> <thead> <row> <entry>1st cell in table heading</entry> <entry>2nd cell in table heading</entry> <entry>3rd cell in table heading</entry> </row> <row> <entry>1st cell in table heading</entry> <entry>2nd cell in table heading</entry> <entry>3rd cell in table heading</entry> </row> </thead> <tbody> <row> <entry>1st cell in row 1 of table body</entry> <entry>2nd cell in row 1 of table body</entry> <entry>3rd cell in row 1 of table body</entry> </row> <row> <entry nameend="_2" namest="_1">cell spanning two columns</entry> <entry morerows="1">cell spanning two rows</entry> </row> <row> <entry>1st cell in row 3 of table body</entry> <entry>2nd cell in row 3 of table body</entry> </row> </tbody> </tgroup> </table>
Approximate equivalent/rendering of the same CALS table in basic html.
1st cell in table heading | 2nd cell in table heading | 3rd cell in table heading |
---|---|---|
1st cell in row 1 of table body | 2nd cell in row 1 of table body | 3rd cell in row 1 of table body |
cell spanning two columns | cell spanning two rows | |
1st cell in row 3 of table body | 2nd cell in row 3 of table body |
See also
OASIS is the Organization for the Advancement of Structured Information Standards, a global consortium that develops data representation standards for use in computer software.
Footnotes
External links
- OASIS table models
- CALS Table Model History by Harvey Bingham
- OASIS official website