Персональные инструменты
 

XHTML

Материал из CustisWiki

Перейти к: навигация, поиск

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>ООО &#xAB;Заказные ИнформСистемы&#xBB;</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), например & вместо &amp;.
  • Написание тэгов и/или атрибутов прописными буквами.

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

Например, можно использовать утилиту onsgmls от проекта OpenJade, предназначенную для валидации произвольных SGML-документов, которая честно (без малейших "зашивок" в коде) проверяет предоставленный XHTML-документ на соответствие DTD-файлу.

См. также

Ссылки

Валидаторы


Внимание! Эта статья была создана путем автоматического реплицирования из внутренней базы знаний компании Заказные Информ Системы. Любые правки этой статьи могут быть перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».