Skip to main content
Version: DocBook V4.5

entry

entry — A cell in a table

Synopsis

Mixed Content Model

entry ::=
(#PCDATA|footnoteref|xref|biblioref|abbrev|acronym|citation|
citerefentry|citetitle|citebiblioid|emphasis|firstterm|
foreignphrase|glossterm|termdef|footnote|phrase|orgname|quote|
trademark|wordasword|personname|link|olink|ulink|action|
application|classname|methodname|interfacename|exceptionname|
ooclass|oointerface|ooexception|package|command|computeroutput|
database|email|envar|errorcode|errorname|errortype|errortext|
filename|function|guibutton|guiicon|guilabel|guimenu|guimenuitem|
guisubmenu|hardware|interface|keycap|keycode|keycombo|keysym|
literal|code|constant|markup|medialabel|menuchoice|mousebutton|
option|optional|parameter|prompt|property|replaceable|
returnvalue|sgmltag|structfield|structname|symbol|systemitem|uri|
token|type|userinput|varname|nonterminal|anchor|author|
authorinitials|corpauthor|corpcredit|modespec|othercredit|
productname|productnumber|revhistory|remark|subscript|
superscript|inlinegraphic|inlinemediaobject|inlineequation|
synopsis|cmdsynopsis|funcsynopsis|classsynopsis|fieldsynopsis|
constructorsynopsis|destructorsynopsis|methodsynopsis|indexterm|
beginpage|calloutlist|glosslist|bibliolist|itemizedlist|
orderedlist|segmentedlist|simplelist|variablelist|caution|
important|note|tip|warning|literallayout|programlisting|
programlistingco|screen|screenco|screenshot|formalpara|para|
simpara|graphic|mediaobject)*

Attributes

Common attributes

Name

Type

Default

rowsep

CDATA

None

spanname

CDATA

None

ondblclick

CDATA

None

colname

CDATA

None

onkeydown

CDATA

None

onkeyup

CDATA

None

onmouseup

CDATA

None

onmouseover

CDATA

None

align

Enumeration:

center

char

justify

left

right

None

valign

Enumeration:

bottom

middle

top

None

rotate

CDATA

None

onkeypress

CDATA

None

onmousedown

CDATA

None

nameend

CDATA

None

onclick

CDATA

None

title

CDATA

None

class

CDATA

None

colsep

CDATA

None

charoff

CDATA

None

namest

CDATA

None

onmouseout

CDATA

None

onmousemove

CDATA

None

style

CDATA

None

xml:lang

NMTOKEN

None

char

CDATA

None

morerows

CDATA

None

Description

Entry is a cell in a table.

Each Entry may specify its starting column. Entries that do not explicitly specify a starting column begin implicitly in the column that is immediately adjacent to the preceding cell. Note that Entrys with the MoreRows attribute from preceding rows implicitly occupy cells in the succeeding Rows.

Rows are not required to be full. It is legal for some entries to be completely absent (at the beginning, middle, or end of a row).

Pernicious Mixed Content

The content model of the Entry element exhibits a nasty peculiarity that we call “pernicious mixed content”.[18]

