XHTML
XHTML — Расширяемый язык разметки гипертекстов (Extensible Hypertext Markup Language) это язык разметки, который имеет те же возможности разметки что и HTML, однако с более строгими требованиями к семантике. Как HTML, так и XHTML являются применением SGML, однако XHTML относится к более ужесточенному подмножеству, переходному к XML. XHTML 1.0 одобрен в качестве рекомендации W3C 26 января 2000 года.
Общее представлениеПравить
XHTML является преемником HTML и его текущей версией. Потребность в более строгой версии HTML возникла из-за того что веб-контент сегодня все больше становится ориентированным на распространение через нетрадиционные виды устройств (например мобильные телефоны), в которых зачастую ограничены ресурсы, в том числе и для обработки гибкого, нетребовательного HTML (чем свободнее синтаксис языка тем сложнее его разбирать).
Использование XHTML в сочетании с CSS позволяет отделить оформление документа от его содержимого.
Отличия переходного (transitional) XHTML от HTML незначительны и ставят за цель лишь приведение его в соответствие с XML:
- все тэги были правильно построенными;
- все тэги должны записываться строчными буквами;
- все атрибуты, включая численные, должны быть заключены в кавычки.
- все элементы должны быть закрыты, включая те которые не имеют закрывающего тега (закрываются добавлением слэша в конце начального тэга).
- Минимизация атрибутов (к примеру <option selected> или <td nowrap>) также воспрещена. Детальнее об отличиях можно узнать из XHTML спецификации W3C.
Пример XHTML-документаПравить
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="ru" lang="ru">
<head>
<meta name="author" content="$Author: tsatur $"></meta>
<meta name="Last-Modified" content="$Date: 2005/03/25 17:19:18 $"></meta>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></meta>
<meta http-equiv="Content-Language" content="ru"></meta>
<link rel="stylesheet" type="text/css" href="../css/cisprint.css"></link>
<title>Заказные ИнформСистемы</title>
</head>
<body>
<p>
Компания <b>ООО «Заказные ИнформСистемы»</b> образована в 1996 году.
<br/>Специализация: проектирование и создание учётно-аналитических
программных комплексов для предприятий различных сфер деятельности.
</p>
<h3>Миссия</h3>
<p><b>Наше кредо: система для клиента, а не клиент для системы.</b></p>
<p>Вместе с заказчиком мы шаг за шагом укрепляем его конкурентные преимущества,
создаем основу для его роста и развития</p>
Версии XHTMLПравить
Ниже приведены основные утвержденные версии XHTML, и соответствующие декларации DTD, которые необходимо включать в начало документа (после стандартного XML-заголовка с указанием кодировки, см. #Пример XHTML-документа) для корректной валидации:
- XHTML 1.0 Transitional (Переходный)
- предназначен для легкой миграции от HTML3.2 или для тех кто использует инлайн-фрэймы.
<code-xml>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
</code-xml>
- XHTML 1.0 Strict (Строгий)
- отделяет содержание от оформления (которое теперь переносится в CSS), многие атрибуты (такие как например bgcolor, align) более не поддерживаются, их поведение можно задавать только через таблицу стилей.
<code-xml>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
</code-xml>
- XHTML 1.0 Frameset (Фрэймовый)
- используется если необходимо разделить окно браузера на несколько фрэймов.
<code-xml>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
</code-xml>
- XHTML 1.1
- авторы могут импортировать дополнительные свойства в их разметку.
<code-xml>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
</code-xml>
Сейчас идет работа над спецификацией XHTML 2.0, который находится в состоянии «Working Draft».
Валидация XHTML документовПравить
Валидным (то есть отвечающим всем правилам) XHTML документом считается документ удовлетворяющий спецификации. В идеале, все браузеры должны следовать веб-стандартам и в соответствии с ними валидные документы должны отображаться во всех браузерах под всеми платформами. Валидация XHTML документа рекомендована даже несмотря на то, что она не гарантирует кросс-браузерной совместимости. Документ может быть проверен на соответствие спецификации в Службе Валидации Разметки W3C ([1]).
Самыми распространенными ошибками в XHTML являются:
- Незакрытые элементы (XHTML, в отличие от HTML, требует закрытия всех элементов)
- Отсутствие альтернативных текстов для изображений (достигающийся применением атрибута
alt
, который помогает сделать документы доступнее для устройств которые не в состоянии отображать изображения или предназначенных для слепых). - Присутствие текста непосредственно в <body> документа.
- Вложение блочных элементов внутрь инлайновых.
- Пренебрежение заключения значений атрибутов в кавычки.
- Неправильное вложение элементов.
- Неправильное использование SGML-обьектов (entity), например
&
вместо&
. - Написание тэгов и/или атрибутов прописными буквами.
Для валидации также можно использовать локальные (не веб-службы) программы и утилиты.
Например, можно использовать утилиту onsgmls
от проекта OpenJade, предназначенную для валидации произвольных SGML-документов,
которая честно (без малейших «зашивок» в коде) проверяет предоставленный XHTML-документ на соответствие DTD-файлу.
См. такжеПравить
СсылкиПравить
ВалидаторыПравить
- Валидация и обработка SGML-документов
- W3C’s HTML валидатор
- Валидатор Validome
- HTML/XHTML Validator Project on SourceForge
По крайней мере часть этого текста взята с ресурса http://lib.custis.ru/ под лицензией GDFL.Список авторов доступен на этом ресурсе в статье под тем же названием.