Тип документа не разрешает 'th' / 'td' здесь - PullRequest
0 голосов
/ 15 ноября 2011

Я пытаюсь создать таблицу в XHTML-документе, показанном ниже (для краткости показаны только соответствующие части):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head></head>
    <body>
      <table class="dataTable">
       <tfoot><tr><td class="tableFooter" colspan="4"><span>&copy;&nbsp;example.com</span></td></tr></tfoot>
       <tbody>
           <tr id = "firstRowHeader">
               <th class="rowLabel">&nbsp;
               <th class ="rowCol colHeader">ABC
               <th class ="rowCol colHeader">CDE
               <th class ="rowCol colHeader">EFG
           <tr><td class ="rowCategory" colspan ="4">Foo
           <tr><td class="rowLabel"
               <td class ="rowCol cellDataDown">-0.01%
               <td class ="rowCol cellDataNoChange">0.09%
               <td class ="rowCol cellDataNoChange">717.79
           <tr><td class="rowLabel"
               <td class ="rowCol cellDataUp">0.00%
               <td class ="rowCol cellDataNoChange">0.08%
               <td class ="rowCol cellDataNoChange">1,032.02
           <tr><td class="rowLabel"
               <td class ="rowCol cellDataUp">-0.04%
               <td class ="rowCol cellDataNoChange">0.03%
               <td class ="rowCol cellDataNoChange">819.17
           <tr><td class="rowLabel"
               <td class ="rowCol cellDataUp">-0.03%
               <td class ="rowCol cellDataNoChange">0.05%
               <td class ="rowCol cellDataNoChange">877.45
           <tr><td class="rowLabel"
               <td class ="rowCol cellDataUp">-0.00%
               <td class ="rowCol cellDataNoChange">0.09%
               <td class ="rowCol cellDataNoChange">991.57
           <tr><td class="rowLabel"
               <td class ="rowCol cellDataUp">-0.02%
               <td class ="rowCol cellDataNoChange">0.05%
               <td class ="rowCol cellDataNoChange">835.42
           <tr><td class="rowLabel"
               <td class ="rowCol cellDataUp">0.00%
               <td class ="rowCol cellDataNoChange">0.05%
               <td class ="rowCol cellDataNoChange">1,002.40
           <tr><td class="rowLabel"
               <td class ="rowCol cellDataDown">-0.01%
               <td class ="rowCol cellDataNoChange">0.05%
               <td class ="rowCol cellDataNoChange">860.27
       </tbody>
      </table>

    </body>
</html>

Когда я запускаю этот документ через валидатор w3c, я получаю несколько ошибок такого типа: тип документа здесь не допускает «th» (или «td») Может кто-нибудь указать, как это исправить?

Ответы [ 6 ]

6 голосов
/ 15 ноября 2011

Вы не закрываете ни один из своих тегов <td> или <tr> с помощью </tr> или </td>.Кроме того, вы пропустили > от всех своих <td> тегов.

0 голосов
/ 15 ноября 2011

<body>
  <table class="dataTable">
   <thead>
      <tr id = "firstRowHeader">
           <th class="rowLabel">&nbsp;</th>
           <th class ="rowCol colHeader">ABC</th>
           <th class ="rowCol colHeader">CDE</th>
           <th class ="rowCol colHeader">EFG</th>
      </tr>
   </thead>
   <tfoot>
     <tr>
       <td class="tableFooter" colspan="4"><span>&copy;&nbsp;example.com</span></td>
     </tr>
   </tfoot>
   <tbody>
       <tr>
       <td class ="rowCategory" colspan ="4">Foo</td>
       </tr>
       <tr><td class="rowLabel"></td>
           <td class ="rowCol cellDataDown">-0.01%</td>
           <td class ="rowCol cellDataNoChange">0.09%</td>
           <td class ="rowCol cellDataNoChange">717.79</td>
       </tr>
       <tr><td class="rowLabel"></td>
           <td class ="rowCol cellDataUp">0.00%</td>
           <td class ="rowCol cellDataNoChange">0.08%</td>
           <td class ="rowCol cellDataNoChange">1,032.02</td>
       </tr>
       <tr><td class="rowLabel"/>
           <td class ="rowCol cellDataUp">-0.04%</td>
           <td class ="rowCol cellDataNoChange">0.03%</td>
           <td class ="rowCol cellDataNoChange">819.17</td>
       </tr>
       <tr><td class="rowLabel"></td>
           <td class ="rowCol cellDataUp">-0.03%</td>
           <td class ="rowCol cellDataNoChange">0.05%</td>
           <td class ="rowCol cellDataNoChange">877.45</td>
       </tr>
       <tr><td class="rowLabel"/>
           <td class ="rowCol cellDataUp">-0.00%</td>
           <td class ="rowCol cellDataNoChange">0.09%</td>
           <td class ="rowCol cellDataNoChange">991.57</td>
       </tr>
       <tr><td class="rowLabel"/>
           <td class ="rowCol cellDataUp">-0.02%</td>
           <td class ="rowCol cellDataNoChange">0.05%</td>
           <td class ="rowCol cellDataNoChange">835.42</td>
       </tr>
       <tr><td class="rowLabel"></td>
           <td class ="rowCol cellDataUp">0.00%</td>
           <td class ="rowCol cellDataNoChange">0.05%</td>
           <td class ="rowCol cellDataNoChange">1,002.40</td>
       </tr>
       <tr><td class="rowLabel"></td>
           <td class ="rowCol cellDataDown">-0.01%</td>
           <td class ="rowCol cellDataNoChange">0.05%</td>
           <td class ="rowCol cellDataNoChange">860.27</td>
       </tr>
   </tbody>
  </table>

