<table>
Summary
The <table>
element.
Some block-level elements are allowed in table cells, but neither a <heading>
element or a <table>
element are valid.
Tables structural elements: <caption>, <col> , <row> and <cell>.
Usage context
Element category | block |
---|---|
PSML level | portable |
Permitted content | <caption> <col> <row> |
Permitted parent | <fragment> |
HTML equivalent | <table> |
OpenXML equivalent | <w:table> |
Attributes
This element supports the following attributes:
Name | Type | Required | Description |
---|---|---|---|
height | length | no | Height of table in pixels |
role | role | no | Custom value that can be used for formatting |
summary | xs:string | no | Summary of tables purpose for non-visual readers |
width | length | no | Width of table in pixels or percent |
The following attributes have been deprecated and might be ignored in future releases:
Name | Type | Required | Description |
---|---|---|---|
border | fixed-length | no | The width (in pixels) of the border around table cells |
cellpadding | fixed-length | no | The number of pixels between the border of the cell and its contents |
cellspacing | fixed-length | no | The number of pixels between the border of the cell and the table frame or other cells |
@height
The height of the table in pixels (might have px
suffix).
@role
A value to clarify the purpose of a table for formatting or validation. Functionally equivalent to a table style in Word or FrameMaker.
@summary
A summary of the table for non-visual readers.
@width
The width of the table in pixels (px
) or percent (%
), if neither is present the value is treated as pixels.
Examples
Following is a basic table model with a caption and a header row.
This example is from the Current table above.
<table width="100%"> <caption>Current</caption> <col part="header"/> <col/> <col/> <col/> <row part="header"> <cell width="120px" align="center">Name</cell> <cell width="120px" align="center">Type</cell> <cell>Required</cell> <cell>Description</cell> </row> <row> <hcell>height</hcell> <cell> <xref id="556331" title="length" frag="5" reversefrag="attributes" reversetitle="Attributes" reverselink="true" reversetype="none" display="manual" type="none" uriid="193967" href="../datatypes/pageseeder_datatypes.psml" urititle="PageSeeder datatypes" mediatype="application/vnd.pageseeder.psml+xml">length </xref> </cell> <cell>no</cell> <cell>Height of table in pixels.</cell> </row> <row> <hcell>role</hcell> <cell> <xref id="556332" title="role" frag="7" reversefrag="attributes" reversetitle="Attributes" reverselink="true" reversetype="none" display="manual" type="none" uriid="193967" href="../datatypes/pageseeder_datatypes.psml" urititle="PageSeeder datatypes" mediatype="application/vnd.pageseeder.psml+xml">role </xref> </cell> <cell>no</cell> <cell>Custom value that can be used for formatting. </cell> </row> <row> <hcell>summary</hcell> <cell> <xref id="556333" title="xs:string" frag="7" reversefrag="attributes" reversetitle="Attributes" reverselink="true" reversetype="none" display="manual" type="none" uriid="193962" href="../datatypes/xml_schema_datatypes.psml" urititle="XML Schema datatypes" mediatype="application/vnd.pageseeder.psml+xml">xs:string </xref> </cell> <cell>no</cell> <cell>Summary of tables purpose for non-visual readers.</cell> </row> <row> <hcell>width</hcell> <cell> <monospace>length</monospace> </cell> <cell>no</cell> <cell>Width of table in pixels or percent.</cell> </row> </table>
Schema
XML Schema
<xs:element name="table"> <xs:complexType> <xs:sequence> <xs:element name="caption" maxOccurs="1" minOccurs="0" type="character-style"/> <xs:element ref="col" maxOccurs="unbounded" minOccurs="0"/> <xs:element ref="row" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="width"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[0-9\.]+(px|%)?"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="height"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]+(px)?"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="cellspacing" type="xs:string"/> <xs:attribute name="cellpadding" type="xs:string"/> <xs:attribute name="border" type="xs:string"/> <xs:attribute name="summary" type="xs:string"/> <xs:attribute name="role" type="role"/> </xs:complexType> </xs:element>
Relax Schema
element table { attribute width { text { pattern="[0-9\.]+(px|%)?" } }?, attribute height { text { pattern="[0-9]+(px)?" } }?, attribute cellspacing { text }?, attribute cellpadding { text }?, attribute border { text }?, attribute summary { text }?, attribute role { role }?, element caption?, element col*, element row+ }
Compatibility
This element was introduced in the first draft of PSML and is well-supported from PageSeeder 5.1.