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.

Table title
1st cell in table heading2nd cell in table heading3rd cell in table heading
1st cell in row 1 of table body2nd cell in row 1 of table body3rd cell in row 1 of table body
cell spanning two columnscell spanning two rows
1st cell in row 3 of table body2nd 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

  1. http://www.oasis-open.org/specs/tablemodels.php
  2. http://www.oasis-open.org/specs/tr9503.html

External links

This article is issued from Wikipedia - version of the Wednesday, December 16, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.