Сайт о правильных сайтах







Введение

Консорциум W3C основан одним из создателей Всемирной паутины, Тимом Бернерсом-Ли, в 1994 г., занимается стандартизацией веб-технологий. Требования W3C, однако, не являются стандартами в строгом понимании этого слова, а имеют статус рекомендаций. В состав W3C входит чуть менее 400 участников (в их числе, конечно же, и весь свет производителей браузеров – Microsoft Corporation, Mozilla Foundation, Opera Software и т. д.), и все они активно способствуют внесению корректив в будущие рекомендации.

Консорциум сегодня – уже достаточно влиятельная организация, и он вполне мог бы придать своим рекомендациям статус стандартов, обязательных для выполнения, подобно ISO, IEEE (Institute of Electrical and Electronics Engineers, Институт инженеров по электротехнике и радиоэлектронике) или 1ЕС (International Electrotechnical Commission, Международная электротехническая комиссия).

В этом случае производители браузеров и мобильных устройств, профессиональные разработчики сайтов и т. д. будут поставлены перед необходимостью сертификации своих решений в области веб-технологий. Им придется либо улучшить свои продукты до состояния соответствия стандартам, либо уйти с рынка.

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

Следует заметить, что до принятия того или иного документа в качестве рекомендации W3C он проходит три стадии "шлифовки". Это рабочий проект (Working Draft), который бесчисленное количество раз обсуждается и совершенствуется; кандидат на рекомендацию (Candidate Recommendation) – нечто вроде бета-версии, более детально "обкатываемой" и выдерживаемой в течение определенного срока; и предлагаемая рекомендация (Proposed Recommendation) – документ, полностью готовый к утверждению в качестве рекомендации.

Развитие HTML

В 1997г. официальной рекомендацией W3C становится HTML версии 4.0, явившийся плодом множества компромиссов. Данная версия вобрала в себя все визуальные возможности HTML 3.2, но в большинстве своем они были провозглашены не рекомендованными к использованию (deprecated). HTML 4 – это, по сути, не один стандарт, а целых три. Иначе говоря, в рамках HTML 4 определяются 3 типа документов: Strict (строгий, предписывающий четкое соблюдение идеологии структурной, логической разметки и подразумевающий отказ от большинства возможностей визуального представления данных), Transitional (переходный, намного более либеральный, оставляющий право пользоваться сомнительным наследием эпохи HTML 3.2) и Frameset (предназначенный для страниц, использующих фреймы). Наиболее предпочтительным, разумеется, является использование типа документов Strict.

Повсеместное распространение "веб-стандартов" тормозилось всегда низким качеством реальной поддержки спецификаций сколько-либо распространенными браузерами. Сегодня уже можно констатировать, что все современные браузеры работают с актуальными рекомендациями W3C на вполне приемлемом уровне. Наиболее безупречно поддерживает их Mozilla Firefox, его догоняет Opera 8.x и 9.0, а хуже всего на этом фоне выглядит Microsoft Internet Explorer 7.0

Последняя версия HTML 4.01 стала стандартом в 1999 году, после этого разработки этого языка прекратились, так как он фактически исчерпал все свои возможности. Появились технологии, более удовлетворяющие потребности современных пользователей, а также языки программирования, позволяющие создавать динамические страницы, обращаться с запросами к базам данных, более совершенные языки разметки. На данный момент переемником HTML считается XHTML — расширяемый язык гипертекстовой разметки.

XHTML (англ. Extensible Hypertext Markup Language — Расширяемый язык разметки гипертекста) — язык разметки веб-страниц, по возможностям сопоставимый с HTML, однако является подмножеством XML. В отличие от HTML, XML позволяет создавать собственные теги и таким образом формировать собственную структуру документа. В противоположность XML, HTML гораздо более строго определенный язык разметки с ограниченным набором тегов. В любом случае, общий характер XML позволяет рассматривать HTML-документы как XML-документы с набором тегов для отображения в веб-браузерах. Однако, старые стандарты HTML не до конца совместимы с XML. Например, в HTML необязательно закрывать тег, то есть закрывающий тег можно опускать. Чтобы устранить разрыв между этими двумя языками разметки и был разработан XHTML. По существу это обычный HTML, в который добавили синтаксические правила XML для создания well-formed документов. Так что веб-страницы станут XML-совместимыми, а веб-разработчики познакомятся с синтаксисом XML.

Как и HTML, XHTML соответствует спецификации SGML. Вариант XHTML 1.1 одобрен в качестве Рекомендации Консорциума Всемирной паутины (W3C) 31 мая 2001 года.

На смену сложному и противоречивому SGML (Standard Generalized Markup Language) в качестве универсального стандарта для хранения любых структурированных данных приходит расширяемый язык разметки XML — eXtensible Markup Language, отличающийся более строгими правилами. HTML 4 стал в определенном смысле «тупиковой веткой» — это последняя версия HTML, основанная на SGML.

Развитием HTML 4 стал «расширяемый» (eXtensible) язык разметки гипертекста — XHTML 1.0, по сути своей явившийся лишь переформулировкой стандарта HTML 4.01 в соответствии с правилами XML 1.0. XHTML 1.0, за исключением ряда нюансов, в точности повторяет функциональность HTML 4.01 и включает в себя предусмотренные последним три типа документов: Strict, Transitional и Frameset.

