Avatar billede kaktus Nybegynder
16. maj 2010 - 22:07 Der er 21 kommentarer

tfoot ikke xhtml valid

Kan nogen fortælle hvad der er galt med nedenstående html tabel...
Den melder fejl
document type does not allow element "tfoot" here

ifølge validator.w3.org

<table border='2' rules='groups'>

<thead>
<tr> <th>Name</th> <th>Food</th> <th>Price</th> </tr>
</thead>

<tbody>
<tr> <td>Starflower</td> <td>stir fied tofu</td> <td>5.95</td> </tr>
<tr> <td>Miko</td> <td>vegetable rice soup</td> <td>4.95</td> </tr>
<tr> <td>Andy</td> <td>hummus</td> <td>3.95</td> </tr>
<tr> <td>Ping</td> <td>french toast</td> <td>5.95</td> </tr>
</tbody>

<tfoot>
<tr> <th colspan='2'>Total</th>
<td>20.80</td> </tr>
</tfoot>

</table>

og jeg bruger denne doctype

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Avatar billede erikjacobsen Ekspert
16. maj 2010 - 22:37 #1
Du skal bare anbringe <tfoot> før din <tbody>
Avatar billede jokkejensen Novice
16. maj 2010 - 22:44 #2
tror ikke det er valid xml at skrive ' i stedet for " ved attributter.

/J
Avatar billede erikjacobsen Ekspert
16. maj 2010 - 22:48 #3
Hvorfor ikke, jensen?
Avatar billede jokkejensen Novice
16. maj 2010 - 22:53 #4
man skal overholde xml krav i xhtml.

Det går især helt galt når han deklarere html ns med " og derefter bruger ' som attributer.

Desuden må tfoot og thead placeres hvor man vil. blot under en tabel.
Avatar billede erikjacobsen Ekspert
16. maj 2010 - 22:57 #5
Men hvor/hvorfor er det forbudt at bruge ' i hans eksempel?

Tommelfingerreglen om altid at bruge " er selvfølgelig god nok.
Avatar billede kaktus Nybegynder
16. maj 2010 - 23:05 #6
Det med at flytte
<tfoot> før din <tbody> 
giver nye xhtml fejl ifølge
http://validator.w3.org

og om man bruger enkelt ' eller dobbelt " betyder heller ikke noget her
Avatar billede jokkejensen Novice
16. maj 2010 - 23:07 #7
han skriver xhtml:

<html xmlns=""><body><table rules='' /><body></html>

Altså bruge både ' og " som attribut angivelser i noderne, så vil det aldrig kunne parses som et xml ark, og det håber jeg den validator blandt andet gør.
Avatar billede erikjacobsen Ekspert
16. maj 2010 - 23:19 #8
Hvilken fejl giver det når du flytter <tfoot> op?

Og jensen: XML og XHTML tillader både ' og " - så hvorfor skulle det være et problem i eksempelt ovenfor?
Avatar billede kaktus Nybegynder
17. maj 2010 - 07:53 #9
Denne source....
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<table border="2" rules="groups">
<thead>
<tr>
<th>Name</th>
<th>Food</th>
<th>Price</th>
</tr>
</thead>
<tfoot>
<tbody>
<tr>
<td>Starflower</td>
<td>stir fied tofu</td>
<td>5.95</td>
</tr>
<tr>
<td>Miko</td>
<td>vegetable rice soup</td>
<td>4.95</td>
</tr>
<tr>
<td>Andy</td>
<td>hummus</td>
<td>3.95</td>
</tr>
<tr>
<td>Ping</td>
<td>french toast</td>
<td>5.95</td>
</tr>
</tbody>
<tr>
<th colspan="2">Total</th>
<td>20.80</td>
</tr>
</tfoot>
</table>
<p> <a href="http://validator.w3.org/check/referer" target="_blank" title="Tjek om siden er XHTML valid?">xhtml</a> </p>
</body>
</html>

giver følgende to fejl nu

Line 17, Column 9: document type does not allow element "tbody" here
og
Line 45, Column 8: end tag for "table" which is not finished
Avatar billede jokkejensen Novice
17. maj 2010 - 08:21 #10
du nester <tbody> i <tfoot>.