Every other element in DocBook contains either block elements or inline elements (including #PCDATA) unambiguously. In these cases, the meaning of line breaks and spaces are well understood; they are insignificant between block elements and significant (to the SGML parser, anyway) where inline markup can occur.

Table entries are different; they can contain either block or inline elements, but not both at the same time. In other words, one Entry in a table might contain a paragraph or a list while another contains simply #PCDATA or another inline markup, but no single Entry can contain both.

Because the content model of an Entry allows both kinds of markup, each time the SGML parser encounters an Entry, it has to decide what variety of markup it contains. SGML parsers are forbidden to use more than a single token of lookahead to reach this decision. In practical terms, what this means is that a line feed or space after an Entry start tag causes the parser to decide that the cell contains inline markup. Subsequent discovery of a paragraph or another block element causes a parsing error.

All of these are legal:


<entry>3.1415927</entry>
<entry>General <emphasis>#PCDATA</emphasis></entry>
<entry><para>
A paragraph of text
</para></entry>

However, each of these is an error:

<entry>                Error, cannot have a line break before a block element
<para>
A paragraph of text.
</para></entry>

<entry><para>
A paragraph of text.
</para> Error, cannot have a line break between block elements
<para>
A paragraph of text.
</para></entry>

<entry><para>
A paragraph of text.
</para> Error, cannot have a line break after a block element
</entry>

When designing a DTD, it is wise to avoid pernicious mixed content. Unfortunately, the only way to correct the pernicious mixed content problem that already exists in DocBook is to require some sort of wrapper (a block element, or an inline like Phrase) around #PCDATA within table Entrys. This is annoying and inconvenient in a great many tables in which #PCDATA cells predominate and, in addition, differ from CALS.

Processing expectations

This element is expected to obey the semantics of the CALS Table Model Document Type Definition, as specified by OASIS Technical Memorandum TM 9502:1995 .

The content of Entry is formatted to fit within the table cell that it occupies. Horizontal and vertical spanning may allow the content of an Entry to occupy several physical cells.

Future Changes

The InterfaceDefinition element will be discarded in DocBook V4.0. It will no longer be available in the content model of this element.

Parents

These elements contain entry: row.

Children

The following elements occur in entry: abbrev, acronym, action, anchor, application, author, authorinitials, beginpage, bibliolist, biblioref, calloutlist, caution, citation, citebiblioid, citerefentry, citetitle, classname, classsynopsis, cmdsynopsis, code, command, computeroutput, constant, constructorsynopsis, corpauthor, corpcredit, database, destructorsynopsis, email, emphasis, envar, errorcode, errorname, errortext, errortype, exceptionname, fieldsynopsis, filename, firstterm, footnote, footnoteref, foreignphrase, formalpara, funcsynopsis, function, glosslist, glossterm, graphic, guibutton, guiicon, guilabel, guimenu, guimenuitem, guisubmenu, hardware, important, indexterm, inlineequation, inlinegraphic, inlinemediaobject, interface, interfacename, itemizedlist, keycap, keycode, keycombo, keysym, link, literal, literallayout, markup, medialabel, mediaobject, menuchoice, methodname, methodsynopsis, modespec, mousebutton, nonterminal, note, olink, ooclass, ooexception, oointerface, option, optional, orderedlist, orgname, othercredit, package, para, parameter, personname, phrase, productname, productnumber, programlisting, programlistingco, prompt, property, quote, remark, replaceable, returnvalue, revhistory, screen, screenco, screenshot, segmentedlist, sgmltag, simpara, simplelist, structfield, structname, subscript, superscript, symbol, synopsis, systemitem, termdef, tip, token, trademark, type, ulink, uri, userinput, variablelist, varname, warning, wordasword, xref.

Attributes

align

Align specifies the horizontal alignment of text (and other elements) within the Entry. If no alignment is specified, it is inherited from the ColSpec for the current column, or the SpanSpec if this entry occurs in a span. If Char is specified, see also Char and CharOff.

char

Char specifies the alignment character when the Align attribute is set to Char.

charoff

CharOff specifies the percentage of the column's total width that should appear to the left of the first occurance of the character identified in Char when the Align attribute is set to Char. This attribute is inherited from the relevant ColSpec or SpanSpec.

colname

ColName identifies the column in which this entry should appear; it must have been previously defined in a ColSpec. Entrys cannot be given out of order, the column referenced must be to the right of the last Entry or EntryTbl placed in the current row. It is an error to specify both a ColName and a SpanName.

colsep

If ColSep has the value 1 (true), then a rule will be drawn to the right of this Entry. A value of 0 (false) suppresses the rule. The rule to the right of the last column in the table is controlled by the Frame attribute of the enclosing Table or InformalTable and the ColSep of an entry in the last column in the table is ignored. If unspecified, this attribute is inherited from the the corresponding ColSpec or SpanSpec and enclosing elements.

morerows

MoreRows indicates how many more rows, in addition to the current row, this Entry is to occupy. It creates a vertical span. The default of 0 indicates that the Entry occupies only a single row.

nameend

NameEnd is the name (defined in a ColSpec) of the rightmost column of a span. On Entry, specifying both NameSt and NameEnd defines a horizontal span for the current Entry. (See also SpanName.)

namest

NameSt (“name start”) is the name (defined in a ColSpec) of the leftmost column of a span. On Entry, specifying both NameSt and NameEnd defines a horizontal span for the current Entry. (See also SpanName.)

rotate

If Rotate has the value 1 (true), the Entry is to be rotated 90 degrees counterclockwise in the table cell. A value of 0 (false) indicates that no rotation is to occur. If the stylesheet also specifies rotation, the value of Rotate is ignored; they are not additive. Only the values 0 and 1 are legal.

rowsep

If RowSep has the value 1 (true), then a rule will be drawn below the Entry. A value of 0 (false) suppresses the rule. The rule below the last row in the table is controlled by the Frame attribute of the enclosing Table or InformalTable and the RowSep of the last row is ignored. If unspecified, this attribute is inherited from enclosing elements.

spanname

SpanName is the name (defined in a SpanSpec) of a span. This cell will be rendered with the specified horizontal span.

valign

VAlign specifies the vertical alignment of text (and other elements) within the Entry. If no alignment is specified, it is inherited from enclosing elements.

Examples

For examples, see entrytbl, footnoteref, informaltable, table.


[18] A term coined by Terry Allen.