XHTML 1.1, полностью упразднивший типы документов Transitional и Frameset и утвердивший еще некоторые ощутимые нововведения, уже несколько дальше от привычного HTML, но на практике пока используется довольно редко. XHTML 2.0 уходит в еще больший отрыв от совместимости с HTML — но эта версия пока еще находится в работе и в разряд официальных рекомендаций W3C перейдет не так скоро.

Для XHTML можно применять множество технологий разработанных для XML. Например, XSLT и XPath. Анализ XHTML проще и быстрее, чем HTML. Поскольку синтаксис XML строже, чем SGML, обработка XHTML возможна даже на мобильных телефонах с малыми ресурсами.

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

Все элементы в XHTML должны быть закрыты. Теги, которые не имеют закрывающего тега (например, <img> или <br>) должны иметь на конце / (например, <br />).

У атрибутов обязательно должно быть значение. Например, следует писать <option selected="selected"> или <td nowrap="nowrap">.

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

Имена тегов и атрибутов должны быть записаны строчными буквами (например, <img alt="" /> вместо <IMG ALT="" />).

XHTML гораздо строже относится к ошибкам в коде: нельзя делать «перехлест» тегов (например, запрещено <strong> <em> </strong> </em>), < и & везде, даже в URL, должны замещаться их мнемонической подстановкой. По рекомендации W3C браузеры, встретив ошибку в XHTML, должны сообщить о ней и не обрабатывать документ. Для HTML браузеры должны были попытаться понять, что хотел сказать автор.

Кодировкой по умолчанию является UTF-8 (в отличие от HTML, где кодировкой по умолчанию является ISO 8859-1)

Отличия переходного (англ. transitional) XHTML от HTML незначительны и предназначены лишь для приведения его в соответствие с XML. Остальные версии отличаются лишь набором тегов.

Практически все современные браузеры поддерживают XHTML. Он также совместим и со старыми браузерами, т. к. в основе XHTML лежит HTML. Такая совместимость, к сожалению, в числе прочего, замедляет процесс перехода от HTML к XHTML.

Валидным документом (т. е. отвечающим всем правилам) XHTML-документом считается документ, удовлетворяющий технической спецификации. В идеале, все браузеры должны следовать веб-стандартам и, в соответствии с ними, валидные документы должны отображаться во всех браузерах на всех платформах. Валидация XHTML-документа рекомендована даже несмотря на то, что она не гарантирует кросс-браузерной совместимости. Документ может быть проверен на соответствие спецификации с помощью онлайновой Службы валидации разметки W3C. Валидация обнаружит и разъяснит ошибки в XHTML-разметке.

Валидный документ должен содержать определение типа документа (DTD). DTD должен быть расположен до всех других элементов документа. Вот наиболее распространённые типы DTD для XHTML:


XHTML 1.0 Strict    Строгий (Strict): полностью отделяет содержание документа от оформления

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


XHTML 1.0 Transitional   Переходный (Transitional): предназначен для лёгкой миграции из HTML 3.2 и для тех, кто использует инлайн-фрэймы.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


XHTML 1.0 Frameset   Фрэймовый (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 вместо старого доброго HTML? Консорциум W3C выделяет следующие причины:


"Разработчики документов и разработчики браузеров откроют новые пути выражения своих идей через новую разметку. В XML относительно легко вводить новые элементы или новые атрибуты. Язык XHTML разработан для согласования этого расширения посредством специальных XHTML-модулей, которые можно разрабатывать совершенно самостоятельно. Эти модули позволят комбинировать существующие и новые возможности при разработке новых документов и новых браузеров."


"Постоянно появляются новые альтернативные способы доступа в интернет. XHTML разрабатывался с учетом общей совместимости пользовательских браузеров (user agents). Так чтобы новые пользовательские браузеры, сервера и прокси могли достичь наилучшей трансформации контента. В конечном счете, можно будет разработать XHTML-конформный контент, который будет доступен из любого XHTML-конформного пользовательского браузера"


Короче говоря в будущем, которое пока неизвестно, улучшения XHTML будут позволять разработчикам использовать новейшие, пока не написанные, модули для расширения XHTML, чтобы включать новые, пока не определенные, вещи в свои веб-страницы. В добавок ко всему, W3C ожидает, что будущие браузеры будут использовать XHTML вместо HTML.

Минимальный XHTML-документ

Описанных в предыдущих параграфах "каркасов" документов на языках HTML 4.01 Strict и XHTML 1.0 Strict вполне достаточно для создания весьма качественных веб-страниц. W3C, пропагандируя доступность контента веб-ресурсов для максимально широкого круга пользователей и выступая за интернационализацию Всемирной паутины, рекомендует указывать язык содержимого веб-страниц с помощью атрибута lang тега .

Это касается документов, созданных как посредством HTML 4, так и с применением XHTML. Нижеследующий фрагмент HTML-кода свидетельствует, что данный документ – на русском языке:

Минимальный XHTML-документ выглядит примерно так:


<?xml version="1.0" encodirig="windows-1251"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" “http://www.w3.org/TR/xhtmll/DTD/xhtmll-strict.dtd">

<html xmlns="littp://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">

<head>

<title>Mинимaльный документ</title>

</head>

<body>

<р>Эта веб-страница имеет простейшую структуру из всех возможных.</р>

</body>

</html>


Первая строка – то самое объявление XHTML; указываемая здесь кодировка должна, разумеется, совпадать с той, в которой документ возвращается сервером. Тег "оброс" новыми атрибутами – так, значением атрибута xmlns является идентификатор пространства имен XHTML, а после атрибута lang добавился атрибут xmi:lang с тем же самым значением, что и у lang.




Обновить страницу