</body>

0 голосов
/ 15 ноября 2011

Ваш документ неправильно сформирован. Вам нужно закрыть теги <th>, <td>, <tr> ....

Пример:

<tr id = "firstRowHeader">
   <th class="rowLabel">&nbsp;</th>
   <th class ="rowCol colHeader">ABC</th>
   <th class ="rowCol colHeader">CDE</th>
   <th class ="rowCol colHeader">EFG</th>
</tr>
0 голосов
/ 15 ноября 2011

Вы никогда не закрываете первую <td> в каждой строке.Измените

<tr><td class="rowLabel"

на

<tr><td class="rowLabel">

Кроме того, вы должны закрыть элементы тега.Таблица выглядит так:

<table>
<tr><th>header</th></tr>
<tr><td>content</td></tr>
</table>
0 голосов
/ 15 ноября 2011

Вы не закрываете свои теги.Вам нужны соответствующие </th> и </td> для каждого <th> и <td>.Вот как это должно выглядеть:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head></head>
    <body>
      <table class="dataTable">
       <tfoot><tr><td class="tableFooter" colspan="4"><span>&copy;&nbsp;example.com</span></td></tr></tfoot>
       <tbody>
           <tr id = "firstRowHeader">
               <th class="rowLabel">&nbsp;</th>
               <th class ="rowCol colHeader">ABC</th>
               <th class ="rowCol colHeader">CDE</th>
               <th class ="rowCol colHeader">EFG</th>
           </tr>
           <tr><td class ="rowCategory" colspan ="4">Foo</td></tr>
           <tr><td class="rowLabel"></td>
               <td class ="rowCol cellDataDown">-0.01%</td>
               <td class ="rowCol cellDataNoChange">0.09%</td>
               <td class ="rowCol cellDataNoChange">717.79</td>
           </tr>
           <tr><td class="rowLabel"></td>
               <td class ="rowCol cellDataUp">0.00%</td>
               <td class ="rowCol cellDataNoChange">0.08%</td>
               <td class ="rowCol cellDataNoChange">1,032.02</td>
           </tr>
           <tr><td class="rowLabel"></td>
               <td class ="rowCol cellDataUp">-0.04%</td>
               <td class ="rowCol cellDataNoChange">0.03%</td>
               <td class ="rowCol cellDataNoChange">819.17</td>
           </tr>
           <tr><td class="rowLabel"></td>
               <td class ="rowCol cellDataUp">-0.03%</td>
               <td class ="rowCol cellDataNoChange">0.05%</td>
               <td class ="rowCol cellDataNoChange">877.45</td>
           </tr>
           <tr><td class="rowLabel"></td>
               <td class ="rowCol cellDataUp">-0.00%</td>
               <td class ="rowCol cellDataNoChange">0.09%</td>
               <td class ="rowCol cellDataNoChange">991.57</td>
           </tr>
           <tr><td class="rowLabel"></td>
               <td class ="rowCol cellDataUp">-0.02%</td>
               <td class ="rowCol cellDataNoChange">0.05%</td>
               <td class ="rowCol cellDataNoChange">835.42</td>
           </tr>
           <tr><td class="rowLabel"></td>
               <td class ="rowCol cellDataUp">0.00%</td>
               <td class ="rowCol cellDataNoChange">0.05%</td>
               <td class ="rowCol cellDataNoChange">1,002.40</td>
           </tr>
           <tr><td class="rowLabel"></td>
               <td class ="rowCol cellDataDown">-0.01%</td>
               <td class ="rowCol cellDataNoChange">0.05%</td>
               <td class ="rowCol cellDataNoChange">860.27</td>
           </tr>
       </tbody>
      </table>

    </body>
</html>
0 голосов
/ 15 ноября 2011

Вы не закрыли свои теги <td> и <tr>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...