Initial commit
[profile/ivi/docbook-dtds.git] / 4.2-sgml / soextblx.dtd
1 <!-- XML EXCHANGE TABLE MODEL DECLARATION MODULE -->
2
3 <!-- This set of declarations defines the XML version of the Exchange
4      Table Model as of the date shown in the Formal Public Identifier
5      (FPI) for this entity.
6
7      This set of declarations may be referred to using a public external
8      entity declaration and reference as shown in the following three
9      lines:
10
11      <!ENTITY % calstblx
12        PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN">
13        %calstblx;
14
15      If various parameter entities used within this set of declarations
16      are to be given non-default values, the appropriate declarations
17      should be given before calling in this package (i.e., before the
18      "%calstblx;" reference).
19 -->
20
21 <!-- The motivation for this XML version of the Exchange Table Model
22      is simply to create an XML version of the SGML Exchange Table
23      Model. By design, no effort has been made to "improve" the model.
24
25      This XML version incorporates the logical bare minimum changes
26      necessary to make the Exchange Table Model a valid XML DTD.
27 -->
28
29 <!-- The XML version of the Exchange Table Model differs from
30      the SGML version in the following ways:
31
32      The following parameter entities have been removed:
33
34        - tbl.table.excep, tbl.hdft.excep, tbl.row.excep, tbl.entry.excep
35          There are no exceptions in XML. The following normative statement
36          is made in lieu of exceptions: the exchange table model explicitly
37          forbids a table from occurring within another table. If the
38          content model of an entry includes a table element, then this
39          cannot be enforced by the DTD, but it is a deviation from the
40          exchange table model to include a table within a table.
41
42        - tbl.hdft.name, tbl.hdft.mdl, tbl.hdft.excep, tbl.hdft.att
43          The motivation for these elements was to change the table
44          header/footer elements. Since XML does not allow element declarations
45          to contain name groups, and the exchange table model does not
46          allow a table to contain footers, the continued presence of these
47          attributes seems unnecessary.
48
49      The following parameter entity has been added:
50
51        - tbl.thead.att
52          This entity parameterizes the attributes on thead. It replaces
53          the tbl.hdft.att parameter entity.
54
55      Other miscellaneous changes:
56
57        - Tag ommission indicators have been removed
58        - Comments have been removed from declarations
59        - NUMBER attributes have been changed to NMTOKEN
60        - NUTOKEN attributes have been to changed to NMTOKEN
61        - Removed the grouping characters around the content model
62          parameter entry for the 'entry' element. This is necessary
63          so that an entry can contain #PCDATA and be defined as an
64          optional, repeatable OR group beginning with #PCDATA.
65 -->
66
67 <!-- This entity includes a set of element and attribute declarations
68      that partially defines the Exchange table model.  However, the model
69      is not well-defined without the accompanying natural language
70      description of the semantics (meanings) of these various elements,
71      attributes, and attribute values.  The semantic writeup, also available
72      from SGML Open, should be used in conjunction with this entity.
73 -->
74
75 <!-- In order to use the Exchange table model, various parameter entity
76      declarations are required.  A brief description is as follows:
77
78      ENTITY NAME      WHERE USED              WHAT IT IS
79
80      %yesorno         In ATTLIST of:          An attribute declared value
81                       almost all elements     for a "boolean" attribute
82
83      %paracon         In content model of:    The "text" (logical content)
84                       <entry>                 of the model group for <entry>
85
86      %titles          In content model of:    The "title" part of the model
87                       table element           group for the table element
88
89      %tbl.table.name  In declaration of:      The name of the "table"
90                       table element           element
91
92      %tbl.table-titles.mdl In content model of: The model group for the title
93                       table elements          part of the content model for
94                                               table element
95
96      %tbl.table.mdl   In content model of:    The model group for the content
97                       table elements          model for table element,
98                                               often (and by default) defined
99                                               in terms of %tbl.table-titles.mdl
100                                               and tgroup
101
102      %tbl.table.att   In ATTLIST of:          Additional attributes on the
103                       table element           table element
104
105      %bodyatt         In ATTLIST of:          Additional attributes on the
106                       table element           table element (for backward
107                                               compatibility with the SGML
108                                               model)
109
110      %tbl.tgroup.mdl  In content model of:    The model group for the content
111                       <tgroup>                model for <tgroup>
112
113      %tbl.tgroup.att  In ATTLIST of:          Additional attributes on the
114                       <tgroup>                <tgroup> element
115
116      %tbl.thead.att   In ATTLIST of:          Additional attributes on the
117                       <thead>                 <thead> element
118
119      %tbl.tbody.att   In ATTLIST of:          Additional attributes on the
120                       <tbody>                 <tbody> element
121
122      %tbl.colspec.att In ATTLIST of:          Additional attributes on the
123                       <colspec>               <colspec> element
124
125      %tbl.row.mdl     In content model of:    The model group for the content
126                       <row>                   model for <row>
127
128      %tbl.row.att     In ATTLIST of:          Additional attributes on the
129                       <row>                   <row> element
130
131      %tbl.entry.mdl   In content model of:    The model group for the content
132                       <entry>                 model for <entry>
133
134      %tbl.entry.att   In ATTLIST of:          Additional attributes on the
135                       <entry>                 <entry> element
136
137      This set of declarations will use the default definitions shown below
138      for any of these parameter entities that are not declared before this
139      set of declarations is referenced.
140 -->
141
142 <!-- These definitions are not directly related to the table model, but are
143      used in the default CALS table model and may be defined elsewhere (and
144      prior to the inclusion of this table module) in the referencing DTD. -->
145
146 <!ENTITY % yesorno 'NMTOKEN'> <!-- no if zero(s), yes if any other value -->
147 <!ENTITY % titles  'title?'>
148 <!ENTITY % pcd "#PCDATA">
149 <!ENTITY % paracon '%pcd;'> <!-- default for use in entry content -->
150
151 <!--
152 The parameter entities as defined below change and simplify the CALS table
153 model as published (as part of the Example DTD) in MIL-HDBK-28001.  The
154 resulting simplified DTD has support from the SGML Open vendors and is
155 therefore more interoperable among different systems.
156
157 These following declarations provide the Exchange default definitions
158 for these entities.  However, these entities can be redefined (by giving
159 the appropriate parameter entity declaration(s) prior to the reference
160 to this Table Model declaration set entity) to fit the needs of the
161 current application.
162
163 Note, however, that changes may have significant effect on the ability to
164 interchange table information.  These changes may manifest themselves
165 in useability, presentation, and possible structure information degradation.
166 -->
167
168 <!ENTITY % tbl.table.name       "table">
169 <!ENTITY % tbl.table-titles.mdl "%titles;,">
170 <!ENTITY % tbl.table-main.mdl   "tgroup+">
171 <!ENTITY % tbl.table.mdl        "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
172 <!ENTITY % tbl.table.att        "
173     pgwide      %yesorno;       #IMPLIED ">
174 <!ENTITY % bodyatt              "">
175 <!ENTITY % tbl.tgroup.mdl       "colspec*,thead?,tbody">
176 <!ENTITY % tbl.tgroup.att       "">
177 <!ENTITY % tbl.thead.att        "">
178 <!ENTITY % tbl.tbody.att        "">
179 <!ENTITY % tbl.colspec.att      "">
180 <!ENTITY % tbl.row.mdl          "entry+">
181 <!ENTITY % tbl.row.att          "">
182 <!ENTITY % tbl.entry.mdl        "(%paracon;)*">
183 <!ENTITY % tbl.entry.att        "">
184
185 <!-- =====  Element and attribute declarations follow. =====  -->
186
187 <!--
188      Default declarations previously defined in this entity and
189      referenced below include:
190      ENTITY % tbl.table.name       "table"
191      ENTITY % tbl.table-titles.mdl "%titles;,"
192      ENTITY % tbl.table.mdl        "%tbl.table-titles; tgroup+"
193      ENTITY % tbl.table.att        "
194                         pgwide          %yesorno;       #IMPLIED "
195 -->
196
197 <!ELEMENT %tbl.table.name; (%tbl.table.mdl;)>
198
199 <!ATTLIST %tbl.table.name;
200         frame           (top|bottom|topbot|all|sides|none)      #IMPLIED
201         colsep          %yesorno;                               #IMPLIED
202         rowsep          %yesorno;                               #IMPLIED
203         %tbl.table.att;
204         %bodyatt;
205 >
206
207 <!--
208      Default declarations previously defined in this entity and
209      referenced below include:
210      ENTITY % tbl.tgroup.mdl    "colspec*,thead?,tbody"
211      ENTITY % tbl.tgroup.att    ""
212 -->
213
214 <!ELEMENT tgroup (%tbl.tgroup.mdl;) >
215
216 <!ATTLIST tgroup
217         cols            NMTOKEN                                 #REQUIRED
218         colsep          %yesorno;                               #IMPLIED
219         rowsep          %yesorno;                               #IMPLIED
220         align           (left|right|center|justify|char)        #IMPLIED
221         %tbl.tgroup.att;
222 >
223
224 <!--
225      Default declarations previously defined in this entity and
226      referenced below include:
227      ENTITY % tbl.colspec.att   ""
228 -->
229
230 <!ELEMENT colspec EMPTY >
231
232 <!ATTLIST colspec
233         colnum          NMTOKEN                                 #IMPLIED
234         colname         NMTOKEN                                 #IMPLIED
235         colwidth        CDATA                                   #IMPLIED
236         colsep          %yesorno;                               #IMPLIED
237         rowsep          %yesorno;                               #IMPLIED
238         align           (left|right|center|justify|char)        #IMPLIED
239         char            CDATA                                   #IMPLIED
240         charoff         NMTOKEN                                 #IMPLIED
241         %tbl.colspec.att;
242 >
243
244 <!--
245      Default declarations previously defined in this entity and
246      referenced below include:
247      ENTITY % tbl.thead.att      ""
248 -->
249
250 <!ELEMENT thead (row+)>
251
252 <!ATTLIST thead
253         valign          (top|middle|bottom)                     #IMPLIED
254         %tbl.thead.att;
255 >
256
257 <!--
258      Default declarations previously defined in this entity and
259      referenced below include:
260      ENTITY % tbl.tbody.att     ""
261 -->
262
263 <!ELEMENT tbody (row+)>
264
265 <!ATTLIST tbody
266         valign          (top|middle|bottom)                     #IMPLIED
267         %tbl.tbody.att;
268 >
269
270 <!--
271      Default declarations previously defined in this entity and
272      referenced below include:
273      ENTITY % tbl.row.mdl       "entry+"
274      ENTITY % tbl.row.att       ""
275 -->
276
277 <!ELEMENT row (%tbl.row.mdl;)>
278
279 <!ATTLIST row
280         rowsep          %yesorno;                               #IMPLIED
281         valign          (top|middle|bottom)                     #IMPLIED
282         %tbl.row.att;
283 >
284
285
286 <!--
287      Default declarations previously defined in this entity and
288      referenced below include:
289      ENTITY % paracon           "#PCDATA"
290      ENTITY % tbl.entry.mdl     "(%paracon;)*"
291      ENTITY % tbl.entry.att     ""
292 -->
293
294 <!ELEMENT entry %tbl.entry.mdl;>
295
296 <!ATTLIST entry
297         colname         NMTOKEN                                 #IMPLIED
298         namest          NMTOKEN                                 #IMPLIED
299         nameend         NMTOKEN                                 #IMPLIED
300         morerows        NMTOKEN                                 #IMPLIED
301         colsep          %yesorno;                               #IMPLIED
302         rowsep          %yesorno;                               #IMPLIED
303         align           (left|right|center|justify|char)        #IMPLIED
304         char            CDATA                                   #IMPLIED
305         charoff         NMTOKEN                                 #IMPLIED
306         valign          (top|middle|bottom)                     #IMPLIED
307         %tbl.entry.att;
308 >