FreeArtists.ruFreeartists статьи и рецензии о технологиях

Все, что нужно знать о XHTML 1.0

Описание языка разметки XHTML 1.0, его структуры и синтаксиса.

XHTML 1.0 — The Extensible HyperText Markup Language (Открытый язык разметки гипертекстов). XHTML 1.0 предназначен сменить HTML 4. XHTML 1.0 использует семантику HTML, основные теги и атрибуты тегов HTML. XHTML 1.0 является XML совместимым языком и использует синтаксис XML.

В XHTML все визуальное оформление перенесено в CSS (Cascade Style Sheets — каскадные таблицы стилей), а сам язык XHTML предназначен только для смысловой разметки документа.

Тип документа

Тип документа в XHTML так же, как и в HTML определяется обязательным тегом DOCTYPE, который может быть трех видов:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> — строгий (точное соответствие стандарту XHTML 1.0).
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> — переходный (для колеблющихся).
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> — поддерживающий фреймы.

Структура XHTML документа

<?xml version="1.0" encoding="win-1251"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
        <head>
                <title>XHTML 1.0</title>
        </head>
         <body>
                <h1>XHTML 1.0</h1>
        </body>
</html>

Где <?xml version="1.0" encoding="win-1251"?> — объявление XML не являющееся обязательным, и хотя стандарт настоятельно рекомендует использовать это объявление, его все же лучше не использовать, так как браузеры семейства Internet Explorer некорректно отображают страницу при объявлении XML.

Синтаксис XHTML документа

Как уже отмечалось ранее, XHTML 1.0 использует семантику HTML, основные теги и атрибуты тегов HTML, а синтаксис XML.

  1. Все теги и их свойства пишутся в нижнем регистре: <h1>XHTML 1.0</h1> — правильно; <H1>XHTML 1.0</H1> или <h1>XHTML 1.0</H1> — неправильно.
  2. Все теги должны иметь закрывающий тег, даже одиночные теги (img, meta, br, hr и т. д.). Для одиночных тегов присутствует краткая запись <br /> вместо <br></br>. Пробел между тегом и символом слеш (/) предназначен для старых браузеров. Наткнувшись на тег с подобной записью, старые браузеры сочтут слеш неизвестным им свойством и проигнорируют его.
  3. Все значения свойств тегов должны писаться в двойных кавычках (свойство=»значение»): <a href="#">XHTML 1.0</a> — правильно; <a href=#>XHTML 1.0</a> или <a href='#'>XHTML 1.0</a> — неправильно. Пустые (флаговые) свойства, такие как noshade, должны иметь следующую запись —  noshade="noshade".
  4. Все теги должны иметь правильную вложенность: <p>XHTML 1.0 — <em>The Extensible HyperText Markup Language</em></p> — правильно; <p>XHTML 1.0 — <em>The Extensible HyperText Markup
    Language</p></em>
    — неправильно.
  5. Для идентификации элемента вместо свойства name следует использовать свойство id.

За дополнительными данными обратитесь к спецификации.

6 комментариев

  1. Аноним

    да народ, действительно XHTML это бордак полный…
    и так полно всяких разнагласий в html

    31 октября 2008, 20:18
  2. John Bo

    А по-моемому в xhtml всё гораздо проще.

    4 ноября 2008, 17:35
  3. Амаль

    XHTML сам по себе гораздо более продуман, чем HTML…
    удобнее в использовании

    6 ноября 2008, 12:13
  4. Zodios

    2Аноним

    В чем вы видите бардак? XHTML наоборот вносит порядок — регистрозависимое написание структуры, обязательное закрывание, четкая иерархия, возможность расширений (микроформаты…) и прочее

    23 ноября 2008, 0:43
  5. lita

    Я согласна с Zodios, в XHTML просматривается логика построения документа.

    28 мая 2009, 20:25
  6. Nik

    Я бы и в Strict усилил в несколько раз жесткость синтаксиса. Парой напрягает абстрактное описание, что сказывается на фактически разном представлении разными браузерами. (идеальный вариант — компилировать страницы :Р, шутка)
    Отсутсвие стандарта и спецификации по BOM (объектная модель браузера), тоже является проблемой на сегодняшний день.

    17 июня 2009, 14:31

RSS комментариев