<!-- ============================================================= --> | |
<!-- HEADER --> | |
<!-- ============================================================= --> | |
<!-- MODULE: XML EXCHANGE TABLE MODEL DECLARATION MODULE --> | |
<!-- VERSION: 1.1 --> | |
<!-- DATE: November 2006 --> | |
<!-- --> | |
<!-- ============================================================= --> | |
<!-- (C) Copyright OASIS Open 2005, 2006. --> | |
<!-- (C) Copyright IBM Corporation 2001, 2004. --> | |
<!-- All Rights Reserved. --> | |
<!-- --> | |
<!-- UPDATES: --> | |
<!-- 2005.11.15 RDA: Corrected the "Delivered as" system ID --> | |
<!-- 2006.06.07 RDA: Make universal attributes universal --> | |
<!-- (DITA 1.1 proposal #12) --> | |
<!-- 2006.11.30 RDA: Add -dita-use-conref-target to enumerated --> | |
<!-- attributes --> | |
<!-- ============================================================= --> | |
<!-- Delivered as file "tblDecl.mod" --> | |
<!-- ============================================================= --> | |
<!-- XML EXCHANGE TABLE MODEL DECLARATION MODULE --> | |
<!-- OASIS DITA 1.0 notes: | |
The Exchange Table Model replaces the original CALS-based model | |
used in development versions of the DITA definition. | |
This set of declarations defines the XML version of the Exchange | |
Table Model as adapted for OASIS DITA version 1.0. | |
The base for the DITA version of the Exchange Table Model is | |
defined at http://www.oasis-open.org/specs/tm9901.htm . | |
The DITA version specifically extends this model with these DITA- | |
specific content and attribute adaptations to the DITA processing | |
requirements: | |
STRUCTURE: | |
Introduce the DITA-unique <desc> element (optional after <title>); this element | |
enables more consistent presentation of both figures and tables. | |
ATTRIBUTES: | |
For frame, align, and valign attributes on any element: | |
Add the enumerated value -dita-use-conref-target for DITA 1.1. | |
For the <table> element, add: | |
%univ-atts; which consists of: | |
%select-atts; [for selection, conditional processing] | |
%id-atts; [for conref and linking] | |
%localization-atts (@translate + @xml:lang) [for NLS processing support] | |
%global-atts; (@xtrf + @xtrc) [for tracing and messaging support in processors] | |
@class [for specialization support] | |
@outputclass [for role designation (ie, styles, future migrations)] | |
@rowheader [for accessibility support in processing] | |
%display-atts; which consists of: | |
@scale [for presentational equivalence with other scaled exhibits: fig, pre, lines, simpletable] | |
@frame (already part of table) | |
@pgwide (already part of table, same intent as original @expanse) | |
For <tgroup>, <thead>, <tbody>, and <row>, add: | |
%univ-atts; | |
%global-atts; | |
@class | |
@outputclass [for role designation (ie, styles, future migrations)] | |
For <entry>, add: | |
%id-atts; | |
%global-atts | |
@class | |
@outputclass [for role designation (ie, styles, future migrations)] | |
@rev [for indication of revised content for flag-based processing] | |
--> | |
<!-- DITA specialization support: element redefinition for expansion --> | |
<!ENTITY % table "table"> | |
<!ENTITY % tgroup "tgroup"> | |
<!ENTITY % colspec "colspec"> | |
<!ENTITY % thead "thead"> | |
<!ENTITY % tbody "tbody"> | |
<!ENTITY % row "row"> | |
<!ENTITY % entry "entry"> | |
<!-- The Formal Public Identifier (FPI) for this DITA adaptation of | |
the Exchange Table Model shall be: | |
"-//OASIS//ELEMENTS DITA Exchange Table Model//EN" | |
This set of declarations may be referred to using a public external | |
entity declaration and reference as shown in the following three | |
lines: | |
<!ENTITY % tableXML | |
PUBLIC "-//OASIS//ELEMENTS DITA Exchange Table Model//EN"> | |
%tableXML; | |
--> | |
<!-- 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. | |
Note that DITA properties are added in cumulative declarations at the end. | |
--> | |
<!-- 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 % paracon '%tblcell.cnt;'> <!-- 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 "((%title;)?, (%desc;)?)?,"> | |
<!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 "base CDATA #IMPLIED | |
%base-attribute-extensions;"> | |
<!ENTITY % tbl.row.mdl "(%entry;)+"> | |
<!ENTITY % tbl.row.att ""> | |
<!ENTITY % tbl.entry.mdl "(%paracon;)*"> | |
<!ENTITY % tbl.entry.att "base CDATA #IMPLIED | |
%base-attribute-extensions;"> | |
<!-- ===== 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| | |
-dita-use-conref-target) #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| | |
-dita-use-conref-target) #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| | |
-dita-use-conref-target) #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| | |
-dita-use-conref-target) #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| | |
-dita-use-conref-target) #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| | |
-dita-use-conref-target) #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| | |
-dita-use-conref-target) #IMPLIED | |
char CDATA #IMPLIED | |
charoff NMTOKEN #IMPLIED | |
valign (top|middle|bottom| | |
-dita-use-conref-target) #IMPLIED | |
%tbl.entry.att; | |
> | |
<!-- ============================================================= --> | |
<!-- DITA BEHAVIOR ATTRIBUTES --> | |
<!-- ============================================================= --> | |
<!ATTLIST %tbl.table.name; | |
rowheader (firstcol | norowheader | | |
-dita-use-conref-target) #IMPLIED | |
scale (50|60|70|80|90|100|110|120|140|160|180|200| | |
-dita-use-conref-target) #IMPLIED | |
%univ-atts; | |
outputclass CDATA #IMPLIED> | |
<!ATTLIST tgroup | |
%univ-atts; | |
outputclass CDATA #IMPLIED> | |
<!ATTLIST thead | |
%univ-atts; | |
outputclass CDATA #IMPLIED> | |
<!ATTLIST tbody | |
%univ-atts; | |
outputclass CDATA #IMPLIED> | |
<!ATTLIST row | |
%univ-atts; | |
outputclass CDATA #IMPLIED> | |
<!ATTLIST entry | |
%id-atts; | |
%localization-atts; | |
rev CDATA #IMPLIED | |
outputclass CDATA #IMPLIED> | |
<!ATTLIST colspec | |
%id-atts; | |
%localization-atts;> | |
<!-- ============================================================= --> | |
<!-- DITA SPECIALIZATION ATTRIBUTE DECLARATIONS --> | |
<!-- ============================================================= --> | |
<!ATTLIST table %global-atts; class CDATA "- topic/table " > | |
<!ATTLIST tgroup %global-atts; class CDATA "- topic/tgroup " > | |
<!ATTLIST colspec %global-atts; class CDATA "- topic/colspec " > | |
<!ATTLIST thead %global-atts; class CDATA "- topic/thead " > | |
<!ATTLIST tbody %global-atts; class CDATA "- topic/tbody " > | |
<!ATTLIST row %global-atts; class CDATA "- topic/row " > | |
<!ATTLIST entry %global-atts; class CDATA "- topic/entry " > | |
<!-- ================== End XML Exchange Table Model ============= --> |