| # ============================================================= |
| |
| # HEADER |
| |
| # ============================================================= |
| |
| # MODULE: XML EXCHANGE TABLE MODEL DECLARATION MODULE |
| |
| # VERSION: 1.1 |
| |
| # DATE: June 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) |
| |
| # ============================================================= |
| |
| # 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 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 |
| |
| # 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. |
| |
| namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" |
| |
| yesorno = xsd:NMTOKEN |
| # no if zero(s), yes if any other value |
| 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. |
| tbl.table-titles.mdl = (title?, desc?)? |
| tbl.table-main.mdl = tgroup+ |
| tbl.table.mdl = tbl.table-titles.mdl | tbl.table-main.mdl |
| tbl.table.att = attribute pgwide { yesorno }? |
| bodyatt = empty |
| tbl.tgroup.mdl = colspec*, thead?, tbody |
| tbl.tgroup.att = empty |
| tbl.thead.att = empty |
| tbl.tbody.att = empty |
| tbl.colspec.att = empty |
| tbl.row.mdl = entry+ |
| tbl.row.att = empty |
| tbl.entry.mdl = paracon* |
| tbl.entry.att = empty |
| # ===== 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 " |
| table.element = element table { table.attlist, tbl.table.mdl } |
| table.attlist &= |
| attribute frame { |
| "top" | "bottom" | "topbot" | "all" | "sides" | "none" |
| }?, |
| attribute colsep { yesorno }?, |
| attribute rowsep { yesorno }?, |
| 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 "" |
| tgroup.element = element tgroup { tgroup.attlist, tbl.tgroup.mdl } |
| tgroup.attlist &= |
| attribute cols { xsd:NMTOKEN }, |
| attribute colsep { yesorno }?, |
| attribute rowsep { yesorno }?, |
| attribute align { "left" | "right" | "center" | "justify" | "char" }?, |
| tbl.tgroup.att |
| # Default declarations previously defined in this entity and |
| # referenced below include: |
| # ENTITY % tbl.colspec.att "" |
| colspec.element = element colspec { colspec.attlist, empty } |
| colspec.attlist &= |
| attribute colnum { xsd:NMTOKEN }?, |
| attribute colname { xsd:NMTOKEN }?, |
| attribute colwidth { text }?, |
| attribute colsep { yesorno }?, |
| attribute rowsep { yesorno }?, |
| attribute align { "left" | "right" | "center" | "justify" | "char" }?, |
| attribute char { text }?, |
| attribute charoff { xsd:NMTOKEN }?, |
| tbl.colspec.att |
| # Default declarations previously defined in this entity and |
| # referenced below include: |
| # ENTITY % tbl.thead.att "" |
| thead.element = element thead { thead.attlist, row+ } |
| thead.attlist &= |
| attribute valign { "top" | "middle" | "bottom" }?, |
| tbl.thead.att |
| # Default declarations previously defined in this entity and |
| # referenced below include: |
| # ENTITY % tbl.tbody.att "" |
| tbody.element = element tbody { tbody.attlist, row+ } |
| tbody.attlist &= |
| attribute valign { "top" | "middle" | "bottom" }?, |
| tbl.tbody.att |
| # Default declarations previously defined in this entity and |
| # referenced below include: |
| # ENTITY % tbl.row.mdl "entry+" |
| # ENTITY % tbl.row.att "" |
| row.element = element row { row.attlist, tbl.row.mdl } |
| row.attlist &= |
| attribute rowsep { yesorno }?, |
| attribute valign { "top" | "middle" | "bottom" }?, |
| 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 "" |
| entry.element = element entry { entry.attlist, tbl.entry.mdl } |
| entry.attlist &= |
| attribute colname { xsd:NMTOKEN }?, |
| attribute namest { xsd:NMTOKEN }?, |
| attribute nameend { xsd:NMTOKEN }?, |
| attribute morerows { xsd:NMTOKEN }?, |
| attribute colsep { yesorno }?, |
| attribute rowsep { yesorno }?, |
| attribute align { "left" | "right" | "center" | "justify" | "char" }?, |
| attribute char { text }?, |
| attribute charoff { xsd:NMTOKEN }?, |
| attribute valign { "top" | "middle" | "bottom" }?, |
| tbl.entry.att |
| # ============================================================= |
| |
| # DITA BEHAVIOR ATTRIBUTES |
| |
| # ============================================================= |
| table.attlist &= |
| attribute rowheader { "firstcol" | "norowheader" }?, |
| attribute scale { |
| "50" |
| | "60" |
| | "70" |
| | "80" |
| | "90" |
| | "100" |
| | "110" |
| | "120" |
| | "140" |
| | "160" |
| | "180" |
| | "200" |
| }?, |
| univ-atts, |
| attribute outputclass { text }? |
| tgroup.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| thead.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| tbody.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| row.attlist &= |
| univ-atts, |
| attribute outputclass { text }? |
| entry.attlist &= |
| id-atts, |
| localization-atts, |
| attribute rev { text }?, |
| attribute outputclass { text }? |
| colspec.attlist &= id-atts, localization-atts |
| # ============================================================= |
| |
| # DITA SPECIALIZATION ATTRIBUTE DECLARATIONS |
| |
| # ============================================================= |
| table.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/table " ] attribute class { text }? |
| tgroup.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/tgroup " ] attribute class { text }? |
| colspec.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/colspec " ] attribute class { text }? |
| thead.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/thead " ] attribute class { text }? |
| tbody.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/tbody " ] attribute class { text }? |
| row.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/row " ] attribute class { text }? |
| entry.attlist &= |
| global-atts, |
| [ a:defaultValue = "- topic/entry " ] attribute class { text }? |
| # ================== End XML Exchange Table Model ============= |