Смекни!
smekni.com

XHTML (стр. 1 из 3)

Язык XHTML является более строгой и четкой версией языка разметки HTML.

В данном руководстве рассмотрены различия между HTML и XHTML, а также показано, как преобразовать Web-сайт на использование XHTML.

Введение в XHTML

Язык XHTML является более строгой и четкой версией языка HTML.

Что необходимо знать

Для понимания изложенного материала необходимо знать язык HTML и основы создания Web-страниц.

Что такое XHTML?

XHTML является сокращением от английского EXtensible HyperText Markup Language, что означает "Расширяемый язык разметки гипертекста".

XHTML предназначен для замены HTML.

XHTML почти совпадает с HTML 4.01.

XHTML является более строгой и четкой версией языка HTML.

XHTML является языком HTML, определенным как приложение XML.

XHTML одобрен в качестве Рекомендации консорциумом W3C.

XHTML рекомендован консорциумом W3C

XHTML 1.0 был одобрен как Рекомендация W3C 26 января 2000 г..

W3C определяет XHTML как последнюю версию HTML. XHTML будет постепенно заменять HTML.

Все новые браузеры поддерживают XHTML

Язык XHTML совместим с HTML 4.01.

Все новые браузеры поддерживают XHTML.

Преобразование Web-сайта на использование XHTML

XHTML является переработкой HTML 4.01 в соответствии с XML, и может сразу использоваться существующими браузерами при соблюдении нескольких простых правил.

Что содержится в данном руководстве

Данное руководство рассматривает:

  • Почему необходимо использовать XHTML
  • Синтаксис XHTML
  • Как преобразовать сайт на XHTML
  • Проверка XHTML
  • Модуляризация XHTML

Зачем нужен XHTML?

XHTML является объединением HTML и XML (EXtensible Markup Language – Расширяемого языка разметки).

XHTML состоит из всех элементов HTML 4.01, объединенных с синтаксисом XML.

Зачем нужен XHTML?

В настоящее время многие страницы в Интернет содержат "плохой" код HTML.

Следующий код HTML будет нормально работать при просмотре в браузере, даже хотя он не полностью следует правилам HTML:

<html><head><title>Это плохой код HTML</title><body><h1>Плохой код HTML</body>

XML является языком разметки, в котором каждый элемент должен быть правильно размечен, что приводит к "грамматически-правильным" ("well-formed") документам.

Язык XML предназначен для описания данных, а язык HTML создан для представления данных.

На современном рынке представлены различные технологии браузеров, одни браузеры предназначены для использования Интернет на компьютерах, другие для использования Интернет на мобильных телефонах и c помощью карманных коммуникаторов. Последние устройства имеют недостаточно ресурсов или мощности для интерпретации "плохого" языка разметки.

Объединяя сильные стороны HTML и XML, мы получаем язык разметки, который будет полезен сегодня и в будущем -- XHTML.

Страницы XHTML можно читать с помощью любых устройств, которые поддерживают XML. Пока весь мир не перейдет на использование поддерживающих XML браузеров, XHTML предоставляет возможность сейчас писать "синтаксически-правильные" документы, которые можно использовать во всех браузерах.

--------------------------------------------------------------------------------------------------------------------

Различия между XHTML и HTML

XHTML можно начать использовать просто строго следуя правилам HTML.

Как переходить к использованию XHTML

XHTML не очень существенно отличается от стандарта HTML 4.01.

Поэтому хорошим началом будет приведение кода к стандарту 4.01.

Кроме того, необходимо писать код HTML символами нижнего регистра, и никогда не пропускать завершающие теги (такие как </p>).

Вот собственно и все. Удачного кодирования!

Наиболее важные различия

Элементы XHTML должны быть правильно вложены

Элементы XHTML всегда должны быть замкнутыми

Элементы XHTML должны записываться в нижнем регистре

Документы XHTML должны иметь один корневой элемент

Элементы XHTML должны быть правильно вложены

В HTML некоторые элементы могут вкладываться друг в друга некорректно, например как в случае: <b><i>Этот текст жирный и наклонный</b></i>

В XHTML все элементы должны правильно вкладываться друг в друга, например: <b><i>Этот текст жирный и наклонный</i></b>

Примечание: Достаточно часто при создании вложенных списков забывают о том, что внутренний список должен находится между тегами <li> и </li>.

Неправильно:

<ul> <li>Кофе</li> <li>Чай <ul> <li>Черный чай</li> <li>Зеленый чай</li> </ul> <li>Молоко</li></ul>

Правильно:

<ul> <li>Кофе</li> <li>Чай <ul> <li>Черный чай</li> <li>Зеленый чай</li> </ul> </li> <li>Молоко</li></ul>

Обратите внимание, что в примере "правильного" кода вставлен тег </li> после тега </ul>.

Элементы XHTML всегда должны быть замкнутыми

Непустые элементы должны иметь замыкающий тег.

Неправильно:

<p>Это -- параграф <p>Это -- еще один параграф

Правильно:

<p>Это -- параграф </p><p>Это -- еще один параграф </p>

