The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

# /=====================================================================\
# | LaTeXML-tabular.rnc |
# | RelaxNG model for LaTeXML generated documents |
# |=====================================================================|
# | Part of LaTeXML: |
# | Public domain software, produced as part of work done by the |
# | United States Government & not subject to copyright in the US. |
# |=====================================================================|
# | Bruce Miller <bruce.miller@nist.gov> #_# |
# \=========================================================ooo==U==ooo=/
default namespace = "http://dlmf.nist.gov/LaTeXML"
## This module defines the basic tabular, or alignment, structure.
## It is roughly parallel to the HTML model.
Misc.class |= tabular
#======================================================================
tabular =
## An alignment structure corresponding to tabular or various similar forms.
## The model is basically a copy of HTML4's table.
element tabular { tabular_attributes, tabular_model }
## Attributes for \elementref{tabular}.
tabular_attributes =
Common.attributes,
Backgroundable.attributes,
ID.attributes,
## which row's baseline aligns with the container's baseline.
attribute vattach { "top" | "middle" | "bottom" }?,
## the desired width of the tabular.
attribute width { Length.type }?,
## the spacing between rows
attribute rowsep { Length.type}?,
## the spacing between columns
attribute colsep { Length.type}?
## Content model for \elementref{tabular}.
tabular_model = (thead | tfoot | tbody | tr)*
#======================================================================
thead =
## A container for a set of rows that correspond to the header of the tabular.
element thead { thead_attributes, thead_model }
## Attributes for \elementref{thead}.
thead_attributes =
Common.attributes,
Backgroundable.attributes
## Content model for \elementref{thead}.
thead_model = tr*
#======================================================================
tfoot =
## A container for a set of rows that correspond to the footer of the tabular.
element tfoot { tfoot_attributes, tfoot_model }
## Attributes for \elementref{tfoot}.
tfoot_attributes =
Common.attributes,
Backgroundable.attributes
## Content model for \elementref{tfoot}.
tfoot_model = tr*
#======================================================================
tbody =
## A container for a set of rows corresponding to the body of the tabular.
element tbody { tbody_attributes, tbody_model }
## Attributes for \elementref{tbody}.
tbody_attributes =
Common.attributes,
Backgroundable.attributes
## Content model for \elementref{tbody}.
tbody_model = tr*
#======================================================================
tr =
## A row of a tabular.
element tr { tr_attributes, tr_model }
## Attributes for \elementref{tr}.
tr_attributes =
Common.attributes,
Backgroundable.attributes,
ID.attributes
## Content model for \elementref{tr}.
tr_model = td*
#======================================================================
td =
## A cell in a row of a tabular.
element td { td_attributes, td_model }
## Attributes for \elementref{td}.
td_attributes =
Common.attributes,
Backgroundable.attributes,
ID.attributes,
## indicates how many columns this cell spans or covers.
attribute colspan { xsd:nonNegativeInteger }?,
## indicates how many rows this cell spans or covers.
attribute rowspan { xsd:nonNegativeInteger }?,
## specifies the horizontal alignment of the content.
## The allowed values are open-ended to accomodate \texttt{char:.} type alignments.
attribute align { "left" | "right" | "center" | "justify" | text }?,
## specifies the desired width for the column.
attribute width { Length.type }?,
## how the cell contents aligns with the row's baseline.
attribute vattach { "top" | "middle" | "bottom" }?,
## records a sequence of t or tt, r or rr, b or bb and l or ll
## for borders or doubled borders on any side of the cell.
attribute border { text }?,
## whether this cell corresponds to a table row or column heading or both
## (whether in head or foot).
attribute thead { "column" | "column row" | "row"}?
## Content model for \elementref{td}.
td_model = Inline.model
#======================================================================