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 или для тех кто использует инлайн-фрэймы.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- XHTML 1.0 Strict (Строгий)
- отделяет содержание от оформления (которое теперь переносится в CSS), многие атрибуты (такие как например bgcolor, align) более не поддерживаются, их поведение можно задавать только через таблицу стилей.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- XHTML 1.0 Frameset (Фрэймовый)
- используется если необходимо разделить окно браузера на несколько фрэймов.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
- XHTML 1.1
- авторы могут импортировать дополнительные свойства в их разметку.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Сейчас идет работа над спецификацией XHTML 2.0, который находится в состоянии «Working Draft».
Валидация XHTML документов
Валидным (т. е. отвечающим всем правилам) XHTML документом считается документ удовлетворяющий спецификации. В идеале, все браузеры должны следовать веб-стандартам и в соответствии с ними валидные документы должны отображаться во всех браузерах под всеми платформами. Валидация XHTML документа рекомендована даже несмотря на то, что она не гарантирует кросс-браузерной совместимости. Документ может быть проверен на соответствие спецификации в Службе Валидации Разметки W3C ([1]).
Самыми распространенными ошибками в XHTML являются:
- Незакрытые элементы (XHTML, в отличие от HTML, требует закрытия всех элементов)
- Отсутствие альтернативных текстов для изображений (достигающийся применением атрибута
alt
, который помогает сделать документы доступнее для устройств которые не в состоянии отображать изображения или предназначенных для слепых). - Присутствие текста непосредственно в <body> документа.
- Вложение блочных элементов внутрь инлайновых.
- Пренебрежение заключения значений атрибутов в кавычки.
- Неправильное вложение элементов.
- Неправильное использование SGML-обьектов (entity), например
&
вместо&
. - Написание тэгов и/или атрибутов прописными буквами.
Для валидации также можно использовать локальные (не веб-службы) программы и утилиты.
Например, можно использовать утилиту onsgmls
от проекта OpenJade, предназначенную для валидации произвольных SGML-документов,
которая честно (без малейших "зашивок" в коде) проверяет предоставленный XHTML-документ на соответствие DTD-файлу.
См. также
Ссылки
- W3C's HTML Home Page
- XHTML 1.0 Specification
- XHTML 1.1 Specification
- Working Draft of XHTML 2.0
- «XHTML» в Википедии
Валидаторы
- Валидация и обработка SGML-документов
- W3C's HTML валидатор
- Валидатор Validome
- HTML/XHTML Validator Project on SourceForge
Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».
Репликация: База Знаний «Заказных Информ Систем» → «XHTML»