<!-- ====================================================================== --> <!-- CALS Table Model XML V1.0 Part of the DocBk30 XML V1.0 DTD http://nwalsh.com/docbook/ See COPYRIGHT for more information Please direct all questions and comments about this DTD to Norman Walsh, <ndw@nwalsh.com>. This DTD is based on the CALS Table Model PUBLIC "-//USA-DOD//DTD Table Model 951010//EN" --> <!-- ====================================================================== --> <!-- CALS TABLE MODEL DECLARATION MODULE --> <!-- This set of declarations defines the CALS 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 two lines: <!ENTITY % calstbls PUBLIC "-//USA-DOD//DTD Table Model 951010//EN"> %calstbls; 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 "%calstbls;" reference). NOTE: This set of declarations assumes a NAMELEN of 32 as is used in the standard CALS defined SGML declaration. --> <!-- This entity includes a set of element and attribute declarations that partially defines the CALS 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, available as a separate entity, should be used in conjunction with this entity. --> <!-- In order to use the CALS table model, various parameter entity declarations are required. A brief description is as follows: ENTITY NAME WHERE USED WHAT IT IS %bodyatt In ATTLIST of: Additional (non-table related) table element(s) attributes on the overall (wrapper) table element(s) %secur In ATTLIST of: Additional (non-table related) table element(s) attributes on all the listed <tgroup> elements <tbody> table head and foot element(s) <row> <entrytbl> <entry> %yesorno In ATTLIST of: An attribute declared value almost all elements for a "boolean" attribute %titles In content model of: The "title" part of the model table element(s) group for the table element(s) %paracon In content model of: The "text" (data content) part <entry> of the model group for <entry> %tbl.table.name In declaration of: The name(s) of the "table" table element(s) element(s) %tbl.table-titles.mdl In content model of: The model group for the title table elements(s) part of the content model for table element(s) %tbl.table-main.mdl In content model of: The model group for the main part table elements(s) (not including titles) of the content model for table element(s) %tbl.table.mdl In content model of: The model group for the content table elements(s) model for table element(s), often (and by default) defined in terms of %tbl.table-titles.mdl and %tbl.table-main.mdl %tbl.table.excep In content model of: The exceptions for the content table element(s) model for table element(s) %tbl.table.att In ATTLIST of: Additional attributes on the table element(s) table element(s) %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> and <entrytbl> elements <entrytbl> %tbl.hdft.name In declaration of: The name(s) of the table head/foot element(s) head and foot element(s) %tbl.hdft.mdl In content model of: The model group for the content head/foot element(s) model for head/foot element(s) %tbl.hdft.excep In content model of: The exceptions for the content head/foot element(s) model for head/foot element(s) %tbl.row.mdl In content model of: The model group for the content <row> model for <row> %tbl.row.excep In content model of: The exceptions for the content <row> model for <row> %tbl.entrytbl.mdl In content model of: The model group for the content <entrytbl> model for <entrytbl> %tbl.entrytbl.excep In content model of: The exceptions for the content <entrytbl> model for <entrytbl> %tbl.entry.mdl In content model of: The model group for the content <entry> model for <entry> %tbl.entry.excep In content model of: The exceptions for the content <entry> model for <entry> If any of these parameter entities are not declared before this set of declarations is referenced, this set of declarations will make the following default definitions for all of these have parameter entities. --> <!-- These definitions are not directly related to the table model, but are used in the default CALS table model and are usually defined elsewhere (and prior to the inclusion of this table module) in a CALS DTD. --> <!ENTITY % bodyatt ""> <!ENTITY % secur ""> <!-- no if zero(s), yes if any other digits value --> <!ENTITY % yesorno 'CDATA'> <!ENTITY % titles 'title?'> <!-- default for use in entry content --> <!ENTITY % paracon '#PCDATA'> <!-- The parameter entities as defined below provide the CALS table model as published (as part of the Example DTD) in MIL-HDBK-28001. These following declarations provide the CALS-compliant default definitions for these entities. However, these entities can and should 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. --> <!ENTITY % tbl.table.name "(table|chart)"> <!ENTITY % tbl.table-titles.mdl "%titles;,"> <!ENTITY % tbl.table-main.mdl "(tgroup+|graphic+)"> <!ENTITY % tbl.table.mdl "%tbl.table-titles.mdl; %tbl.table-main.mdl;"> <!ENTITY % tbl.table.excep ""> <!ENTITY % tbl.table.att ' tabstyle CDATA #IMPLIED tocentry %yesorno; #IMPLIED shortentry %yesorno; #IMPLIED orient (port|land) #IMPLIED pgwide %yesorno; #IMPLIED '> <!ENTITY % tbl.tgroup.mdl "colspec*,spanspec*,thead?,tfoot?,tbody"> <!ENTITY % tbl.tgroup.att ' tgroupstyle CDATA #IMPLIED '> <!-- Element declarations can't contain namegroups in XML, so this is pointless: <!ENTITY % tbl.hdft.name "(thead|tfoot)"> --> <!ENTITY % tbl.hdft.mdl "colspec*,row+"> <!ENTITY % tbl.hdft.excep ""> <!ENTITY % tbl.row.mdl "(entry|entrytbl)+"> <!ENTITY % tbl.row.excep ""> <!ENTITY % tbl.entrytbl.mdl "colspec*,spanspec*,thead?,tbody"> <!ENTITY % tbl.entrytbl.excep ""> <!ENTITY % tbl.entry.mdl "(para|warning|caution|note|legend|%paracon;)*"> <!ENTITY % tbl.entry.excep ""> <!-- ===== Element and attribute declarations follow. ===== --> <!-- Default declarations previously defined in this entity and referenced below include: ENTITY % tbl.table.name "(table|chart)" ENTITY % tbl.table-titles.mdl "%titles," ENTITY % tbl.table-main.mdl "(tgroup+|graphic+)" ENTITY % tbl.table.mdl "%tbl.table-titles; %tbl.table-main.mdl;" ENTITY % tbl.table.excep "-(table|chart|figure)" ENTITY % tbl.table.att ' tabstyle CDATA #IMPLIED tocentry %yesorno; #IMPLIED shortentry %yesorno; #IMPLIED orient (port|land) #IMPLIED pgwide %yesorno; #IMPLIED ' --> <!ELEMENT %tbl.table.name; (%tbl.table.mdl;)> <!ATTLIST table frame (top|bottom|topbot|all|sides|none) #IMPLIED colsep %yesorno; #IMPLIED rowsep %yesorno; #IMPLIED %tbl.table.att; %bodyatt; %secur; > <!-- Default declarations previously defined in this entity and referenced below include: ENTITY % tbl.tgroup.mdl "colspec*,spanspec*,thead?,tfoot?,tbody" ENTITY % tbl.tgroup.att ' tgroupstyle CDATA #IMPLIED ' --> <!ELEMENT tgroup (%tbl.tgroup.mdl;) > <!ATTLIST tgroup cols CDATA #REQUIRED %tbl.tgroup.att; colsep %yesorno; #IMPLIED rowsep %yesorno; #IMPLIED align (left|right|center|justify|char) #IMPLIED char CDATA #IMPLIED charoff CDATA #IMPLIED %secur; > <!ELEMENT colspec EMPTY > <!ATTLIST colspec colnum CDATA #IMPLIED colname CDATA #IMPLIED colwidth CDATA #IMPLIED colsep %yesorno; #IMPLIED rowsep %yesorno; #IMPLIED align (left|right|center|justify|char) #IMPLIED char CDATA #IMPLIED charoff CDATA #IMPLIED > <!ELEMENT spanspec EMPTY > <!ATTLIST spanspec namest CDATA #REQUIRED nameend CDATA #REQUIRED spanname CDATA #REQUIRED colsep %yesorno; #IMPLIED rowsep %yesorno; #IMPLIED align (left|right|center|justify|char) #IMPLIED char CDATA #IMPLIED charoff CDATA #IMPLIED > <!-- Default declarations previously defined in this entity and referenced below include: ENTITY % tbl.hdft.name "(thead|tfoot)" ENTITY % tbl.hdft.mdl "colspec*,row+" ENTITY % tbl.hdft.excep "-(entrytbl)" --> <!ELEMENT thead (%tbl.hdft.mdl;)> <!ATTLIST thead valign (top|middle|bottom) #IMPLIED %secur; > <!ELEMENT tfoot (%tbl.hdft.mdl;)> <!ATTLIST tfoot valign (top|middle|bottom) #IMPLIED %secur; > <!ELEMENT tbody (row+)> <!ATTLIST tbody valign (top|middle|bottom) #IMPLIED %secur; > <!-- Default declarations previously defined in this entity and referenced below include: ENTITY % tbl.row.mdl "(entry|entrytbl)+" ENTITY % tbl.row.excep "-(pgbrk)" --> <!ELEMENT row (%tbl.row.mdl;)> <!ATTLIST row rowsep %yesorno; #IMPLIED valign (top|middle|bottom) #IMPLIED %secur; > <!-- Default declarations previously defined in this entity and referenced below include: ENTITY % tbl.entrytbl.mdl "colspec*,spanspec*,thead?,tbody" ENTITY % tbl.entrytbl.excep "-(entrytbl|pgbrk)" ENTITY % tbl.tgroup.att ' tgroupstyle CDATA #IMPLIED ' --> <!ELEMENT entrytbl (%tbl.entrytbl.mdl;)> <!ATTLIST entrytbl cols CDATA #REQUIRED %tbl.tgroup.att; colname CDATA #IMPLIED spanname CDATA #IMPLIED namest CDATA #IMPLIED nameend CDATA #IMPLIED colsep %yesorno; #IMPLIED rowsep %yesorno; #IMPLIED align (left|right|center|justify|char) #IMPLIED char CDATA #IMPLIED charoff CDATA #IMPLIED %secur; > <!-- Default declarations previously defined in this entity and referenced below include: ENTITY % paracon "#PCDATA" ENTITY % tbl.entry.mdl "(para|warning|caution|note|legend|%paracon;)*" ENTITY % tbl.entry.excep "-(pgbrk)" --> <!ELEMENT entry (%tbl.entry.mdl;)*> <!ATTLIST entry colname CDATA #IMPLIED namest CDATA #IMPLIED nameend CDATA #IMPLIED spanname CDATA #IMPLIED morerows CDATA #IMPLIED colsep %yesorno; #IMPLIED rowsep %yesorno; #IMPLIED align (left|right|center|justify|char) #IMPLIED char CDATA #IMPLIED charoff CDATA #IMPLIED rotate %yesorno; #IMPLIED valign (top|middle|bottom) #IMPLIED %secur; > <!-- End of CALS Table Model XML V1.0 ..................................... --> <!-- ...................................................................... -->