blob: 5b7a5b40c3105a419d3cf4b4e749fa0af15c16d2 [file] [log] [blame]
dacarvereb106902008-11-03 22:27:34 +00001<!-- ============================================================= -->
2<!-- HEADER -->
3<!-- ============================================================= -->
4<!-- MODULE: XML EXCHANGE TABLE MODEL DECLARATION MODULE -->
5<!-- VERSION: 1.1 -->
6<!-- DATE: November 2006 -->
7<!-- -->
8<!-- ============================================================= -->
9
10<!-- (C) Copyright OASIS Open 2005, 2006. -->
11<!-- (C) Copyright IBM Corporation 2001, 2004. -->
12<!-- All Rights Reserved. -->
13<!-- -->
14<!-- UPDATES: -->
15<!-- 2005.11.15 RDA: Corrected the "Delivered as" system ID -->
16<!-- 2006.06.07 RDA: Make universal attributes universal -->
17<!-- (DITA 1.1 proposal #12) -->
18<!-- 2006.11.30 RDA: Add -dita-use-conref-target to enumerated -->
19<!-- attributes -->
20
21<!-- ============================================================= -->
22<!-- Delivered as file "tblDecl.mod" -->
23<!-- ============================================================= -->
24
25
26<!-- XML EXCHANGE TABLE MODEL DECLARATION MODULE -->
27
28<!-- OASIS DITA 1.0 notes:
29 The Exchange Table Model replaces the original CALS-based model
30 used in development versions of the DITA definition.
31 This set of declarations defines the XML version of the Exchange
32 Table Model as adapted for OASIS DITA version 1.0.
33 The base for the DITA version of the Exchange Table Model is
34 defined at http://www.oasis-open.org/specs/tm9901.htm .
35 The DITA version specifically extends this model with these DITA-
36 specific content and attribute adaptations to the DITA processing
37 requirements:
38
39STRUCTURE:
40
41Introduce the DITA-unique <desc> element (optional after <title>); this element
42enables more consistent presentation of both figures and tables.
43
44
45ATTRIBUTES:
46
47For frame, align, and valign attributes on any element:
48 Add the enumerated value -dita-use-conref-target for DITA 1.1.
49
50For the <table> element, add:
51 %univ-atts; which consists of:
52 %select-atts; [for selection, conditional processing]
53 %id-atts; [for conref and linking]
54 %localization-atts (@translate + @xml:lang) [for NLS processing support]
55 %global-atts; (@xtrf + @xtrc) [for tracing and messaging support in processors]
56 @class [for specialization support]
57 @outputclass [for role designation (ie, styles, future migrations)]
58 @rowheader [for accessibility support in processing]
59 %display-atts; which consists of:
60 @scale [for presentational equivalence with other scaled exhibits: fig, pre, lines, simpletable]
61 @frame (already part of table)
62 @pgwide (already part of table, same intent as original @expanse)
63
64For <tgroup>, <thead>, <tbody>, and <row>, add:
65 %univ-atts;
66 %global-atts;
67 @class
68 @outputclass [for role designation (ie, styles, future migrations)]
69
70For <entry>, add:
71 %id-atts;
72 %global-atts
73 @class
74 @outputclass [for role designation (ie, styles, future migrations)]
75 @rev [for indication of revised content for flag-based processing]
76
77-->
78
79<!-- DITA specialization support: element redefinition for expansion -->
80
81<!ENTITY % table "table">
82<!ENTITY % tgroup "tgroup">
83<!ENTITY % colspec "colspec">
84<!ENTITY % thead "thead">
85<!ENTITY % tbody "tbody">
86<!ENTITY % row "row">
87<!ENTITY % entry "entry">
88
89<!-- The Formal Public Identifier (FPI) for this DITA adaptation of
90 the Exchange Table Model shall be:
91
92 "-//OASIS//ELEMENTS DITA Exchange Table Model//EN"
93
94 This set of declarations may be referred to using a public external
95 entity declaration and reference as shown in the following three
96 lines:
97
98 <!ENTITY % tableXML
99 PUBLIC "-//OASIS//ELEMENTS DITA Exchange Table Model//EN">
100 %tableXML;
101-->
102
103
104
105<!-- In order to use the Exchange table model, various parameter entity
106 declarations are required. A brief description is as follows:
107
108 ENTITY NAME WHERE USED WHAT IT IS
109
110 %yesorno In ATTLIST of: An attribute declared value
111 almost all elements for a "boolean" attribute
112
113 %paracon In content model of: The "text" (logical content)
114 <entry> of the model group for <entry>
115
116 %titles In content model of: The "title" part of the model
117 table element group for the table element
118
119 %tbl.table.name In declaration of: The name of the "table"
120 table element element
121
122 %tbl.table-titles.mdl In content model of: The model group for the title
123 table elements part of the content model for
124 table element
125
126 %tbl.table.mdl In content model of: The model group for the content
127 table elements model for table element,
128 often (and by default) defined
129 in terms of %tbl.table-titles.mdl
130 and tgroup
131
132 %tbl.table.att In ATTLIST of: Additional attributes on the
133 table element table element
134
135 %bodyatt In ATTLIST of: Additional attributes on the
136 table element table element (for backward
137 compatibility with the SGML
138 model)
139
140 %tbl.tgroup.mdl In content model of: The model group for the content
141 <tgroup> model for <tgroup>
142
143 %tbl.tgroup.att In ATTLIST of: Additional attributes on the
144 <tgroup> <tgroup> element
145
146 %tbl.thead.att In ATTLIST of: Additional attributes on the
147 <thead> <thead> element
148
149 %tbl.tbody.att In ATTLIST of: Additional attributes on the
150 <tbody> <tbody> element
151
152 %tbl.colspec.att In ATTLIST of: Additional attributes on the
153 <colspec> <colspec> element
154
155 %tbl.row.mdl In content model of: The model group for the content
156 <row> model for <row>
157
158 %tbl.row.att In ATTLIST of: Additional attributes on the
159 <row> <row> element
160
161 %tbl.entry.mdl In content model of: The model group for the content
162 <entry> model for <entry>
163
164 %tbl.entry.att In ATTLIST of: Additional attributes on the
165 <entry> <entry> element
166
167 This set of declarations will use the default definitions shown below
168 for any of these parameter entities that are not declared before this
169 set of declarations is referenced.
170
171 Note that DITA properties are added in cumulative declarations at the end.
172-->
173
174<!-- These definitions are not directly related to the table model, but are
175 used in the default CALS table model and may be defined elsewhere (and
176 prior to the inclusion of this table module) in the referencing DTD. -->
177
178<!ENTITY % yesorno 'NMTOKEN'> <!-- no if zero(s), yes if any other value -->
179<!ENTITY % titles 'title?'>
180<!ENTITY % paracon '%tblcell.cnt;'> <!-- default for use in entry content -->
181
182<!--
183The parameter entities as defined below change and simplify the CALS table
184model as published (as part of the Example DTD) in MIL-HDBK-28001. The
185resulting simplified DTD has support from the SGML Open vendors and is
186therefore more interoperable among different systems.
187
188These following declarations provide the Exchange default definitions
189for these entities. However, these entities can be redefined (by giving
190the appropriate parameter entity declaration(s) prior to the reference
191to this Table Model declaration set entity) to fit the needs of the
192current application.
193
194Note, however, that changes may have significant effect on the ability to
195interchange table information. These changes may manifest themselves
196in useability, presentation, and possible structure information degradation.
197-->
198
199<!ENTITY % tbl.table.name "table">
200<!ENTITY % tbl.table-titles.mdl "((%title;)?, (%desc;)?)?,">
201<!ENTITY % tbl.table-main.mdl "(%tgroup;)+">
202<!ENTITY % tbl.table.mdl "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
203<!ENTITY % tbl.table.att "
204 pgwide %yesorno; #IMPLIED ">
205<!ENTITY % bodyatt "">
206<!ENTITY % tbl.tgroup.mdl "(%colspec;)*, (%thead;)?, %tbody;">
207<!ENTITY % tbl.tgroup.att "">
208<!ENTITY % tbl.thead.att "">
209<!ENTITY % tbl.tbody.att "">
210<!ENTITY % tbl.colspec.att "base CDATA #IMPLIED
211 %base-attribute-extensions;">
212<!ENTITY % tbl.row.mdl "(%entry;)+">
213<!ENTITY % tbl.row.att "">
214<!ENTITY % tbl.entry.mdl "(%paracon;)*">
215<!ENTITY % tbl.entry.att "base CDATA #IMPLIED
216 %base-attribute-extensions;">
217
218<!-- ===== Element and attribute declarations follow. ===== -->
219
220<!--
221 Default declarations previously defined in this entity and
222 referenced below include:
223 ENTITY % tbl.table.name "table"
224 ENTITY % tbl.table-titles.mdl "%titles;,"
225 ENTITY % tbl.table.mdl "%tbl.table-titles; tgroup+"
226 ENTITY % tbl.table.att "
227 pgwide %yesorno; #IMPLIED "
228-->
229
230<!ELEMENT %tbl.table.name; (%tbl.table.mdl;)>
231
232<!ATTLIST %tbl.table.name;
233 frame (top|bottom|topbot|all|sides|none|
234 -dita-use-conref-target) #IMPLIED
235 colsep %yesorno; #IMPLIED
236 rowsep %yesorno; #IMPLIED
237 %tbl.table.att;
238 %bodyatt;
239>
240
241<!--
242 Default declarations previously defined in this entity and
243 referenced below include:
244 ENTITY % tbl.tgroup.mdl "colspec*,thead?,tbody"
245 ENTITY % tbl.tgroup.att ""
246-->
247
248<!ELEMENT tgroup (%tbl.tgroup.mdl;) >
249
250<!ATTLIST tgroup
251 cols NMTOKEN #REQUIRED
252 colsep %yesorno; #IMPLIED
253 rowsep %yesorno; #IMPLIED
254 align (left|right|center|justify|char|
255 -dita-use-conref-target) #IMPLIED
256 %tbl.tgroup.att;
257>
258
259<!--
260 Default declarations previously defined in this entity and
261 referenced below include:
262 ENTITY % tbl.colspec.att ""
263-->
264
265<!ELEMENT colspec EMPTY >
266
267<!ATTLIST colspec
268 colnum NMTOKEN #IMPLIED
269 colname NMTOKEN #IMPLIED
270 colwidth CDATA #IMPLIED
271 colsep %yesorno; #IMPLIED
272 rowsep %yesorno; #IMPLIED
273 align (left|right|center|justify|char|
274 -dita-use-conref-target) #IMPLIED
275 char CDATA #IMPLIED
276 charoff NMTOKEN #IMPLIED
277 %tbl.colspec.att;
278>
279
280<!--
281 Default declarations previously defined in this entity and
282 referenced below include:
283 ENTITY % tbl.thead.att ""
284-->
285
286<!ELEMENT thead ((%row;)+)>
287
288<!ATTLIST thead
289 valign (top|middle|bottom|
290 -dita-use-conref-target) #IMPLIED
291 %tbl.thead.att;
292>
293
294<!--
295 Default declarations previously defined in this entity and
296 referenced below include:
297 ENTITY % tbl.tbody.att ""
298-->
299
300<!ELEMENT tbody (%row;)+>
301
302<!ATTLIST tbody
303 valign (top|middle|bottom|
304 -dita-use-conref-target) #IMPLIED
305 %tbl.tbody.att;
306>
307
308<!--
309 Default declarations previously defined in this entity and
310 referenced below include:
311 ENTITY % tbl.row.mdl "entry+"
312 ENTITY % tbl.row.att ""
313-->
314
315<!ELEMENT row (%tbl.row.mdl;)>
316
317<!ATTLIST row
318 rowsep %yesorno; #IMPLIED
319 valign (top|middle|bottom|
320 -dita-use-conref-target) #IMPLIED
321 %tbl.row.att;
322>
323
324
325<!--
326 Default declarations previously defined in this entity and
327 referenced below include:
328 ENTITY % paracon "#PCDATA"
329 ENTITY % tbl.entry.mdl "(%paracon;)*"
330 ENTITY % tbl.entry.att ""
331-->
332
333<!ELEMENT entry %tbl.entry.mdl;>
334
335<!ATTLIST entry
336 colname NMTOKEN #IMPLIED
337 namest NMTOKEN #IMPLIED
338 nameend NMTOKEN #IMPLIED
339 morerows NMTOKEN #IMPLIED
340 colsep %yesorno; #IMPLIED
341 rowsep %yesorno; #IMPLIED
342 align (left|right|center|justify|char|
343 -dita-use-conref-target) #IMPLIED
344 char CDATA #IMPLIED
345 charoff NMTOKEN #IMPLIED
346 valign (top|middle|bottom|
347 -dita-use-conref-target) #IMPLIED
348 %tbl.entry.att;
349>
350
351
352<!-- ============================================================= -->
353<!-- DITA BEHAVIOR ATTRIBUTES -->
354<!-- ============================================================= -->
355
356<!ATTLIST %tbl.table.name;
357 rowheader (firstcol | norowheader |
358 -dita-use-conref-target) #IMPLIED
359 scale (50|60|70|80|90|100|110|120|140|160|180|200|
360 -dita-use-conref-target) #IMPLIED
361 %univ-atts;
362 outputclass CDATA #IMPLIED>
363<!ATTLIST tgroup
364 %univ-atts;
365 outputclass CDATA #IMPLIED>
366<!ATTLIST thead
367 %univ-atts;
368 outputclass CDATA #IMPLIED>
369<!ATTLIST tbody
370 %univ-atts;
371 outputclass CDATA #IMPLIED>
372<!ATTLIST row
373 %univ-atts;
374 outputclass CDATA #IMPLIED>
375<!ATTLIST entry
376 %id-atts;
377 %localization-atts;
378 rev CDATA #IMPLIED
379 outputclass CDATA #IMPLIED>
380<!ATTLIST colspec
381 %id-atts;
382 %localization-atts;>
383
384<!-- ============================================================= -->
385<!-- DITA SPECIALIZATION ATTRIBUTE DECLARATIONS -->
386<!-- ============================================================= -->
387
388<!ATTLIST table %global-atts; class CDATA "- topic/table " >
389<!ATTLIST tgroup %global-atts; class CDATA "- topic/tgroup " >
390<!ATTLIST colspec %global-atts; class CDATA "- topic/colspec " >
391<!ATTLIST thead %global-atts; class CDATA "- topic/thead " >
392<!ATTLIST tbody %global-atts; class CDATA "- topic/tbody " >
393<!ATTLIST row %global-atts; class CDATA "- topic/row " >
394<!ATTLIST entry %global-atts; class CDATA "- topic/entry " >
395
396
397<!-- ================== End XML Exchange Table Model ============= -->