[da28cc3] | 1 | # ...................................................................... |
---|
| 2 | |
---|
| 3 | # DocBook XML HTML Table Module V4.5 ................................... |
---|
| 4 | |
---|
| 5 | # File htmltblx.mod .................................................... |
---|
| 6 | |
---|
| 7 | # Copyright 2003-2006 ArborText, Inc., Norman Walsh, Sun Microsystems, |
---|
| 8 | # Inc., and the Organization for the Advancement of Structured Information |
---|
| 9 | # Standards (OASIS). |
---|
| 10 | # |
---|
| 11 | # $Id: htmltblx.mod 6340 2006-10-03 13:23:24Z nwalsh $ |
---|
| 12 | # |
---|
| 13 | # Permission to use, copy, modify and distribute the DocBook XML DTD |
---|
| 14 | # and its accompanying documentation for any purpose and without fee |
---|
| 15 | # is hereby granted in perpetuity, provided that the above copyright |
---|
| 16 | # notice and this paragraph appear in all copies. The copyright |
---|
| 17 | # holders make no representation about the suitability of the DTD for |
---|
| 18 | # any purpose. It is provided "as is" without expressed or implied |
---|
| 19 | # warranty. |
---|
| 20 | # |
---|
| 21 | # If you modify the DocBook XML DTD in any way, except for declaring and |
---|
| 22 | # referencing additional sets of general entities and declaring |
---|
| 23 | # additional notations, label your DTD as a variant of DocBook. See |
---|
| 24 | # the maintenance documentation for more information. |
---|
| 25 | # |
---|
| 26 | # Please direct all questions, bug reports, or suggestions for |
---|
| 27 | # changes to the docbook@lists.oasis-open.org mailing list. For more |
---|
| 28 | # information, see http://www.oasis-open.org/docbook/. |
---|
| 29 | |
---|
| 30 | # ...................................................................... |
---|
| 31 | |
---|
| 32 | # This module contains the definitions for elements that are |
---|
| 33 | # isomorphic to the HTML elements. One could argue we should |
---|
| 34 | # instead have based ourselves on the XHTML Table Module, but the |
---|
| 35 | # HTML one is more like what browsers are likely to accept today |
---|
| 36 | # and users are likely to use. |
---|
| 37 | # |
---|
| 38 | # This module has been developed for use with the DocBook V4.5 |
---|
| 39 | # "union table model" in which elements and attlists common to both |
---|
| 40 | # models are defined (as the union) in the CALS table module by |
---|
| 41 | # setting various parameter entities appropriately in this file. |
---|
| 42 | # |
---|
| 43 | # In DTD driver files referring to this module, please use an entity |
---|
| 44 | # declaration that uses the public identifier shown below: |
---|
| 45 | # |
---|
| 46 | # <!ENTITY % htmltbl PUBLIC |
---|
| 47 | # "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" |
---|
| 48 | # "htmltblx.mod"> |
---|
| 49 | # %htmltbl; |
---|
| 50 | # |
---|
| 51 | # See the documentation for detailed information on the parameter |
---|
| 52 | # entity and module scheme used in DocBook, customizing DocBook and |
---|
| 53 | # planning for interchange, and changes made since the last release |
---|
| 54 | # of DocBook. |
---|
| 55 | |
---|
| 56 | # ======================= XHTML Tables ======================================= |
---|
| 57 | |
---|
| 58 | namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" |
---|
| 59 | |
---|
| 60 | html.coreattrs = |
---|
| 61 | common.attrib, |
---|
| 62 | attribute class { text }?, |
---|
| 63 | attribute style { text }?, |
---|
| 64 | attribute title { text }? |
---|
| 65 | # Does not contain lang or dir because they are in %common.attribs |
---|
| 66 | i18n = attribute xml:lang { xsd:NMTOKEN }? |
---|
| 67 | events = |
---|
| 68 | attribute onclick { text }?, |
---|
| 69 | attribute ondblclick { text }?, |
---|
| 70 | attribute onmousedown { text }?, |
---|
| 71 | attribute onmouseup { text }?, |
---|
| 72 | attribute onmouseover { text }?, |
---|
| 73 | attribute onmousemove { text }?, |
---|
| 74 | attribute onmouseout { text }?, |
---|
| 75 | attribute onkeypress { text }?, |
---|
| 76 | attribute onkeydown { text }?, |
---|
| 77 | attribute onkeyup { text }? |
---|
| 78 | attrs = html.coreattrs, i18n, events |
---|
| 79 | cellhalign = |
---|
| 80 | attribute align { "left" | "center" | "right" | "justify" | "char" }?, |
---|
| 81 | attribute char { text }?, |
---|
| 82 | attribute charoff { text }? |
---|
| 83 | cellvalign = |
---|
| 84 | attribute valign { "top" | "middle" | "bottom" | "baseline" }? |
---|
| 85 | # doc:A group of columns in an HTML table. |
---|
| 86 | colgroup = element colgroup { colgroup.attlist, col* } |
---|
| 87 | # doc:Specifications for a column in an HTML table. |
---|
| 88 | col = element col { col.attlist, empty } |
---|
| 89 | # doc:A row in an HTML table. |
---|
| 90 | tr = element tr { tr.attlist, (th | td)+ } |
---|
| 91 | # doc:A table header entry in an HTML table. |
---|
| 92 | th = |
---|
| 93 | element th { |
---|
| 94 | th.attlist, (para.char.mix | tabentry.mix | table | informaltable)* |
---|
| 95 | } |
---|
| 96 | # doc:A table ntry in an HTML table. |
---|
| 97 | td = |
---|
| 98 | element td { |
---|
| 99 | td.attlist, (para.char.mix | tabentry.mix | table | informaltable)* |
---|
| 100 | } |
---|
| 101 | colgroup.attlist &= |
---|
| 102 | attrs, |
---|
| 103 | [ a:defaultValue = "1" ] attribute span { text }?, |
---|
| 104 | attribute width { text }?, |
---|
| 105 | cellhalign, |
---|
| 106 | cellvalign |
---|
| 107 | col.attlist &= |
---|
| 108 | attrs, |
---|
| 109 | [ a:defaultValue = "1" ] attribute span { text }?, |
---|
| 110 | attribute width { text }?, |
---|
| 111 | cellhalign, |
---|
| 112 | cellvalign |
---|
| 113 | tr.attlist &= |
---|
| 114 | attrs, |
---|
| 115 | cellhalign, |
---|
| 116 | cellvalign, |
---|
| 117 | attribute bgcolor { text }? |
---|
| 118 | th.attlist &= |
---|
| 119 | attrs, |
---|
| 120 | attribute abbr { text }?, |
---|
| 121 | attribute axis { text }?, |
---|
| 122 | attribute headers { xsd:IDREFS }?, |
---|
| 123 | attribute scope { "row" | "col" | "rowgroup" | "colgroup" }?, |
---|
| 124 | [ a:defaultValue = "1" ] attribute rowspan { text }?, |
---|
| 125 | [ a:defaultValue = "1" ] attribute colspan { text }?, |
---|
| 126 | cellhalign, |
---|
| 127 | cellvalign, |
---|
| 128 | attribute nowrap { "nowrap" }?, |
---|
| 129 | attribute bgcolor { text }?, |
---|
| 130 | attribute width { text }?, |
---|
| 131 | attribute height { text }? |
---|
| 132 | td.attlist &= |
---|
| 133 | attrs, |
---|
| 134 | attribute abbr { text }?, |
---|
| 135 | attribute axis { text }?, |
---|
| 136 | attribute headers { xsd:IDREFS }?, |
---|
| 137 | attribute scope { "row" | "col" | "rowgroup" | "colgroup" }?, |
---|
| 138 | [ a:defaultValue = "1" ] attribute rowspan { text }?, |
---|
| 139 | [ a:defaultValue = "1" ] attribute colspan { text }?, |
---|
| 140 | cellhalign, |
---|
| 141 | cellvalign, |
---|
| 142 | attribute nowrap { "nowrap" }?, |
---|
| 143 | attribute bgcolor { text }?, |
---|
| 144 | attribute width { text }?, |
---|
| 145 | attribute height { text }? |
---|
| 146 | # ====================================================== |
---|
| 147 | |
---|
| 148 | # Set up to read in the CALS model configured to |
---|
| 149 | # merge with the XHTML table model |
---|
| 150 | |
---|
| 151 | # ====================================================== |
---|
| 152 | tables.role.attrib = role.attrib |
---|
| 153 | # Add label and role attributes to table and informaltable |
---|
| 154 | bodyatt = |
---|
| 155 | attribute floatstyle { text }?, |
---|
| 156 | attribute rowheader { "firstcol" | "norowheader" }?, |
---|
| 157 | label.attrib |
---|
| 158 | # Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, |
---|
| 159 | # EntryTbl, and Entry (and InformalTable element). |
---|
| 160 | secur = |
---|
| 161 | common.attrib, |
---|
| 162 | attribute class { text }?, |
---|
| 163 | attribute style { text }?, |
---|
| 164 | attribute title { text }?, |
---|
| 165 | i18n, |
---|
| 166 | events, |
---|
| 167 | tables.role.attrib |
---|
| 168 | common.table.attribs = bodyatt, secur |
---|
| 169 | # Content model for Table (that also allows HTML tables) |
---|
| 170 | tbl.table.mdl = |
---|
| 171 | (blockinfo?, |
---|
| 172 | formalobject.title.content, |
---|
| 173 | ndxterm.class*, |
---|
| 174 | textobject*, |
---|
| 175 | (graphic+ | mediaobject+ | tgroup+)) |
---|
| 176 | | (caption, (col* | colgroup*), thead?, tfoot?, (tbody+ | tr+)) |
---|
| 177 | informal.tbl.table.mdl = |
---|
| 178 | (textobject*, (graphic+ | mediaobject+ | tgroup+)) |
---|
| 179 | | ((col* | colgroup*), thead?, tfoot?, (tbody+ | tr+)) |
---|
| 180 | # Attributes for Table (including HTML ones) |
---|
| 181 | |
---|
| 182 | # N.B. rules = (none | groups | rows | cols | all) but it can't be spec'd |
---|
| 183 | |
---|
| 184 | # that way because 'all' already occurs in a different enumeration in |
---|
| 185 | |
---|
| 186 | # CALS tables (frame). |
---|
| 187 | tbl.table.att = |
---|
| 188 | attribute tabstyle { text }?, |
---|
| 189 | attribute tocentry { yesorno.attvals }?, |
---|
| 190 | attribute shortentry { yesorno.attvals }?, |
---|
| 191 | attribute orient { "port" | "land" }?, |
---|
| 192 | attribute pgwide { yesorno.attvals }?, |
---|
| 193 | attribute summary { text }?, |
---|
| 194 | attribute width { text }?, |
---|
| 195 | attribute border { text }?, |
---|
| 196 | attribute rules { text }?, |
---|
| 197 | attribute cellspacing { text }?, |
---|
| 198 | attribute cellpadding { text }?, |
---|
| 199 | attribute align { "left" | "center" | "right" }?, |
---|
| 200 | attribute bgcolor { text }? |
---|
| 201 | tbl.frame.attval = |
---|
| 202 | "void" |
---|
| 203 | | "above" |
---|
| 204 | | "below" |
---|
| 205 | | "hsides" |
---|
| 206 | | "lhs" |
---|
| 207 | | "rhs" |
---|
| 208 | | "vsides" |
---|
| 209 | | "box" |
---|
| 210 | | "border" |
---|
| 211 | | "top" |
---|
| 212 | | "bottom" |
---|
| 213 | | "topbot" |
---|
| 214 | | "all" |
---|
| 215 | | "sides" |
---|
| 216 | | "none" |
---|
| 217 | # Allow either objects or inlines; beware of REs between elements. |
---|
| 218 | tbl.entry.mdl = para.char.mix | tabentry.mix |
---|
| 219 | # thead, tfoot, and tbody are defined in both table models, |
---|
| 220 | # so we set up parameter entities to define union models for them |
---|
| 221 | tbl.hdft.mdl = tr+ | (colspec*, row+) |
---|
| 222 | tbl.tbody.mdl = tr+ | row+ |
---|
| 223 | # End of DocBook XML HTML Table Module V4.5 ............................ |
---|
| 224 | |
---|
| 225 | # ...................................................................... |
---|