Возьмём для примера "новости" (в принципе, шаблон везде один и тот же, т.ч. и ошибки одинаковые должны быть).
36 Errors, 22 warning(s)
Во-первых, нет DTD. Добавляем первой строкой:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Сразу увеличивается количество ошибок.
167 Errors, 23 warning(s)
Часть я опишу, а часть исправлю молча.
Ошибка 1:
Цитата:
Line 2, Column 1: Missing xmlns attribute for element html. The value should be: http://www.w3.org/1999/xhtml.
<html>
Many Document Types based on XML need a mandatory xmlns="" on the root element. For example, the root element for XHTML will look like:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
Написано - отсутствуют атрибуты у тэга < html > во второй строке, символ 1. Ну-с, xhtml требует атрибутов. Полный пример приведён. Копируем, заменяем. Только ru вместо en.
Ошибка 2 и 3:
Цитата:
Line 5, Column 143: an attribute value specification must be an attribute value literal unless SHORTTAG YES is specified.
…о на http://reddragon-sph.ru/." name=description >
Line 5, Column 156: end tag for "meta" omitted, but OMITTAG NO was specified.
…eddragon-sph.ru/." name=description >
You may have neglected to close an element, or perhaps you meant to "self-close" an element, that is, ending it with "/>" instead of ">".
|
Строка 5. Атрибут надо заключать в кавычки. У вас - просто после равно. Кроме того, xhtml требует закрытия одиночных тэгов (исключая DTD). Вот так:
HTML код:
<meta value="Описательная часть http://reddragon-sph.ru/." name="description" />
Аналогично с кейвордами (кейворды, кстати, должны отличаться по содержанию от дескрипшна).
У строки, определяющей кодировку, также нужно делать закрытие тэга: ...
/>
Цитата:
Line 15, Column 5: document type does not allow element "body" here.
<body>
|
Посмотрите, что у вас:
HTML код:
</head>
<body background="Fon/reddragon02.jpg" bgcolor="#7D0000">
<body>
<body>
<body>
<div align="center">
Это безобразие. body должет быть только один! Убираем лишнее.
Цитата:
Line 20, Column 74: there is no attribute "background".
…"0" cellspacing="0" width="50%" background="Fon/reddragon01.jpg">
|
XHTML немного отличается от HTML набором атрибутов. Вообще, они решили отделить разметку и оформление, поэтому многие атрибуты переехали в css. Вот table не имеет атрибута
background. Надо перенести в стиль:
HTML код:
<table border="0" cellpadding="0" cellspacing="0" width="50%" style="background:url(Fon/reddragon01.jpg)">
Остальные пока можно оставить.
Цитата:
Line 25, Column 193: end tag for "img" omitted, but OMITTAG NO was specified.
…agon, котята, продажа чемпионов"></td>
You may have neglected to close an element, or perhaps you meant to "self-close" an element, that is, ending it with "/>" instead of ">".
|
Эта ошибка возникла из-за того, что у вас элемент
img не самозакрыт:
HTML код:
<img src="..." alt="..." />
Надо закрывать. Аналогично и тэги
HTML код:
<br />
Дальше в коде опять встречается body. Убираем.
Цитата:
Line 63, Column 82: there is no attribute "height".
…" cellpadding="0" id="table3" height="464">
|
Строка 63. Данный элемент не имеет атрибута height (тоже таблица). Переносим в css:
HTML код:
<table border="0" width="97%" cellspacing="0" cellpadding="0" id="table3" style="height:464">
Хотя я не понимаю, зачем указывать высоту для таблицы. Высота указывается для ячеек.
Так-с, начало поправили. Сохраняю, обновляю (это к тому, что номера строк меняются).
Цитата:
ine 21, Column 195: end tag for "p" omitted, but OMITTAG NO was specified.
…on, котята, продажа чемпионов" /></td>
|
Как оказалось, не только из-за незакрытого тэга выдаёт эту ошибку. Там ещё закрывающий тэг для
p пропущен. Вставляем:
HTML код:
котята, продажа чемпионов" /></p></td>
Цитата:
Line 48, Column 77: end tag for "td" omitted, but OMITTAG NO was specified.
…000_files/cbjscb0000.js"></script></body> <p> </p>
|
Зачем body закрывается здесь? Убираем его.
Этот кусок:
HTML код:
<td colspan="2">
<p align="center"><span lang="ru"><u>
<font face="Monotype Corsiva" size="5" color="#FF0000">Мы
переехали!!!</span></font></u></p>
<p align="center"> </td>
Это ужасно. Много лишнего, да и вложенность попутана. Исправляем:
HTML код:
<td colspan="2" style="align:center; text-decoration:underline; color:#ff0000; font-size:30px; font-family:monotype corsiva">Мы переехали!!!</td>
Обратите внимание, что был size="5", а стал font-size:30px. Но отображается одинаково. В пикселях нагляднее указывать)
Эта строка:
HTML код:
<font face="Monotype Corsiva" size="5" color="#FF0000">22</font></b></u></span><b><font face="Monotype Corsiva" color="#FF0000" size="5"><u>.01.2009</u></font></b></td>
Жуть опять)
HTML код:
<span style="font-family:monotype corsiva; font-size:30px; color:#ff0000; font-weight:bold; text-decoration:underline">22.01.2009</span>
Так лучше. А вообще, лучше вынести стили в шапку и делать на них ссылки по id или class.
Например, ещё такая ошибка:
Цитата:
Line 122, Column 100: required attribute "alt" not specified.
…met_004.jpg" width="460" height="306"></p>
|
Не указан атрибут alt у изображения. Надо указывать обязательно. Если нечего написать, оставляйте его пустым:
... alt="" />
Цитата:
ine 144, Column 30: there is no attribute "VALUE".
<param name="FlashVars" VALUE="ww=200&hh=220"/>
|
XHTML требует нижнего регистра в названиях атрибутов. Т.е. не VALUE, а value.
Цитата:
Line 144, Column 38: cannot generate system identifier for general entity "hh".
<param name="FlashVars" value="ww=200&hh=220"/>
|
Вы будете смеяться
но в XTHML символ амперсанда предполагает, что далее идёт какая-то сущность (типа
& n b s p ; или
& l a q u o ; (пишу через пробелы, чтобы форум не заменил)). Т.ч. если вам нужен амперсанд, пишите
& a m p ; независимо от того, встречается он в ссылке, в тексте или в таком вот атрибуте.
HTML код:
<param name="FlashVars" value="ww=200&hh=220"/>
Потом идёт куча ошибок, связанных с тэгом embed. Видимо, он не поддерживается в xhtml. Или удаляйте его, или заключайте в "комментарий":
HTML код:
<!-- <embed.... /> -->
Есть "якобы ошибки" в скриптах. Вообще, принято скрипты "комментировать" в начале и в конце, хотя мало кто так делает. А мы сделаем. Например, так:
HTML код:
<script language="javascript" type="text/javascript">
<!--
java="1.0";
java1=""+"&refer="+escape(document.referrer)+"&page="+
escape(window.location.href);
document.cookie="astratop=1; path=/"; java1+="&c="+(document.cookie?"yes":"now");
//-->
</script>
Обратите внимание на тэги html-комментариев и особую форму закрывающего тэга комментария. Это специально для JS.
Коды счётчиков тоже невалидные. Где-то одинарные кавычки вместо двойных, нет alt'а у изображений, атрибуты заглавными буквами и др. Нужно поправить.
Прикладываю файл в архиве (полностью проходит валидацию). Но пароль от архива не скажу, пока не увижу, что вы сами пытались исправить. Исправьте всё, что сможете, а остальное я укажу.
И ещё - пароль я могу забыть, т.ч. поспешайте