Пустые элементы должны быть замкнуты

Пустые элементы должны иметь замыкающий тег или начальный тег должен заканчиваться символами />.

Неправильно:

Разрыв строки: <br>Горизонтальная линия: <hr>Изображение: <img src="happy.gif" alt="Веселое лицо ">

Правильно:

Разрыв строки: <br />Горизонтальная линия: <hr />Изображение: <img src="happy.gif" alt="Веселое лицо " />

Элементы XHTML должны записываться в нижнем регистре

Спецификация XHTML определяет, что имена и атрибуты тегов должны записываться в нижнем регистре.

Неправильно:

<BODY><P>Параграф </P></BODY>

Правильно:

<body><p>Параграф </p></body>

Документы XHTML должны иметь один корневой элемент

Все элементы XHTML должны быть вложены в корневой элемент <html>. Все другие элементы могут иметь вложенные элементы (потомков). Вложенные элементы должны быть парными и правильно вкладываться в свой родительский элемент. Общая структура документа имеет следующий вид:

<html><head> ... </head><body> ... </body></html>

Синтаксис XHTML

При записи документа XHTML требуется использовать четкий синтаксис HTML.

Дополнительные правила синтаксиса XHTML

  • Имена атрибутов должны записываться в нижнем регистре
  • Значения атрибутов должны заключаться в кавычки
  • Минимизация атрибутов запрещена
  • Атрибут id заменяет атрибут name
  • DTD XHTML определяет обязательные элементы

Имена атрибутов должны записываться в нижнем регистре

Неправильно:

<table WIDTH="100%">

Правильно:

<table width="100%">

Значения атрибутов должны заключаться в кавычки

Неправильно:

<table width=100%>

Правильно:

<table width="100%">

Минимизация атрибутов запрещена

Неправильно:

<input checked><input readonly><input disabled><option selected><frame noresize>

Правильно:

<input checked="checked" /><input readonly="readonly" /><input disabled="disabled" /><option selected="selected" /><frame noresize="noresize" />

Ниже представлен список минимизированных атрибутов HTML и их запись в XHTML.

HTML

XHTML

compact compact="compact"
checked declare checked="checked" declare="declare"
readonly readonly="readonly"
disabled disabled="disabled"
selected selected="selected"
defer defer="defer"
ismap ismap="ismap"
nohref nohref="nohref"
noshade noshade="noshade"
nowrap nowrap="nowrap"
multiple multiple="multiple"
noresize noresize="noresize"

Атрибут id заменяет атрибут name

HTML 4.01 определяет атрибут name для элементов a, applet, frame, iframe, img, и map. В XHTML атрибут name исключен. Вместо него используется атрибут id.

Неправильно:

<img src="picture.gif" name="рис. 1" />

Правильно:

<img src="picture.gif" id="рис. 1" />

Примечание: Для взаимодействия со старыми браузерами в течение некоторого времени необходимо будет использовать оба атрибута name и id, с одинаковыми значениями атрибутов, например: <img src="picture.gif" id="рис. 1" name="рис. 1" />.

Важное замечание о совместимости

Для совместимости XHTML с современными браузерами, необходимо добавить дополнительный пробел перед символом "/".

Атрибут lang

Атрибут lang применим почти к любому элементу XHTML. Он определяет язык содержимого внутри элемента.

Если в каком-то элементе используется атрибут lang, то необходимо добавить атрибут xml:lang, например: <div lang="fr" xml:lang="fr">Bonjour, madam!</div>.

Обязательные элементы XHTML

Все документы XHTML должны иметь объявление DOCTYPE. Также должны присутствовать элементы html, head и body, а внутри элемента head должен присутствовать элемент title.

Шаблон минимального документа XHTML имеет следующий вид:

<!DOCTYPE Здесь определяется тип документа><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Здесь задается заголовок </title></head><body></body></html>

Примечание: Объявление DOCTYPE не является частью самого документа XHTML. Это объявление не является элементом XHTML и не должно иметь закрывающий тег.

Примечание: Атрибут xmlns в теге <html> является в XHTML обязательным. Однако программа проверки (валидатор) на сайте w3.org не высказывает претензий, когда этот атрибут отсутствует в документе XHTML. Это обусловлено тем, что атрибут "xmlns=http://www.w3.org/1999/xhtml" имеет фиксированное значение и будет добавлен в тег <html>, даже если он не был включен.

В следующем разделе представлена дополнительная информация об определении типа документа XHTML.

---------------------------------------------------------------------------------------------------------------------

DTD XHTML

Стандарт XHTML определяет три определения типа документа (Document Type Definitions – DTD).

Наиболее распространенным является XHTML Transitional (Переходный).

Элемент <!DOCTYPE> является обязательным

Документ XHTML состоит из трех основных частей:

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

Заголовок (Head)

Тело (Body)

Базовая структура документа имеет следующий вид:

<!DOCTYPE ...><html><head><title>... </title></head><body> ... </body></html>

Объявление DOCTYPE всегда должно присутствовать в первой строке документа XHTML.