db.html.form.attlist =
db.html.attrs
- & attribute action { xsd:anyURI }
- & attribute method { "get" | "post" }?
- & attribute onsubmit { text }?
- & attribute onreset { text }?
- & attribute enctype { text }?
- & attribute accept { text }?
- & attribute accept-charset { text }?
+ & [
+ db:purpose [ "Specifies a form processing agent. User agent behavior for a value other than an HTTP URI is undefined." ]
+ ]
+ attribute action { xsd:anyURI }
+ & [
+ db:purpose [ "Specifies which HTTP method will be used to submit the form data set. Possible (case-insensitive) values are " db:quote [ "get" ] " (the default) and " db:quote [ "post" ] ". " ]
+ ]
+ attribute method { "get" | "post" }?
+ & [
+ db:purpose [ "Ocurs when a form is submitted. It only applies to the " db:tag [ "html:form" ] " element." ]
+ ]
+ attribute onsubmit { text }?
+ & [
+ db:purpose [ "Ocurs when a form is reset. It only applies to the " db:tag [ "html:form" ] " element." ]
+ ]
+ attribute onreset { text }?
+ & [
+ db:purpose [ "Specifies the content type used to submit the form to the server (when the value of method is " db:quote [ "post" ] "). The default value for this attribute is " db:quote [ "application/x-www-form-urlencoded" ] ". The value " db:quote [ "multipart/form-data" ] " should be used in combination with the " db:tag [ "html:input" ] " element, type=" db:quote [ "file" ] "." ]
+ ]
+ attribute enctype { text }?
+ & [
+ db:purpose [ "Specifies a comma-separated list of content types that a server processing this form will handle correctly." ]
+ ]
+ attribute accept { text }?
+ & [
+ db:purpose [ "Specifies the list of character encodings for input data that is accepted by the server processing this form. The value is a space- and/or comma-delimited list of charset values. The client must interpret this list as an exclusive-or list, i.e., the server is able to accept any single character encoding per entity received." ]
+ ]
+ attribute accept-charset { text }?
db.html.form =
element html:form {
db.biblioref.role.attribute = attribute role { text }
db.biblioref.xrefstyle.attribute = attribute xrefstyle { text }
db.biblioref.endterm.attribute = attribute endterm { xsd:IDREF }
- db.biblioref.units.attribute = attribute units { xsd:token }
- db.biblioref.begin.attribute = attribute begin {xsd:token }
- db.biblioref.end.attribute = attribute end { xsd:token }
+ db.biblioref.units.attribute =
+ [
+ db:refpurpose [ "The units (for example, pages) used to identify the beginning and ending of a reference." ]
+ ]
+ attribute units { xsd:token }
+
+ db.biblioref.begin.attribute =
+ [
+ db:refpurpose [ "Identifies the beginning of a reference; the location within the work that is being referenced." ]
+ ]
+ attribute begin {xsd:token }
+
+ db.biblioref.end.attribute =
+ [
+ db:refpurpose [ "Identifies the end of a reference." ]
+ ]
+ attribute end { xsd:token }
db.biblioref.attlist =
db.biblioref.role.attribute?
other-name="area.units-other.attributes" ]
db.area.units.enumeration =
+ ## Coordinates expressed as a pair of CALS graphic coordinates.
"calspair"
- | "linecolumn"
- | "linecolumnpair"
- | "linerange"
+ | ## Coordinates expressed as a line and column.
+ "linecolumn"
+ | ## Coordinates expressed as a pair of lines and columns.
+ "linecolumnpair"
+ | ## Coordinates expressed as a line range.
+ "linerange"
db.area.units-enum.attribute =
+ [
+ db:refpurpose [ "Identifies the units used in the coords attribute The default units vary according to the type of callout specified: " db:tag [ class="attavlue" "calspair" ] " for graphics and " db:tag [ class="attavlue" "linecolumn" ] " for line-oriented elements." ]
+ ]
attribute units { db.area.units.enumeration }?
db.area.units-other.attributes =
- attribute units { "other" }?,
+ [
+ db:refpurpose [ "Indicates that non-standard units are used for this " db:tag [ "area" ] ". In this case " db:tag [ class="attribute" "otherunits" ] " must be specified." ]
+ ]
+ attribute units {
+ ## Coordinates expressed in some non-standard units.
+ "other" }?,
+ [
+ db:refpurpose [ "Identifies the units used in the " db:tag [ class="attribute" "coords" ] " attribute when the " db:tag [ class="attribute" "units" ] " attribute is " db:quote [ "other" ] ". This attribute is forbidden otherwise." ]
+ ]
attribute otherunits { xsd:NMTOKEN }
db.area.units.attribute =
div {
db.callout.role.attribute = attribute role { text }
- db.callout.arearefs.attribute = attribute arearefs { xsd:IDREFS }
+ db.callout.arearefs.attribute =
+ [
+ db:refpurpose [ "Identifies the areas described by this callout." ]
+ ]
+ attribute arearefs { xsd:IDREFS }
db.callout.attlist =
db.callout.role.attribute?
div {
db.area.role.attribute = attribute role { text }
- db.area.linkends.attribute = attribute linkends { xsd:IDREFS }
- db.area.label.attribute = attribute label { text }
- db.area.coords.attribute = attribute coords { text }
+ db.area.linkends.attribute =
+ [
+ db:refpurpose [ "Point to the " db:tag [ "callout" ] "s which refer to this area. (This provides bidirectional linking which may be useful in online presentation.)" ]
+ ]
+ attribute linkends { xsd:IDREFS }
+ db.area.label.attribute =
+ [
+ db:refpurpose [ "Specifies an identifying number or string that may be used in presentation. The area label might be drawn on top of the figure, for example, at the position indicated by the coords attribute." ]
+ ]
+ attribute label { text }
+ db.area.coords.attribute =
+ [
+ db:refpurpose [ "Provides the coordinates of the area. The coordinates must be interpreted using the " db:tag [ class="attribute" "units" ] " specified." ]
+ ]
+ attribute coords { text }
db.area.attlist =
db.area.role.attribute?
db.table.choice |= db.cals.table
db.informaltable.choice |= db.cals.informaltable
-db.char.attribute = attribute char { text }
-db.charoff.attribute = attribute charoff { text }
+db.char.attribute =
+ [
+ db:refpurpose [ "Specifies the alignment character when " db:tag [ class="attribute" "align" ] " is set to " db:quote [ "char" ] "." ]
+ ]
+ attribute char { text }
+
+db.charoff.attribute =
+ [
+ db:refpurpose [ "Specifies the percentage of the column's total width that should appear to the left of the first occurance of the character identified in " db:tag [ class="attribute" "char" ] " when " db:tag [ class="attribute" "align" ] " is set to " db:quote [ "char" ] "." ]
+
+ ]
+ attribute charoff { text }
db.frame.attribute =
- [
- db:refpurpose [ "Specifies how the table is to be framed" ]
- dbx:description [
- db:informaltable [
- db:tgroup [
- cols="2"
- db:thead [
- db:row [
- db:entry [ "Value" ]
- db:entry [ "Meaning" ]
- ]
- ]
- db:tbody [
- db:row [
- db:entry [
- db:tag [
- class="attvalue"
- "all"
- ]
- ]
- db:entry [
- db:para [
- "Frame all four sides of the table." ~
- " In some environments with limited control over" ~
- " table border formatting, such as HTML, this" ~
- " may imply additional borders."
- ]
- ]
- ]
- db:row [
- db:entry [
- db:tag [ class="attvalue" "bottom" ]
- ]
- db:entry [
- db:para [ "Frame only the bottom of the table." ]
- ]
- ]
- db:row [
- db:entry [
- db:tag [ class="attvalue" "none" ]
- ]
- db:entry [
- db:para [
- "Place no border on the table. In some environments" ~
- " with limited control over table border formatting," ~
- " such as HTML, this may disable other borders as" ~
- "well."
- ]
- ]
- ]
- db:row [
- db:entry [
- db:tag [ class="attvalue" "sides" ]
- ]
- db:entry [
- db:para [ "Frame the left and right sides of the table." ]
- ]
- ]
- db:row [
- db:entry [
- db:tag [ class="attvalue" "top" ]
- ]
- db:entry [
- db:para [ "Frame the top of the table."]
- ]
- ]
- db:row [
- db:entry [
- db:tag [ class="attvalue" "topbot" ]
- ]
- db:entry [
- db:para [ "Frame the top and bottom of the table." ]
- ]
- ]
- ]
- ]
- ]
- db:para [
- "There is no way to obtain a border on only the starting edge" ~
- " (left, in left-to-right writing systems) of the table."
- ]
- ]
- ]
- attribute frame { "all" | "bottom" | "none" | "sides" | "top" | "topbot" }
+ [
+ db:refpurpose [ "Specifies how the table is to be framed. Note that there is no way to obtain a border on only the starting edge (left, in left-to-right writing systems) of the table." ]
+ ]
+ attribute frame {
+ ## Frame all four sides of the table. In some environments with limited control over table border formatting, such as HTML, this may imply additional borders.
+ "all"
+ | ## Frame only the bottom of the table.
+ "bottom"
+ | ## Place no border on the table. In some environments with limited control over table border formatting, such as HTML, this may disable other borders as well.
+ "none"
+ | ## Frame the left and right sides of the table.
+ "sides"
+ | ## Frame the top of the table.
+ "top"
+ | ## Frame the top and bottom of the table.
+ "topbot" }
db.colsep.attribute =
[
db.orient.attribute =
[
db:refpurpose [ "Specifies the orientation of the table" ]
- dbx:description [
- db:para [
- "The "
- db:tag [ class="attribute" "orient" ]
- " attribute specifies the orientation of the table." ~
- ". An orientation of "
- db:tag [ class="attvalue" "port" ]
- " is "
- db:quote [ "upright" ]
- ", the same orientation as the rest of the text flow." ~
- " An orientation of "
- db:tag [ class="attvalue" "land" ]
- " is 90 degrees counter-clockwise from the upright orientation."
- ]
- ]
]
- attribute orient { "land" | "port" }
+ attribute orient {
+ ## 90 degrees counter-clockwise from the rest of the text flow.
+ "land"
+ | ## The same orientation as the rest of the text flow.
+ "port" }
db.tabstyle.attribute =
[
db.rowheader.attribute =
[
db:refpurpose [ "Indicates whether or not the entries in the first column should be considered row headers" ]
- dbx:description [
- db:para [
- "The "
- db:tag [ class="attribute" "rowheader" ]
- " attribute indicates whether the entries in the first column" ~
- " of the table" ~
- " are functionally row headers (analagous to the way that" ~
- " a "
- db:tag [ "thead" ]
- " provides column headers). A value of "
- db:tag [ class="attvalue" "firstcol" ]
- " indicates that they are, a value of "
- db:tag [ class="attvalue" "norowheader" ]
- " indicates that they are not."
- ]
- ]
]
- attribute rowheader { "firstcol" | "norowheader" }
+ attribute rowheader {
+ ## Indicates that entries in the first column of the table are functionally row headers (analogous to the way that a thead provides column headers).
+ "firstcol"
+ | ## Indicates that entries in the first column have no special significance with respect to column headers.
+ "norowheader" }
db.align.attribute =
- attribute align { "center" | "char" | "justify" | "left" | "right" }
-db.valign.attribute = attribute valign { "bottom" | "middle" | "top" }
+ [
+ db:refpurpose [ "Specifies the horizontal alignment of text in an entry." ]
+ ]
+ attribute align {
+ ## Centered.
+ "center"
+ | ## Aligned on a particular character.
+ "char"
+ | ## Left and right justified.
+ "justify"
+ | ## Left justified.
+ "left"
+ | ## Right justified.
+ "right"
+ }
+db.valign.attribute =
+ [
+ db:refpurpose [ "Specifies the vertical alignment of text in an entry." ]
+ ]
+ attribute valign {
+ ## Aligned on the bottom of the entry.
+ "bottom"
+ | ## Aligned in the middle.
+ "middle"
+ | ## Aligned at the top of the entry.
+ "top"
+ }
+
+db.specify-col-by-colname.attributes =
+ [
+ db:refpurpose [ "Specifies a column specification by name." ]
+ ]
+ attribute colname { text }
+
+db.specify-col-by-namest.attributes =
+ [
+ db:refpurpose [ "Specifies a starting column by name." ]
+ ]
+ attribute namest { text }
+
+db.specify-span-by-spanspec.attributes =
+ [
+ db:refpurpose [ "Specifies a span by name." ]
+ ]
+ attribute spanname { text }
-db.specify-col-by-colname.attributes = attribute colname { text }
-db.specify-col-by-namest.attributes = attribute namest { text }
-db.specify-span-by-spanspec.attributes = attribute spanname { text }
db.specify-span-directly.attributes =
+ [
+ db:refpurpose [ "Specifies a starting column by name." ]
+ ]
attribute namest {text }
- & attribute nameend { text }
+ & [
+ db:refpurpose [ "Specifies an ending column by name." ]
+ ]
+ attribute nameend { text }
db.column-spec.attributes =
db.specify-col-by-colname.attributes
| db.specify-span-by-spanspec.attributes
| db.specify-span-directly.attributes
-db.colname.attribute = attribute colname { text }
-db.spanname.attribute = attribute spanname { text }
+db.colname.attribute =
+ [
+ db:refpurpose [ "Provides a name for a column specification." ]
+ ]
+ attribute colname { text }
+
+db.spanname.attribute =
+ [
+ db:refpurpose [ "Provides a name for a span specification." ]
+ ]
+ attribute spanname { text }
# ======================================================================
div {
db.tgroup.role.attribute = attribute role { text }
- db.tgroup.tgroupstyle.attribute = attribute tgroupstyle { text }
- db.tgroup.cols.attribute = attribute cols { xsd:integer }
+ db.tgroup.tgroupstyle.attribute =
+ [
+ db:refpurpose [ "Additional style information for downstream processing; typically the name of a style." ]
+ ]
+ attribute tgroupstyle { text }
+ db.tgroup.cols.attribute =
+ [
+ db:refpurpose [ "The number of columns in the table. Must be an integer greater than zero." ]
+ ]
+ attribute cols { xsd:integer }
db.tgroup.attlist =
db.tgroup.role.attribute?
div {
db.colspec.role.attribute = attribute role { text }
- db.colspec.colnum.attribute = attribute colnum { xsd:integer }
- db.colspec.colwidth.attribute = attribute colwidth { text }
+ db.colspec.colnum.attribute =
+ [
+ db:refpurpose [ "The number of the column to which this specification applies. Must be greater than any preceding column number. Defaults to one more than the number of the preceding column, if there is one, or one." ]
+ ]
+ attribute colnum { xsd:integer }
+ db.colspec.colwidth.attribute =
+ [
+ db:refpurpose [ "Specifies the width of the column." ]
+ ]
+ attribute colwidth { text }
db.colspec.attlist =
db.colspec.role.attribute?
div {
db.spanspec.role.attribute = attribute role { text }
- db.spanspec.namest.attribute = attribute namest { text }
- db.spanspec.nameend.attribute = attribute nameend { text }
+ db.spanspec.namest.attribute =
+ [
+ db:refpurpose [ "Specifies a starting column by name." ]
+ ]
+ attribute namest { text }
+ db.spanspec.nameend.attribute =
+ [
+ db:refpurpose [ "Specifies an ending column by name." ]
+ ]
+ attribute nameend { text }
db.spanspec.attlist =
db.spanspec.role.attribute?
div {
db.entry.role.attribute = attribute role { text }
- db.entry.morerows.attribute = attribute morerows { xsd:integer }
- db.entry.rotate.attribute = attribute rotate { text }
+ db.entry.morerows.attribute =
+ [
+ db:refpurpose [ "Specifies the number of additional rows which this entry occupies. Defaults to zero." ]
+ ]
+ attribute morerows { xsd:integer }
+ db.entry.rotate.attribute =
+ [
+ db:refpurpose [ "Specifies the rotation of this entry. FIXME: what are the legal values of this attribute?" ]
+ ]
+ attribute rotate { text }
db.entry.attlist =
db.entry.role.attribute?
div {
db.entrytbl.role.attribute = attribute role { text }
- db.entrytbl.tgroupstyle.attribute = attribute tgroupstyle { text }
- db.entrytbl.cols.attribute = attribute cols { xsd:integer }
+ db.entrytbl.tgroupstyle.attribute =
+ [
+ db:refpurpose [ "Additional style information for downstream processing; typically the name of a style." ]
+ ]
+ attribute tgroupstyle { text }
+ db.entrytbl.cols.attribute =
+ [
+ db:refpurpose [ "The number of columns in the entry table. Must be an integer greater than zero." ]
+ ]
+ attribute cols { xsd:integer }
db.entrytbl.attlist =
db.entrytbl.role.attribute?
& db.pgwide.attribute?
& [
db:refpurpose [ "Indicates if the short or long title should be used in a List of Tables" ]
- dbx:description [
- db:para [
- "If "
- db:tag [ class="attribute" "shortentry" ]
- " has the value 1 (true), then the table's "
- db:tag [ "titleabbrev" ]
- " will be used in the list of titles, index, etc." ~
- " A value of 0 (false) indicates that the full "
- db:tag [ "title" ]
- " title should be used in those places."
- ]
- ]
- ] attribute shortentry { "0" | "1" }?
+ ]
+ attribute shortentry {
+ ## Indicates that the full title should be used.
+ "0"
+ | ## Indicates that the short short title (titleabbrev) should be used.
+ "1" }?
& [
db:refpurpose [ "Indicates if the table should appear in a List of Tables" ]
- dbx:description [
- db:para [
- "If "
- db:tag [ class="attribute" "tocentry" ]
- " has the value 1 (true), then the table will appear in a" ~
- " generated list of tables. A value of 0 (false) indicates" ~
- " that it should not."
- ]
]
- ] attribute tocentry { "0" | "1" }?
+ attribute tocentry {
+ ## Indicates that the table should not occur in the List of Tables.
+ "0"
+ | ## Indicates that the table should appear in the List of Tables.
+ "1" }?
& db.rowheader.attribute?
db.cals.table.info = db._info.title.onlyreq
# ======================================================================
-db.baseform.attribute = attribute baseform { text }?
+db.baseform.attribute =
+ [
+ db:refpurpose [ "Specifies the base form of the term, the one that appears in the glossary. This allows adjectival, plural, and other variations of the term to appear in the element. The element content is the default base form." ]
+ ]
+ attribute baseform { text }?
# ======================================================================
db.informaltable.choice |= db.html.informaltable
db.html.coreattrs =
+ [
+ db:refpurpose [ "This attribute assigns a class name or set of class names to an element. Any number of elements may be assigned the same class name or names. Multiple class names must be separated by white space characters." ]
+ ]
attribute class { text }?
- & attribute style { text }?
- & attribute title { text }?
+ & [
+ db:refpurpose [ "This attribute specifies style information for the current element." ]
+ ]
+ attribute style { text }?
+ & [
+ db:refpurpose [ "This attribute offers advisory information about the element for which it is set." ]
+ ]
+ attribute title { text }?
# dir isn't listed here because it's already a common attribute
db.html.i18n =
+ [
+ db:refpurpose [ "This attribute specifies the base language of an element's attribute values and text content. The default value of this attribute is unknown." ]
+ ]
attribute lang { text }?
db.html.events =
+ [
+ db:refpurpose [ "Occurs when the pointing device button is clicked over an element." ]
+ ]
attribute onclick { text }?
- & attribute ondblclick { text }?
- & attribute onmousedown { text }?
- & attribute onmouseup { text }?
- & attribute onmouseover { text }?
- & attribute onmousemove { text }?
- & attribute onmouseout { text }?
- & attribute onkeypress { text }?
- & attribute onkeydown { text }?
- & attribute onkeyup { text }?
+ & [
+ db:refpurpose [ "Occurs when the pointing device button is double clicked over an element." ]
+ ]
+ attribute ondblclick { text }?
+ & [
+ db:refpurpose [ "Occurs when the pointing device button is pressed over an element." ]
+ ]
+ attribute onmousedown { text }?
+ & [
+ db:refpurpose [ "Occurs when the pointing device button is released over an element." ]
+ ]
+ attribute onmouseup { text }?
+ & [
+ db:refpurpose [ "Occurs when the pointing device is moved onto an element." ]
+ ]
+ attribute onmouseover { text }?
+ & [
+ db:refpurpose [ "Occurs when the pointing device is moved while it is over an element." ]
+ ]
+ attribute onmousemove { text }?
+ & [
+ db:refpurpose [ "Occurs when the pointing device is moved away from an element." ]
+ ]
+ attribute onmouseout { text }?
+ & [
+ db:refpurpose [ "Occurs when a key is pressed and released over an element." ]
+ ]
+ attribute onkeypress { text }?
+ & [
+ db:refpurpose [ "Occurs when a key is pressed down over an element." ]
+ ]
+ attribute onkeydown { text }?
+ & [
+ db:refpurpose [ "Occurs when a key is released over an element." ]
+ ]
+ attribute onkeyup { text }?
db.html.attrs =
db.common.attributes
& db.html.events
db.html.cellhalign =
- attribute align { "left" | "center" | "right" | "justify" | "char" }?
- & attribute char { text }?
- & attribute charoff { text }?
+ [
+ db:refpurpose [ "Specifies the alignment of data and the justification of text in a cell." ]
+ ]
+ attribute align {
+ ## Left-flush data/Left-justify text. This is the default value for table data.
+ "left"
+ | ## Center data/Center-justify text. This is the default value for table headers.
+ "center"
+ | ## Right-flush data/Right-justify text.
+ "right"
+ | ## Double-justify text.
+ "justify"
+ | ## Align text around a specific character. If a user agent doesn't support character alignment, behavior in the presence of this value is unspecified.
+ "char" }?
+ & [
+ db:refpurpose [ "This attribute specifies a single character within a text fragment to act as an axis for alignment. The default value for this attribute is the decimal point character for the current language as set by the lang attribute (e.g., the period in English and the comma in French). User agents are not required to support this attribute." ]
+ ]
+ attribute char { text }?
+ & [
+ db:refpurpose [ "When present, this attribute specifies the offset to the first occurrence of the alignment character on each line. If a line doesn't include the alignment character, it should be horizontally shifted to end at the alignment position. When charoff is used to set the offset of an alignment character, the direction of offset is determined by the current text direction (set by the dir attribute). In left-to-right texts (the default), offset is from the left margin. In right-to-left texts, offset is from the right margin. User agents are not required to support this attribute." ]
+ ]
+ attribute charoff { text }?
db.html.cellvalign =
- attribute valign { "top" | "middle" | "bottom" | "baseline" }?
+ [
+ db:refpurpose [ "Specifies the vertical position of data within a cell." ]
+ ]
+ attribute valign {
+ ## Cell data is flush with the top of the cell.
+ "top"
+ | ## Cell data is centered vertically within the cell. This is the default value.
+ "middle"
+ | ## Cell data is flush with the bottom of the cell.
+ "bottom"
+ | ## All cells in the same row as a cell whose valign attribute has this value should have their textual data positioned so that the first text line occurs on a baseline common to all cells in the row. This constraint does not apply to subsequent text lines in these cells.
+ "baseline" }?
+
+db.html.table.attributes =
+ [
+ db:refpurpose [ "Provides a summary of the table's purpose and structure for user agents rendering to non-visual media such as speech and Braille." ]
+ ]
+ attribute summary { text }?
+ & [
+ db:refpurpose [ "Specifies the desired width of the entire table and is intended for visual user agents. When the value is a percentage value, the value is relative to the user agent's available horizontal space. In the absence of any width specification, table width is determined by the user agent." ]
+ ]
+ attribute width { text }?
+ & [
+ db:refpurpose [ "Specifies the width (in pixels only) of the frame around a table." ]
+ ]
+ attribute border { text }?
+ & [
+ db:refpurpose [ "Specifies which sides of the frame surrounding a table will be visible." ]
+ ]
+ attribute frame {
+ ## No sides. This is the default value.
+ "void"
+ | ## The top side only.
+ "above"
+ | ## The bottom side only.
+ "below"
+ | ## The top and bottom sides only.
+ "hsides"
+ | ## The left-hand side only.
+ "lhs"
+ | ## The right-hand side only.
+ "rhs"
+ | ## The right and left sides only.
+ "vsides"
+ | ## All four sides.
+ "box"
+ | ## All four sides.
+ "border"
+ }?
+ & [
+ db:refpurpose [ "Specifies which rules will appear between cells within a table. The rendering of rules is user agent dependent." ]
+ ]
+ attribute rules {
+ ## No rules. This is the default value.
+ "none"
+ | ## Rules will appear between row groups (see thead, tfoot, and tbody) and column groups (see colgroup and col) only.
+ "groups"
+ | ## Rules will appear between rows only.
+ "rows"
+ | ## Rules will appear between columns only.
+ "cols"
+ | ## Rules will appear between all rows and columns.
+ "all" }?
+ & [
+ db:refpurpose [ "Specifies how much space the user agent should leave between the left side of the table and the left-hand side of the leftmost column, the top of the table and the top side of the topmost row, and so on for the right and bottom of the table. The attribute also specifies the amount of space to leave between cells." ]
+ ]
+ attribute cellspacing { text }?
+ & [
+ db:refpurpose [ "Specifies the amount of space between the border of the cell and its contents. If the value of this attribute is a pixel length, all four margins should be this distance from the contents. If the value of the attribute is a percentage length, the top and bottom margins should be equally separated from the content based on a percentage of the available vertical space, and the left and right margins should be equally separated from the content based on a percentage of the available horizontal space." ]
+ ]
+ attribute cellpadding { text }?
+
+db.html.tablecell.attributes =
+ [
+ db:refpurpose [ "Provides an abbreviated form of the cell's content and may be rendered by user agents when appropriate in place of the cell's content. Abbreviated names should be short since user agents may render them repeatedly. For instance, speech synthesizers may render the abbreviated headers relating to a particular cell before rendering that cell's content." ]
+ ]
+ attribute abbr { text }?
+ & [
+ db:refpurpose [ "This attribute may be used to place a cell into conceptual categories that can be considered to form axes in an n-dimensional space. User agents may give users access to these categories (e.g., the user may query the user agent for all cells that belong to certain categories, the user agent may present a table in the form of a table of contents, etc.). Please consult an HTML reference for more details." ]
+ ]
+ attribute axis { text }?
+ & [
+ db:refpurpose [ "Specifies the list of header cells that provide header information for the current data cell. The value of this attribute is a space-separated list of cell names; those cells must be named by setting their id attribute. Authors generally use the headers attribute to help non-visual user agents render header information about data cells (e.g., header information is spoken prior to the cell data), but the attribute may also be used in conjunction with style sheets." ]
+ ]
+ attribute headers { text }?
+ & [
+ db:refpurpose [ "Specifies the set of data cells for which the current header cell provides header information. This attribute may be used in place of the headers attribute, particularly for simple tables." ]
+ ]
+ attribute scope {
+ ## The current cell provides header information for the rest of the row that contains it
+ "row"
+ | ## The current cell provides header information for the rest of the column that contains it.
+ "col"
+ | ## The header cell provides header information for the rest of the row group that contains it.
+ "rowgroup"
+ | ## The header cell provides header information for the rest of the column group that contains it.
+ "colgroup"
+ }?
+ & [
+ db:refpurpose [ "Specifies the number of rows spanned by the current cell. The default value of this attribute is one (" db:quote [ "1" ] "). The value zero (" db:quote [ "0" ] ") means that the cell spans all rows from the current row to the last row of the table section (" db:tag [ "thead" ] ", " db:tag [ "tbody" ] ", or " db:tag [ "tfoot" ] ") in which the cell is defined." ]
+ ]
+ attribute rowspan { text }?
+ & [
+ db:refpurpose [ "Specifies the number of columns spanned by the current cell. The default value of this attribute is one (" db:quote [ "1" ] "). The value zero (" db:quote [ "0" ] ") means that the cell spans all columns from the current column to the last column of the column group (" db:tag [ "colgroup" ] ") in which the cell is defined." ]
+ ]
+ attribute colspan { text }?
db.html.table.model =
db.html.caption,
db.html.table.attlist =
db.html.attrs
+ & db.html.table.attributes
& db.orient.attribute?
& db.pgwide.attribute?
& db.tabstyle.attribute?
& db.floatstyle.attribute?
- & attribute summary { text }?
- & attribute width { text }?
- & attribute border { text }?
- & attribute frame {
- "void"
- | "above"
- | "below"
- | "hsides"
- | "lhs"
- | "rhs"
- | "vsides"
- | "box"
- | "border"
- }?
- & attribute rules { "none" | "groups" | "rows" | "cols" | "all" }?
- & attribute cellspacing { text }?
- & attribute cellpadding { text }?
db.html.table =
element table {
db.html.informaltable.attlist =
db.html.attrs
- & attribute summary { text }?
- & attribute width { text }?
- & attribute border { text }?
- & attribute frame {
- "void"
- | "above"
- | "below"
- | "hsides"
- | "lhs"
- | "rhs"
- | "vsides"
- | "box"
- | "border"
- }?
- & attribute rules { "none" | "groups" | "rows" | "cols" | "all" }?
- & attribute cellspacing { text }?
- & attribute cellpadding { text }?
+ & db.html.table.attributes
db.html.informaltable =
element informaltable {
db.html.col.attlist =
db.html.attrs
- & attribute span { text }?
- & attribute width { text }?
+ & [
+ db:refpurpose [ "This attribute, whose value must be an integer > 0, specifies the number of columns " db:quote [ "spanned" ] " by the " db:tag [ "col" ] " element; the " db:tag [ "col" ] " element shares its attributes with all the columns it spans. The default value for this attribute is 1 (i.e., a single column). If the span attribute is set to N > 1, the current " db:tag [ "col" ] " element shares its attributes with the next N-1 columns." ]
+ ]
+ attribute span { text }?
+ & [
+ db:refpurpose [ "Specifies a default width for each column spanned by the current " db:tag [ "col" ] " element. It has the same meaning as the " db:tag [ class="attribute" "width" ] " attribute for the " db:tag [ "colgroup" ] " element and overrides it." ]
+ ]
+ attribute width { text }?
& db.html.cellhalign
& db.html.cellvalign
db.html.colgroup.attlist =
db.html.attrs
- & attribute span { text }?
- & attribute width { text }?
+ & [
+ db:refpurpose [ "This attribute, which must be an integer > 0, specifies the number of columns in a column group. In the absence of a span attribute, each " db:tag [ "colgroup" ] " defines a column group containing one column. If the span attribute is set to N > 0, the current " db:tag [ "colgroup" ] " element defines a column group containing N columns. User agents must ignore this attribute if the " db:tag [ "colgroup" ] " element contains one or more " db:tag [ "col" ] " elements." ]
+ ]
+ attribute span { text }?
+ & [
+ db:refpurpose [ "This attribute specifies a default width for each column in the current column group. In addition to the standard pixel, percentage, and relative values, this attribute allows the special form " db:quote [ "0*" ] " (zero asterisk) which means that the width of the each column in the group should be the minimum width necessary to hold the column's contents. This implies that a column's entire contents must be known before its width may be correctly computed. Authors should be aware that specifying " db:quote [ "0*" ] " will prevent visual user agents from rendering a table incrementally. This attribute is overridden for any column in the column group whose width is specified via a " db:tag [ "col" ] " element." ]
+ ]
+ attribute width { text }?
& db.html.cellhalign
& db.html.cellvalign
db.html.th.attlist =
db.html.attrs
- & attribute abbr { text }?
- & attribute axis { text }?
- & attribute headers { text }?
- & attribute scope { text }?
- & attribute rowspan { text }?
- & attribute colspan { text }?
+ & db.html.tablecell.attributes
& db.html.cellhalign
& db.html.cellvalign
db.html.td.attlist =
db.html.attrs
- & attribute abbr { text }?
- & attribute axis { text }?
- & attribute headers { text }?
- & attribute scope { text }?
- & attribute rowspan { text }?
- & attribute colspan { text }?
+ & db.html.tablecell.attributes
& db.html.cellhalign
& db.html.cellvalign
div {
db._any.mml =
- element mml:* {
- attribute * { text }*,
- (text | db._any)*
- }
+ element mml:* { (db._any.attribute | text | db._any)* }
}
[
db:refname [ "*:*" ]
- db:refpurpose [ "Any element from any namespace except the DocBook namespace" ]
+ db:refpurpose [ "Any element from almost any namespace" ]
]
div {
+ db._any.attribute =
+ [
+ db:refpurpose [ "Any attribute including in any attribute in any namespace." ]
+ ]
+ attribute * { text }
+
db._any =
- element * - (db:* | html:*) { (attribute * { text } | text | db._any)* }
+ element * - (db:* | html:*) { (db._any.attribute | text | db._any)* }
}
other-name="db.keycombo.action-other.attributes" ]
db.keycombo.action.enumeration =
- "click" | "double-click" | "press" | "seq" | "simul"
+ ## A (single) mouse click.
+ "click"
+ | ## A double mouse click.
+ "double-click"
+ | ## A mouse or key press.
+ "press"
+ | ## Sequential clicks or presses.
+ "seq"
+ | ## Simultaneous clicks or presses.
+ "simul"
db.keycombo.action-enum.attribute =
+ [
+ db:refpurpose [ "Identifies the nature of the action taken. If " db:tag [ "keycombo" ] " contains more than one element, " db:tag [ class="attvalue" "simul" ] " is the default, otherwise there is no default." ]
+ ]
attribute action { db.keycombo.action.enumeration }?
db.keycombo.action-other.attributes =
- attribute action { "other" }?,
+ [
+ db:refpurpose [ "Indicates that some non-standard action is taken." ]
+ ]
+ attribute action {
+ ## Indicates a non-standard action.
+ "other"
+ }?,
+ [
+ db:refpurpose [ "Identifies the non-standard action in some unspecified way." ]
+ ]
attribute otheraction { text }
db.keycombo.action.attrib =
div {
db._any.svg =
- element svg:* {
- attribute * { text }*,
- (text | db._any)*
- }
+ element svg:* { (db._any.attribute | text | db._any)* }
}