Web-Tor skrev:
... koda enligt XHTMl-strict och där måste varje tabell innehålla <tbody>
Gjutjärn skrev:
Måste man inte ha <thead> och <tfoot> i Xhtml-strict?
Hmmm... Om vi nu ändå skall vara noga med vad som ingår eller ej... så måste man varken ha <tbody>, <thead> eller <tfoot> i en tabell... Inte ens i xhtml 1.0 strict !!!
Gå till källan!
Kolla i DTD:n
Där står:
<!ELEMENT table
(caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
Vilket uttytt betyder att man är bunden till en viss ordning på taggarna i tabellen enligt:
- noll eller en <caption> följt av
- antingen n0ll eller flera <col/> eller noll eller flera <colgroup>
OBS dock ej blandat! följden <col/><colgroup>...</colgroup><col/> gillas alltså inte enligt DTD:n.
- noll eller en <thead>
- noll eller en <tfoot>
- och till sist antingen en eller flera <tbody> eller en eller flera <tr>
Minsta tillåtna tabell i xhtml strict blir alltså enligt DTD:n antingen
<table>
<tr><td></td></tr>
</table>
eller
<table>
<tbody><tr><td></td></tr></tbody>
</table>
Allt efter tycke och smak!
Samma sak framgår också i XMLSchemat för xhtml 1.0 strict:
<xs:element name="table">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="caption"/>
<xs:choice>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/>
</xs:choice>
<xs:element minOccurs="0" ref="thead"/>
<xs:element minOccurs="0" ref="tfoot"/>
<xs:choice>
<xs:element maxOccurs="unbounded" ref="tbody"/>
<xs:element maxOccurs="unbounded" ref="tr"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="summary" type="Text"/>
<xs:attribute name="width" type="Length"/>
<xs:attribute name="border" type="Pixels"/>
<xs:attribute name="frame" type="TFrame"/>
<xs:attribute name="rules" type="TRules"/>
<xs:attribute name="cellspacing" type="Length"/>
<xs:attribute name="cellpadding" type="Length"/>
</xs:complexType>
</xs:element>
Notera också (som sagt) att det inte finns något attribut som heter "height" ;) )
Tillägg:
Enligt HTML4.01:s DTD:er (samma i alla tre faktiskt) krävs det dock att man har med en <tbody>, för där ser DTD:n ut så här:
<!ELEMENT TABLE - -
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
dvs minst en TBODY krävs i alla lägen om man kör HTML4.01 - fast där har man löst det med att både start tag och end tag är optional - sp man behöver inte skriva in den i koden, den bara finns där ändå (IMHO är xhtml "renare" ;) - men det är en smaksak ;) )