| <!-- XML EXCHANGE TABLE MODEL DECLARATION MODULE --> |
| |
| <!-- This set of declarations defines the XML version of the Exchange |
| Table Model as of the date shown in the Formal Public Identifier |
| (FPI) for this entity. |
| |
| This set of declarations may be referred to using a public external |
| entity declaration and reference as shown in the following three |
| lines: |
| |
| <!ENTITY % calstblx |
| PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"> |
| %calstblx; |
| |
| If various parameter entities used within this set of declarations |
| are to be given non-default values, the appropriate declarations |
| should be given before calling in this package (i.e., before the |
| "%calstblx;" reference). |
| --> |
| |
| <!-- The motivation for this XML version of the Exchange Table Model |
| is simply to create an XML version of the SGML Exchange Table |
| Model. By design, no effort has been made to "improve" the model. |
| |
| This XML version incorporates the logical bare minimum changes |
| necessary to make the Exchange Table Model a valid XML DTD. |
| --> |
| |
| <!-- The XML version of the Exchange Table Model differs from |
| the SGML version in the following ways: |
| |
| The following parameter entities have been removed: |
| |
| - tbl.table.excep, tbl.hdft.excep, tbl.row.excep, tbl.entry.excep |
| There are no exceptions in XML. The following normative statement |
| is made in lieu of exceptions: the exchange table model explicitly |
| forbids a table from occurring within another table. If the |
| content model of an entry includes a table element, then this |
| cannot be enforced by the DTD, but it is a deviation from the |
| exchange table model to include a table within a table. |
| |
| - tbl.hdft.name, tbl.hdft.mdl, tbl.hdft.excep, tbl.hdft.att |
| The motivation for these elements was to change the table |
| header/footer elements. Since XML does not allow element declarations |
| to contain name groups, and the exchange table model does not |
| allow a table to contain footers, the continued presence of these |
| attributes seems unnecessary. |
| |
| The following parameter entity has been added: |
| |
| - tbl.thead.att |
| This entity parameterizes the attributes on thead. It replaces |
| the tbl.hdft.att parameter entity. |
| |
| Other miscellaneous changes: |
| |
| - Tag ommission indicators have been removed |
| - Comments have been removed from declarations |
| - NUMBER attributes have been changed to NMTOKEN |
| - NUTOKEN attributes have been to changed to NMTOKEN |
| - Removed the grouping characters around the content model |
| parameter entry for the 'entry' element. This is necessary |
| so that an entry can contain #PCDATA and be defined as an |
| optional, repeatable OR group beginning with #PCDATA. |
| --> |
| |
| <!-- This entity includes a set of element and attribute declarations |
| that partially defines the Exchange table model. However, the model |
| is not well-defined without the accompanying natural language |
| description of the semantics (meanings) of these various elements, |
| attributes, and attribute values. The semantic writeup, also available |
| from SGML Open, should be used in conjunction with this entity. |
| --> |
| |
| <!-- In order to use the Exchange table model, various parameter entity |
| declarations are required. A brief description is as follows: |
| |
| ENTITY NAME WHERE USED WHAT IT IS |
| |
| %yesorno In ATTLIST of: An attribute declared value |
| almost all elements for a "boolean" attribute |
| |
| %paracon In content model of: The "text" (logical content) |
| <entry> of the model group for <entry> |
| |
| %titles In content model of: The "title" part of the model |
| table element group for the table element |
| |
| %tbl.table.name In declaration of: The name of the "table" |
| table element element |
| |
| %tbl.table-titles.mdl In content model of: The model group for the title |
| table elements part of the content model for |
| table element |
| |
| %tbl.table.mdl In content model of: The model group for the content |
| table elements model for table element, |
| often (and by default) defined |
| in terms of %tbl.table-titles.mdl |
| and tgroup |
| |
| %tbl.table.att In ATTLIST of: Additional attributes on the |
| table element table element |
| |
| %bodyatt In ATTLIST of: Additional attributes on the |
| table element table element (for backward |
| compatibility with the SGML |
| model) |
| |
| %tbl.tgroup.mdl In content model of: The model group for the content |
| <tgroup> model for <tgroup> |
| |
| %tbl.tgroup.att In ATTLIST of: Additional attributes on the |
| <tgroup> <tgroup> element |
| |
| %tbl.thead.att In ATTLIST of: Additional attributes on the |
| <thead> <thead> element |
| |
| %tbl.tbody.att In ATTLIST of: Additional attributes on the |
| <tbody> <tbody> element |
| |
| %tbl.colspec.att In ATTLIST of: Additional attributes on the |
| <colspec> <colspec> element |
| |
| %tbl.row.mdl In content model of: The model group for the content |
| <row> model for <row> |
| |
| %tbl.row.att In ATTLIST of: Additional attributes on the |
| <row> <row> element |
| |
| %tbl.entry.mdl In content model of: The model group for the content |
| <entry> model for <entry> |
| |
| %tbl.entry.att In ATTLIST of: Additional attributes on the |
| <entry> <entry> element |
| |
| This set of declarations will use the default definitions shown below |
| for any of these parameter entities that are not declared before this |
| set of declarations is referenced. |
| --> |
| |
| <!-- These definitions are not directly related to the table model, but are |
| used in the default CALS table model and may be defined elsewhere (and |
| prior to the inclusion of this table module) in the referencing DTD. --> |
| |
| <!ENTITY % yesorno 'NMTOKEN'> <!-- no if zero(s), yes if any other value --> |
| <!ENTITY % titles 'title?'> |
| <!ENTITY % pcd "#PCDATA"> |
| <!ENTITY % paracon '%pcd;'> <!-- default for use in entry content --> |
| |
| <!-- |
| The parameter entities as defined below change and simplify the CALS table |
| model as published (as part of the Example DTD) in MIL-HDBK-28001. The |
| resulting simplified DTD has support from the SGML Open vendors and is |
| therefore more interoperable among different systems. |
| |
| These following declarations provide the Exchange default definitions |
| for these entities. However, these entities can be redefined (by giving |
| the appropriate parameter entity declaration(s) prior to the reference |
| to this Table Model declaration set entity) to fit the needs of the |
| current application. |
| |
| Note, however, that changes may have significant effect on the ability to |
| interchange table information. These changes may manifest themselves |
| in useability, presentation, and possible structure information degradation. |
| --> |
| |
| <!ENTITY % tbl.table.name "table"> |
| <!ENTITY % tbl.table-titles.mdl "%titles;,"> |
| <!ENTITY % tbl.table-main.mdl "tgroup+"> |
| <!ENTITY % tbl.table.mdl "%tbl.table-titles.mdl; %tbl.table-main.mdl;"> |
| <!ENTITY % tbl.table.att " |
| pgwide %yesorno; #IMPLIED "> |
| <!ENTITY % bodyatt ""> |
| <!ENTITY % tbl.tgroup.mdl "colspec*,thead?,tbody"> |
| <!ENTITY % tbl.tgroup.att ""> |
| <!ENTITY % tbl.thead.att ""> |
| <!ENTITY % tbl.tbody.att ""> |
| <!ENTITY % tbl.colspec.att ""> |
| <!ENTITY % tbl.row.mdl "entry+"> |
| <!ENTITY % tbl.row.att ""> |
| <!ENTITY % tbl.entry.mdl "(%paracon;)*"> |
| <!ENTITY % tbl.entry.att ""> |
| |
| <!-- ===== Element and attribute declarations follow. ===== --> |
| |
| <!-- |
| Default declarations previously defined in this entity and |
| referenced below include: |
| ENTITY % tbl.table.name "table" |
| ENTITY % tbl.table-titles.mdl "%titles;," |
| ENTITY % tbl.table.mdl "%tbl.table-titles; tgroup+" |
| ENTITY % tbl.table.att " |
| pgwide %yesorno; #IMPLIED " |
| --> |
| |
| <!ELEMENT %tbl.table.name; (%tbl.table.mdl;)> |
| |
| <!ATTLIST %tbl.table.name; |
| frame (top|bottom|topbot|all|sides|none) #IMPLIED |
| colsep %yesorno; #IMPLIED |
| rowsep %yesorno; #IMPLIED |
| %tbl.table.att; |
| %bodyatt; |
| > |
| |
| <!-- |
| Default declarations previously defined in this entity and |
| referenced below include: |
| ENTITY % tbl.tgroup.mdl "colspec*,thead?,tbody" |
| ENTITY % tbl.tgroup.att "" |
| --> |
| |
| <!ELEMENT tgroup (%tbl.tgroup.mdl;) > |
| |
| <!ATTLIST tgroup |
| cols NMTOKEN #REQUIRED |
| colsep %yesorno; #IMPLIED |
| rowsep %yesorno; #IMPLIED |
| align (left|right|center|justify|char) #IMPLIED |
| %tbl.tgroup.att; |
| > |
| |
| <!-- |
| Default declarations previously defined in this entity and |
| referenced below include: |
| ENTITY % tbl.colspec.att "" |
| --> |
| |
| <!ELEMENT colspec EMPTY > |
| |
| <!ATTLIST colspec |
| colnum NMTOKEN #IMPLIED |
| colname NMTOKEN #IMPLIED |
| colwidth CDATA #IMPLIED |
| colsep %yesorno; #IMPLIED |
| rowsep %yesorno; #IMPLIED |
| align (left|right|center|justify|char) #IMPLIED |
| char CDATA #IMPLIED |
| charoff NMTOKEN #IMPLIED |
| %tbl.colspec.att; |
| > |
| |
| <!-- |
| Default declarations previously defined in this entity and |
| referenced below include: |
| ENTITY % tbl.thead.att "" |
| --> |
| |
| <!ELEMENT thead (row+)> |
| |
| <!ATTLIST thead |
| valign (top|middle|bottom) #IMPLIED |
| %tbl.thead.att; |
| > |
| |
| <!-- |
| Default declarations previously defined in this entity and |
| referenced below include: |
| ENTITY % tbl.tbody.att "" |
| --> |
| |
| <!ELEMENT tbody (row+)> |
| |
| <!ATTLIST tbody |
| valign (top|middle|bottom) #IMPLIED |
| %tbl.tbody.att; |
| > |
| |
| <!-- |
| Default declarations previously defined in this entity and |
| referenced below include: |
| ENTITY % tbl.row.mdl "entry+" |
| ENTITY % tbl.row.att "" |
| --> |
| |
| <!ELEMENT row (%tbl.row.mdl;)> |
| |
| <!ATTLIST row |
| rowsep %yesorno; #IMPLIED |
| valign (top|middle|bottom) #IMPLIED |
| %tbl.row.att; |
| > |
| |
| |
| <!-- |
| Default declarations previously defined in this entity and |
| referenced below include: |
| ENTITY % paracon "#PCDATA" |
| ENTITY % tbl.entry.mdl "(%paracon;)*" |
| ENTITY % tbl.entry.att "" |
| --> |
| |
| <!ELEMENT entry %tbl.entry.mdl;> |
| |
| <!ATTLIST entry |
| colname NMTOKEN #IMPLIED |
| namest NMTOKEN #IMPLIED |
| nameend NMTOKEN #IMPLIED |
| morerows NMTOKEN #IMPLIED |
| colsep %yesorno; #IMPLIED |
| rowsep %yesorno; #IMPLIED |
| align (left|right|center|justify|char) #IMPLIED |
| char CDATA #IMPLIED |
| charoff NMTOKEN #IMPLIED |
| valign (top|middle|bottom) #IMPLIED |
| %tbl.entry.att; |
| > |