Журнал LinuxFormat - перейти на главную

LXF91:Что за штука

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

Что за штука… XHTML 2?

Еще один рывок Web-стандартов в сторону XML – Пол Хадсон все объяснит…
  • Да, да, я знаю, что вы хотите сказать: XHTML хорош, потому что он несет в себе смысл, а HTML полон бесполезных стилевых тэгов вроде , поэтому мы все должны пользоваться XHTML.

Да, именно это я хотел сказать. Почти. Повнимательнее взглянув на заголовок этой статьи, вы заметите, что речь идет скорее о XHTML 2, чем о XHTML вообще.

  • Он что, в два раза педантичнее XHTML 1?

Вообще-то он очень отличается от XHTML 1 и 1.1, потому-то его и ждали так долго. Язык XHTML 1 был стандартизован в 2001 г., в попытке применить некоторые правила XML к HTML. Например, нельзя было использовать

 <strong><em>Foo</strong></em> 

потому, что извлекать элементы из стека необходимо в порядке, обратном тому, в котором их туда помещали:

<strong><em>Foo</em></strong>

было бы верно.

А еще, каждый атрибут XHTML надо было заключать в кавычки, даже если это выглядело глупо, например selected=”selected” для отмеченного флажка.

  • Почему же так долго ждали XHTML 2?

По сути, XHTML 1.1 – тот же HTML 4, наряженный в парадный костюм. Любой браузер, способный прочесть HTML 4, мог также читать и XHTML 1.1, ведь они неотличимы.

Идея заключалась в том, что XHTML-страницы могли обслуживаться серверами используя MIME-типы application/xml или application/xhtml+xml, и браузеры могли воспринимать документы как XML. Подразумевалось, что браузер будет игнорировать код обработки скверного HTML, зато на ура примет утонченный XML. К несчастью, этого так и не случилось. Некоторые браузеры – включая Internet Explorer версий 6 и 7 – не умеют толком обрабатывать MIME-тип XHTML, а это значит, что XHTML-страницы по-прежнему обслуживаются (и читаются) как HTML.

  • Вы не ответили на мой вопрос…

Разве? Ах, да. Так вот, XHTML 1 был очень похож на HTML 4. Но W3C нужен был XHTML 2, чтобы исправить многие недостатки HTML, а это означает отсутствие обратной совместимости с HTML. Оказалось, что некоторые части XHTML 2 обратно- несовместимы даже с XHTML 1.1!

  • Пожалуйста, конкретнее, не то мы и в четыре страницы не уложимся.

Хорошо, а помните, когда вы делали первые шаги в XHTML, валидатор W3C XHTML отказывался признавать вашу страницу, пока ко всем рисункам не добавят атрибуты ALT?

  • О, да. Это был не мой день…

А вот в XHTML 2, боюсь, вам придется убрать все эти атрибуты, потому что их больше нет в спецификации. Перемена имеет смысл, так как в XHTML 2 любой элемент может содержать как объект (например, картинку), так и замещающий текст. Первичный контент используется как атрибут элемента, а вторичный (который замещает основной, если он не может быть загружен или еще не загрузился) помещается внутрь элемента. Например:

<img src=”tacheback.gif”><strong>Andrew Gregory</strong> winking like a mad man</img>

и

<p src=”tacheback.gif”><strong>Andrew Gregory</strong> winking like a mad man</p>

дадут одинаковый результат. Выгода в том, что теперь вы можете использовать XHTML-форматирование и в альтернативном тексте – например, часть Andrew Gregory будет выделена полужирным.

  • Придется позлобствовать, но преимущества просматриваются.

Хорошо! Пришло время упомянуть о другой долгожданной перемене: тэги <b> и <i> удалены. XHTML 1.0 удалил множество стилевых тэгов HTML, но оставил наиболее популярные, <b> и <i> – на них построен слишком много сайтов. За время, прошедшее со времени стандартизации XHTML 1.0, многие сайты перешли на <strong> и <em>, и есть надежда на то, что большинство новых сайтов даже не вспомнит о существовании <b> и <i>. <strong> шрифт можно слегка увеличить и окрасить, например, красным, чтобы подчеркнуть его значение, а вот текст с <b> можно и не заметить, если он в действительности не полужирный!

  • Не особо радикальные перемены. Почему они так долго готовились?

Бесспорно, крупнейшее событие в XHTML 2 – применение XForms как стандарта для форм ввода данных. Формы HTML – необычайно простой способ приема пользовательского ввода, а вот XForms, если честно, нет. Но дополнительной сложности сопутствует и дополнительная мощь: можно заполнять XForms заранее с помощью XML, отправлять их данные с помощью XML и даже отправлять и получать данные без обновления страницы – почти как в AJAX. Для изучения нового синтаксиса понадобится целый учебник – если буквы M, V и C кое-что значат для вас, вы должны понять, как соотносится сложность XForms с XHTML.

  • Ну вот, приняли еще один хороший стандарт, и все усложнилось. Хоть кто-нибудь выиграл от этого?

О да, все это делается для удобства разработчиков, которые плюются при каждом упоминании об HTML. У них давно готовы web-сервисы, XML-схемы и коды J2EE, дело лишь за XForms – они сделают нашу Сеть много лучше.

  • Это все?

Нет, не все. Вместе с XForms, пожалуйста, встречайте XFrames, попытку замены устаревших фреймов, о необходимости которой говорили годами. Рабочая группа XFrames посвятила свое время решению проблемы людей, которых сбивает с толку поведение кнопки браузера «Назад». Широко известны также проблемы тех, кто не может поставить закладку на конкретную страницу, не может определить происхождение фреймовой группы и, что хуже всего, в этой фреймовой группе заблудился. Теперь им полегчает.

  • Спасибо; а где можно узнать подробности?

Эй, я ведь еще не закончил! Невозможно рассказать о XHTML 2 без упоминания о новых элементах, <h> и <section>. Они пришли на замену прежним <h1>, <h2> и им подобным, а уровень заголовка теперь определяется тем, в какой секции находится элемент <h>. Фактически, если говорить о URL, точно так же, как каждый элемент может содержать рисунок, каждый элемент может быть и гиперссылкой. Например:

<img src=”tacheback.gif” href=”http://tinyurl.com yofm6c”><strong>Andrew Gregory</strong> winking like a mad man</img>
  • Ну, теперь-то вы назовете адреса?

Информация о XHTML 2 очень разбросана, но последняя редакция этого стандарта доступна на http://www.w3.org/TR/xhtml2. Введение в этот документ даст общее представление тому, у кого есть лишь десять свободных минут: http://www.w3.org/TR/xhtml2/introduction.html. Если же нет и десяти минут, с основными положениями можно ознакомиться вот здесь: http://www.petefreitag.com/item/370.cfm. LXF

Персональные инструменты
купить
подписаться
Яндекс.Метрика