Smid dem hver for sig, og jeg må bøje mig, tfoot, skal være før tbody, al kredit til Erik :)
Avatar billede olebole Juniormester
17. maj 2010 - 12:48 #11
<ole>

- og så er det nok mere relevant at beskæftige sig med HTML 4.01 og HTML 5.0. XHTML, som vi kender det, er mere eller mindre blot en historisk kuriøsitet  =)

/mvh
</bole>
Avatar billede kaktus Nybegynder
17. maj 2010 - 14:56 #12
gå til http://validator.w3.org/check
og paste koden herunder ind
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<table>
  <thead>
    <tr>
      <th>Name</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Starflower</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <th>Total</th>
    </tr>
  </tfoot>
</table>
</body>
</html>
og kom med et forslag på hvad der går galt?? :-)
Jeg forstår det ikke
Avatar billede jokkejensen Novice
17. maj 2010 - 15:03 #13
og flyt så <tfoot> over <tbody>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<table>
  <thead>
    <tr>
      <th>Name</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <th>Total</th>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <td>Starflower</td>
    </tr>
  </tbody>

</table>
</body>
</html>
Avatar billede olebole Juniormester
17. maj 2010 - 15:10 #14
"TFOOT must appear before TBODY within a TABLE definition so that user agents can render the foot before receiving all of the (potentially numerous) rows of data"

http://www.w3.org/TR/html401/struct/tables.html#h-11.2.3
Avatar billede kaktus Nybegynder
17. maj 2010 - 16:04 #15
Ja linket fra olebole er jo selvforklarende og er faktisk rigtig.....
og lige det jeg ønskede.......
nu er koden valid når footer syntaksen kommer før body syntaksen
lidt ulogisk MEN korrekt.
TAK for hjælpen og læg et svar, dem der mener at være berettiget til point :-)
Ps. er testet til tros for enorme lange svartider i dag på http://validator.w3.org
Avatar billede olebole Juniormester
18. maj 2010 - 09:13 #16
Points må tilfalde andre. Jeg linkede blot til dokumentationen. Den forklarer i øvrigt tydeligt, hvorfor det er logisk at sætte tfoot før tbody.

Meningen er, at browseren kan tegne alt 'det yderste' i tabellen - herunder top og bund - inden den modtager og tegner alle rækkerne (som jo kan være rigtig mange) i tabellen. Ganske smart og logisk  ;o)
Avatar billede jokkejensen Novice
18. maj 2010 - 09:16 #17
i 1992 :)
Avatar billede olebole Juniormester
18. maj 2010 - 09:39 #18
Koncentrer dig nu om noget, du kan huske fra andet end historieundervisning  ;D

Det kan faktisk også være ganske smart i dag. Der er heldigvis stadig 'ateister' på WWW, og vi bruger naturligvis tabeller, når noget skal opstilles/vises noget tabulært - fuldstændig ligesom W3C gør det.

På den anden side kan man ikke advare de stakkels, små messedrenge nok mod de stygge, fanatisk religiøse mørkemænd derude. De vil ikke én noget godt ... dem bør man vare sin lille, sårbare mås for!  =)
Avatar billede erikjacobsen Ekspert
18. maj 2010 - 12:46 #19
Ole: #11

> - og så er det nok mere relevant at beskæftige sig med HTML 4.01
> og HTML 5.0. XHTML, som vi kender det, er mere eller mindre
> blot en historisk kuriøsitet  =)

Jeg synes du indirekte nedgør dem, der samler på gamle veteranbiler, ukurante frimærker, og togkøreplaner fra 1920. Det kan sagtens have en charme i sig selv.
Avatar billede jokkejensen Novice
18. maj 2010 - 13:01 #20
:)
Avatar billede olebole Juniormester
18. maj 2010 - 13:10 #21
Jeg håber, du overbringer din kone min uforbeholdne undskyldning. Jeg tog mig ikke i agt for musealt interesserede - og/eller ægtefæller til vintagemodeller  ;D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester