Xhtml или html что лучше
Школа Продающих Сайтов
A5.ru: конструктор сайтов
HTML и XHTML – основные отличия
Изучаем HTML и XHTML
Популярность и востребованность HTML привела к тому, что за короткий промежуток времени разработано и внедрено уже несколько версий этого языка, как официального, так и неофициального.
Итак, ХHTML переводится на русский, как расширяемый язык разметки гипертекста. Создание такого языка позволяет постоянно его модернизировать, совершенствовать расширения.
В чем отличие HTML от XHTML
Главное отличие XHTML от HTML, заключается в использовании другого, нового способа обработки интернет-страницы, страницы сайта, документа и пр. Встроенная программа «Парсер» в автоматическом режиме выполняет синтаксическую проверку и анализ страницы на наличие в ней ошибок.
Так вот, в языке гипертекстовой разметки при обнаружении такой ошибки браузер должен был обязательно ее исправить. А для того, чтобы он «подумал» и внес исправления, требовалось определенное время, что не всегда было удобно.
Язык ХHTML позволил обойти эту проблему. И при обнаружении ошибки в каком-либо теге, она просто выводилась на экран вместе с текстом и не исправлялась.
Также обязательное требование – закрытие всех элементов, в том числе и одиночных тегов, обязательно имеющие на конце своего обозначения символ «/».
Еще одно отличие языков заключается в используемой кодировке. Так XHTML применяет наиболее популярную и распространенную UTF-8. А язык HTML использовал ISO 8859-1.
Ну и необходимо отметить, что XHTML по сравнению с HTML имеет меньшее количество версий.
Подводя итог этой части, следует сказать, что при разработке XHTML одной из основных задач было создание более строгого языка.
Однако, в 2010 году, работы по его развитию свернуты. Все положительное, вместе с разработчиками языков, оказалось вложенным в развитие наиболее популярного ныне языка HTML5.
Тем не менее, огромное количество сайтов было создано на основе развивающегося расширяемого языка, и поныне они успешно продолжают существовать во всемирной паутине под названием Интернет.
Основные требования, характеризующие использование ХHTML
1. Используя один и тот же набор тегов он требует более строгого соблюдения синтаксиса.
2. Без исключения каждый элемент ХHTML должен быть с конечным тегом.
3. Кроме того, теги должны быть прописаны только строчными буквами, никаких заглавных!
4. Требуется безошибочное вложение всех элементов одного в другой.
5. Все части языка должны быть выделены кавычками. Обязательно!
6. Не допускается никаких сокращений!
XHTML(Extensible Hypertext Markup Language) – Расширяемый язык разметки гипертекста, развивался од 2010 года. Имеет отличия от HTML о которых мы рассказали выше. Все его разработки успешно влились в последнюю версию HTML5.
Изучение и совершенствование владения html xhtml и css позволяет выйти на новый, наиболее продвинутый уровень сайтостроения. Чем и хорош процесс непрерывного развития технологий, программ и языков программирования, таких как html и xhtml.
Ответы на часто задаваемые вопросы по XHTML и HTML
Выход со станции, повернитесь налево, поднимитесь по ступеням на Верхнюю Улицу и поверните направо
Преимущество этого в том, что в случае, если изображение недоступно (к примеру, из-за ошибок в сети) или не может быть обработано браузером, документ остается доступным. Если требуется использовать более одного изображения, код будет выглядеть так:
конечно, лучше использовать технологию content negotiation, если ее поддерживает ваш сервер:
Зачем нужен XHTML? Не достаточно ли HTML?
HTML — возможно, самый популярный в мире язык разметки документов. С появлением XML было организовано обсуждение, нужна ли новая версия HTML в рамках XML. Участники ответили однозначно «да»: версия HTML, основанная на XML, позволит использовать элементы XHTML в других языках XML, а документы XHTML смогут использовать элементы других языков XML. Кроме того, будет возможным привести в порядок HTML, ликвидировав его самые «неопрятные» элементы и расширив его функциональность, например, улучшенной реализацией форм.
В чем преимущества XHTML перед HTML?
Если документ составляет простой XHTML 1.0 (без использования других языков разметки), то вы не заметите существенной разницы. Однако со временем доступными становятся все больше и больше инструментов, основанных на XML (таких как XSLT для преобразования документов) и вы рано или поздно заметите преимущества использования XHTML. Например, технология XForms позволит вам редактировать документы XHTML (и любые другие документы XML). Приложения Семантической Сети (Semantic Web) будут способны использовать преимущества XHTML.
Если документ содержит нечто большее, чем XHTML 1.0, например, включения языков MathML, SMIL, SVG, то преимущества налицо: вы бы не смогли использовать эти технологии с HTML.
Можно ли просто добавить объявление XML в начало существующего документа HTML? Можно ли смешивать код HTML 4.01 и XHTML?
Нет. Формат HTML не основан на XML. Чтобы интерпретировать данные как XML, вы должны внести необходимые изменения, чтобы сделать код документа верным кодом XML.
Как проще всего преобразовать документы HTML в XHTML?
Программа HTML Tidy позволяет получить XHTML из кода HTML. Браузер и веб-редактор Amaya сохраняет HTML документы в формате XHTML.
Почему разработчики браузеров так суетятся с XML? Не лучше ли для браузеров работать с HTML?
XML вводит более строгие правила обработки документов. Браузеры HTML работают с любыми входными данными, коректными и некоректными, и пытаются их интерпретировать. Схема обработки ошибок очень усложняет разработку программ, особенно если учесть, что предполагается, что реакция всех браузеров на некоректные данные должна быть одинаковой. Кроме того, это означает, что огромное число документов HTML содержат ошибки, но нормально отображаются браузерами, и авторы не подозревают о том, что код HTML некорректен. Вот почему необычайно сложно создать новый пользовательский агент, пока документы, выдаваемые за HTML, часто очень плохи.
Зачем мне беспокоиться о верности кода HTML? В моем браузере документ отображается верно.
Все браузеры способны обрабатывать верный код HTML. Но если код неверен, браузер вносит исправления; так как разные браузеры по-разному обрабатывают ошибки, это приводит к тому, что документ по-разному выглядит в разных браузерах. Браузеров существует сотни, их число постоянно растет (не только для ПК, но и для КПК, мобильных телефонов, телевизоров, принтеров и даже холодильников), протестировать документ на всех браузерах невозможно. Если ваш документ содержит ошибки и неправильно отображается в конкретном браузере, это ваша вина, но если код HTML корректен, то неверное отображение уже на совести разработчиков программы.
Как можно проверить корректность разметки в моем документе?
W3C предоставляет для этого валидатор: http://validator.w3.org/. Браузер Amaya сообщает, верен ли код отображаемых документов.
Почему вы не всегда используете термин «пользовательский агент» («user agent») вместо «браузер»?
В то время как браузеры являются важными пользователями HTML и XHTML, существует много других программ и систем, которые используют (X)HTML документы. Поисковые машины, например, считывают документы, хотя и не относятся к браузерам. Используя термин «пользовательский агент», мы стараемся подчеркнуть разницу.
Например, сделав запрос поисковику Google, в результатах поиска вместе со ссылкой можно увидеть текст «веб-страница использует фреймы, но ваш браузер не поддерживает их»; некоторые люди игнорируют такие ссылки. Создатели таких сайтов не представляют себе, что контент требуется не одним лишь браузерам, и что элемент должен содержать более предусмотрительный текст, не выглядящий столь глупо в глазах людей, использующих поиск.
Для чего нужно использовать именные пространства (namespace) в XHTML?
Во времена становления HTML различные группы и компании добавляли по своему желанию новые элементы и атрибуты в HTML. Это грозило путаницей с версиями HTML, не являющимися общепринятыми. XML («X» означает «расширенный», «Extensible») позволяет всем использовать элементы из различных языков, но браузер или другой пользовательский агент должен как-то определять, к какому языку относится тот или иной элемент. Для этого и требуются объявления именных пространств (namespace).
Почему документы XHTML 1.0 не стоит отправлять как text/html?
XHTML имеет формат XML; это означает, что тип данных документа XHTML должен соотноситься с XML (application/xhtml+xml, application/xml, либо text/xml). Однако XHTML 1.0 создавался таким образом, чтобы документы могли верно отображаться пользовательскими агентами HTML. Если вы последуете нескольким простым правилам, документы XHTML 1.0 будут подходить для браузеров HTML. Но так как последние работают только с типом данных text/html, вам необходимо передавать XHTML 1.0 как text/html, чтобы обеспечить совместимость с устаревшим программным обеспечением. Но знайте: документ с заголовоком text/html всегда будет обрабатываться как простой HTML, а не XHTML.
Какие браузеры принимают тип данных application/xhtml+xml?
Известные нам браузеры — все основанные на Mozilla (Mozilla, Netscape 5+, Galeon, Firefox), Opera, Amaya, Camino, Chimera, DocZilla, iCab, Safari, плюс все программное обеспечение для мобильных телефонов, работающих с WAP2. Фактически, любой современный браузер должен принимать тип данных application/xml. Обратитесь к тесту на тип данных XHTML за подробностями.
Принимает ли Microsoft Internet Explorer тип application/xhtml+xml?
Нет, но есть уловка, которая позволит передавать XHTML1.0 для Internet Explorer в качестве application/xml.
Добавьте в начало документа выделенную ниже строку:
Файл должен содержаться на том же сайте, с которого передается документ.
Вы передаете документ как XML, он проходит обработку, в итоге браузер считает, что получен text/html; таким образом, пользуясь приведенным советом, вы должны учитывать все правила, которые требуются для обеспечения совместимости XHTML 1.0 с браузерами HTML.
Документ будет работать для браузеров, которые принимают XHTML 1.0 как application/xml.
В CSS есть правила, которые относятся только к HTML. Применяются ли эти правила к XHTML?
Нет. Правила CSS, относящиеся только к HTML, применяются только к документам, переданным как text/html.
Работает ли document.write в XHTML?
Нет. Сама суть XML предполагает, что невозможно генерировать разметку скриптами, в то время как парсер еще обрабатывает разметку.
Можно добиться того же эффекта, что и document.write, но для добавления и удаления элементов нужно использовать DOM.
Почему нельзя передавать докуметы XHTML 1.1 в качестве text/html?
XHTML 1.1 представляет собой обычный XML, предназначеный только для обработки в качестве XML. XHTML 1.1 нельзя передавать браузерам HTML. Поэтому документы XHTML 1.1 обязательно должны передаваться с типом данных, относящимся к XML, таким как application/xhtml+xml.
Почему из XHTML 1.1 был ликвидирован атрибут target?
Атрибут target не ликвидировался из XHTML 1.1. XHTML 1.0 подразделяется на три разные версии: strict, transitional и frameset. Все разновидности обеспечивают такую совместимость с HTML 4.01, которую только позволяет XML. XHTML 1.1 — обновленная версия XHTML 1.0 strict, а атрибута target не было ни в одной версии HTML strict. Другие версии, transitional и frameset, не были обновлены, так как в этом нет необходимости. Если вы хотите использовать атрибут target, используйте XHTML 1.0 transitional.
Для чего используется модуляризация XHTML?
Модуляризация XHTML (Modularization) предназначена для применения разработчиками языков, основанных на XHTML, но не пользователями языков. Компании и группы часто разрабатывают собственные версии HTML и XHTML, которые не совместимы между собой. Модуляризация разделяет XHTML на модули, которые могут по отдельности использоваться при определении нового языка; так, например, любая версия языка, использующая таблицы, будет работать с единым для XHTML определением таблиц. Кроме того, модуляризация разъясняет, в каких случаях можно добавлять новые элементы, а в каких — нет.
Зачем нужен XHTML2? Не достаточно ли XHTML 1?
HTML и XHTML выполнили возложенные на них задачи, но в этих языках есть множество элементов, которые нужно улучшить. В XHTML2 особое внимание уделено улучшению возможностей структурирования, удалению элементов, которые уже есть в XML, удобству использования (usability), доступности (accessibility), интернационализации, аппаратной независимости, улучшенному механизму форм, устранению необходимости в использовании скриптования.
Выход со станции, повернитесь налево, поднимитесь по ступеням на Верхнюю Улицу и поверните направо
Преимущество этого в том, что в случае, если изображение недоступно (к примеру, из-за ошибок в сети) или не может быть обработано браузером, документ остается доступным. Если требуется использовать более одного изображения, код будет выглядеть так:
конечно, лучше использовать технологию content negotiation, если ее поддерживает ваш сервер:
В таком случае, сервер «договаривается» с браузером, какой формат графики передать программе. Если доступных изображений нет, будет использовано содержимое элемента. Это позволяет добавить изображения отдельного формата позже, не меняя код страниц. Почему XHTML2 не использует XLink?
XLink и XHTML имеют различные требования для использования ссылок, и эти требования не совместимы.
Почему в XHTML2 нет совместимости со старыми версиями XHTML?
Совместимость есть, но она реализована иначе, чем прежде.
Ранние версии HTML были языками для конкретной области применения (не соотносящимися с каким-то общим инструментом разметки), поэтому было важно поддерживать совместимость, так чтобы старые браузеры корректно воспринимали документы. Например, по этой причине элемент содержит данные в своем атрибуте, а не в качестве своего содержимого — так обеспечена совместимость с прежним программным обеспечением.
Однако благодаря XML и таблицам стилей, такой строгий механизм совместимости больше не нужен, так как браузер XML (на момент написания этого текста 95% браузеров принимают XML) может обрабатывать новый язык без обновления. Многие возможности XHTML 2 уже доступны в современных браузерах, не создававшихся специально для XHTML2. Многое работает, но не все: когда формы и таблицы были добавлены в HTML, людям пришлось подождать появления новых браузеров; точно так же особые элементы XHTML 2, такие как XForms и XML Events, требуют от программного обеспечения понимания их функциональности.
Почему xml:space установлен как ‘preserve’ для всех элементов XHTML2? Я не хочу видеть в выводе браузера дополнительные пробелы.
Атрибут xml:space связан с вводом: он требуется, чтобы контролировать, будут ли пробелы представлены в DOM (т.е. во внутренней версии документа, с которой работает браузер); это не относится к конечному отображению документов. Вывод пробельных символов устанавливается свойтвом CSS ‘whitespace’. Присвойте ему значение ‘pre’, чтобы все пробельные символы DOM были видны при выводе; значение ‘normal’ скроет пробельные символы (CSS3 будет содержать более богатые средства контроля вывода).
Именно поэтому для всех элементов XHTML установлено xml:space=»preserve»: иначе бы свойство ‘whitespace’ не имело дейсивия. Таблица стилей по умолчанию устанавливает ‘whitespace’ значение ‘normal’ для всех элементов, кроме
, но вы можете это изменить в своих таблицах.
XHTML или HTML?
Средний 1 комментарий
Вы представляете себе XHTML видимо как какую то надстройку, расширяющую HTML, но на самом деле это не так.
XHTML — это тот же HTML с точки зрения изучения его функциональных возможностей, никакой разницы.
Если объяснять на пальцах — то это просто стандарт, который заставляет не допускать ошибок при создании HTML документов (если есть ошибка — документ не прочитается) и запрещает некоторые необязательные конструкции в HTML.
Поэтому для вас есть изучение HTML. А XHTML — это просто пробежаться глазами — понять зачем он понадобился.
Да без разницы изучать ли XHTML — поймите — там на самом деле вообще нечего изучать.
В предложенной вами книге наверняка максимум глава про него — и то если сумели раздуть. Посмотрите в гугле что это такое и не парьтесь.
По сути изучение HTML — это изучение значений его элементов и правила верстки. Конечно можно сразу учиться делать валидую верстку учитывая строгие правила XHTML, но это совершенно втростепенные знания по сравнению с остальным.
На деле для грамотного верстальщика есть специальные механизмы которые будут сами следить за валидностью документа, если вам на самом деле понадобится когда нибудь за ним следить, и заставлять вас писать правильно.
И если вы хотите научится XHTML, просто пишите свои учебные примеры в такой среде разработки.
Или забейте.
HTML5 против XHTML
Различия между HTML5 и XHTML
HTML это язык, разработанный в основном для веб. Это был первый интернет-язык. Почти все, что отображается в браузере, выполняется с помощью HTML. HTML занимает центральное место в процессе веб-разработки. HTML может быть определен как имеющий статическую структуру, организацию и его содержание. Сначала создается базовый HTML-документ, также называемый документом разметки, затем в этот файл обычно внедряются другие динамические аспекты сайта, будь то функция на основе JavaScript для добавления интерактивности или серверных сценариев для подключения сайта к его источнику данных, и затем также CSS-файлы, которые добавляют стилистические элементы на страницу. Все эти файлы могут быть связаны с HTML-файлом, что делает его почти основой системы.
В этой статье HTML5 против XHTML мы сравним ключевые преимущества каждой из этих технологий и поймем их ключевое различие между HTML5 и XHTML.
Сравнение лицом к лицу между HTML5 и XHTML (инфографика)
Ниже представлено 8 лучших отличий HTML5 от XHTML.
Ключевые различия между HTML5 и XHTML
Определение типа документа (или, как его часто называют в качестве стандартного кода, с которого начинается каждая веб-страница) для XHTML было действительно очень сложным. Например, даже люди, которые преподавали в классах и писали книги по HTML5, никогда не могли запомнить этот тип документа. Им всегда приходилось копировать и вставлять это. HTML5, с другой стороны, имеет очень простое и понятное определение документа. Это так просто, что еще раз можно создать веб-страницу из памяти.
HTML5 чаще всего не включает теги стилей из HTML 4. Вместо этого HTML5 требует, чтобы разработчики использовали CSS для всех видов стилей. Аналогично, фреймы и макет на основе таблиц не поощряются в пользу макета в стиле CSS.
Стандарты кодирования HTML5 больше похожи на XHTML, чем другой вариант, HTML 4. Хотя все еще возможно использовать нестандартное кодирование в HTML5, в большинстве случаев разработчики используют строгие стандарты XHTML, чтобы гарантировать, что код легче читать для других и более предсказуемо.
Сравнительная таблица HTML5 и XHTML
Основное сравнение между HTML5 и XHTML обсуждается ниже:
HTML5
XHTML
HTML начинался как очень простой язык для разработки веб-страниц, как упоминалось во вводном разделе. XHTML возник как необходимость, когда веб-разработка вышла за пределы ограниченного горизонта, а профессиональные программисты нуждались в языке, выходящем за рамки возможностей HTML 4. Строгая версия XHTML, также называемая расширяемым языком разметки гипертекста, затем вошла в картину и считалась гораздо более точной, предсказуемой и отказоустойчивой, чем HTML 4.
Позже XHTML не смог завоевать популярность. Разработчики, особенно те люди, которые интегрировали в свой проект множество языков программирования, таких как JavaScript и PHP, любили XHTML Strict, но это принесло слишком мало пользы, и огромное количество страниц никогда не удосуживалось соответствовать новым стандартам. Таким образом, когда пришло время родить новый стандарт, Консорциум World Wide Web решил поддержать HTML5, а не XHTML 2.
Рекомендуемая статья
XHTML 2 против HTML 5
Вернемся в прошлое на десять с небольшим лет, в 18 декабря 1997. Internet Explorer 4 был выпущен 3 месяца назад, The Mozilla Foundation еще не сформирована и до выхода Firefox еще далеко. Здесь нет XMLHttpRequest, нет даже XML. В этот день, больше десятилетия назад, HTML 4.0 был опубликован как рекомендация W3C.
Он и стал базой, на основе которой были разработаны современные web-стандарты. Конечно, были и усовершенствования. В 2000 году как официальная рекомендация был принят XHTML 1.0, а CSS 2 был реализован большинством производителей браузеров. Но основа Web – костяк, на котором построен каждый сайт, от простых визиток до комплексных приложений – по существу осталась неизменной.
По крайней мере, до сегодняшнего дня. После долгого затишья, кажется, уклад вещей в W3C меняется – в разработке находятся две конкурирующие спецификации, призванные заменить устаревшие стандарты HTML 4.x и XHTML 1.x. Обе инициативы работают под эгидой W3C (пусть так было и не всегда) и обе, по моему мнению, значительно превосходят текущую подборку языков web-разметки. Это HTML 5 и XHTML 2.0. И если вы читаете эту статью, скорее всего, в течение нескольких следующих лет вам придется работать с одной (или обеими) из них.
Немного истории
Работа над XHTML 2.0 началась вскоре после публикации XHTML 1.1 в качестве рекомендации в 2001 году. Первый черновой вариант XHTML 2.0 был опубликован в 2002 г., но значительная часть документа была в ненормативном и незавершенном состоянии (а кое-что осталось до сих пор). К 2004 году у некоторых видных деятелей отрасли – разработчиков браузеров, дизайнеров, web-разработчиков и владельцев контента – возросло недовольство дирекцией рабочей группы XHTML 2.0. Ссылаясь на закрытый характер работы W3C, они решили основать и разрабатывать свой собственный стандарт.
Итак, в 2004 г. была сформирована независимая коалиция, названная WHATWG (Web Hypertext Application Technology Working Group). Группа начала работу над спецификацией, названной Web Applications 1.0. В апреле 2007 года W3C проголосовало в пользу предложения рассмотреть спецификацию группы. Члены WHATWG начали работать в рамках W3C как группа разработчиков HTML и продолжили работу над своим проектом, который был переименован в HTML 5. Таким образом, черновик HTML 5 должен однажды стать рекомендацией W3C наряду с XHTML 2.0 (хотя этот день еще очень далек, и W3C уже пропустил несколько ключевых этапов проекта).
Обзор XHTML 2.0
XHTML 2.0 полностью основан на XML, разработчики отказались от наследства SGML и синтаксических особенностей, присутствующих в текущей web-разметке. Он позиционируется как «язык общего назначения», с минимальным функционалом по умолчанию, который легко расширить, используя CSS или другие технологии (XForms, XML Events, и т.д.). Этот модульный механизм позволяет группе разработчиков XHTML 2 сосредоточить свое внимание на общей разметке документа, пока остальные разрабатывают механизмы представления, интерактивности, построения документа и т.д.
Первым приоритетом для рабочей группы XHTML 2 является дальнейшее отделение контента и структуры документа от его представления. Другими целями являются повышенное удобство и доступность, улучшенную интернационализация, большая независимость от устройств, меньшее количество скриптов и интеграция с Semantic Web. Разработчики были меньше заинтересованы в обратной совместимости, чем их предшественники (и группа разработчиков HTML), что привело к удалению некоторого синтаксического багажа, существовавшего в ранних воплощениях HTML. Результатом стал более чистый и сжатый язык, исправляющий многие старые недочеты Web-разметки.
Обзор HTML 5
В то время как концепция XHTML 2.0 предназначена быть революционной, группа разработчиков HTML выбирает прагматичный подход и создает HTML 5, как эволюционировавшую технологию. Получается, что HTML 5 является шагом вперед, но по-прежнему большей частью совместим с текущими стандартами HTML 4/XHTML 1. Однако HTML 5 предлагает множество изменений и расширений для HTML 4/XHTML 1, указывающих на многие недочеты своих предыдущих спецификаций.
В спецификации HTML 5 речь идет об отходе HTML от разметки документа и внедрении его в языки для создания web-приложений. С этой целью основное внимание концентрируется на создании более надежного и функционального клиентского окружения, предоставляющего различные API для разработки web-приложений. Среди прочего, спецификация предусматривает то, что реализации должны предоставить на стороне клиента постоянные хранилища данных (как вида ключ/значение, так и SQL-базы данных), API для воспроизведения аудио и видео, 2D-рисования посредством элемента canvas, обмен сообщениями между документами, отправляемые сервером события и сетевые API.
HTML 5 поддерживает SGML-подобный синтаксис, совместимый с текущими спецификациями HTML (хотя некоторые наиболее эзотерические черты SGML больше не поддерживаются). В спецификацию также включена вторичная «XML-сериализация», позволяющая разработчикам использовать правильные XML-документы. Путем сохранения SGML-подобной сериализации группа разработчиков HTML 5 достигла баланса между прагматизмом и прогрессом: разработчики могут выбирать между разметкой с использованием HTML-сериализации (которая больше похожа на HTML 4.x) или XML-сериализации (больше похожа на XHTML 1.x).
Схожие черты
Никого не удивит, что обе группы разработчиков предлагают ряд сходных возможностей. Они указывают на известные «больные места» web-разработки и будут желанным дополнением в новом поколении языков разметки.
Удаление элементов представления
Ряд элементов будут удалены в XHTML 2 и HTML 5, так как они отвечают только за представление документа. Считается, что представление должно управляться посредством таблиц стилей.
Списки навигации
Улучшенные формы
Обе спецификации содержат новые возможности для создания более последовательных форм с применением меньшего количества скриптов. В XHTML 2.0 стандарт HTML-форм был полностью удален в пользу более обширного стандарта XForms. Группа разработчиков XHTML 2.0 не контролирует эту технологию, а только ссылается на нее в спецификации. Для упрощения повторного использования в XForms собираемые данные отделены от разметки элементов управления. Это мощный язык, но его полное описание выходит за рамки этой статьи. Достаточно сказать, что даже малые знания этой технологии значительно повысят скорость разработки.
HTML 5 сохраняет привычные HTML-формы, но добавляет некоторые типы данных для упрощения разработки и повышения удобства для пользователя. Добавлено несколько новых типов элемента input для email-адресов, URL, даты и времени и числовых данных. Это позволит браузерам создавать более удобный пользовательский интерфейс (например, диалоги для выбора даты и времени), интегрироваться с другими приложениями (выбор адресов из Outlook или Адресной Книги, например) и проверять введенные пользователем данные перед отправкой на сервер (сокращение JavaScript-проверок на стороне клиента).
Семантическая разметка
Обе спецификации охватывают приближающийся Semantic Web, позволяя разработчикам внедрять в документы более богатые метаданные. Как и с формами, группа разработчиков XHTML2 использует более сложную технологию, в то время как разработчики HTML 5 пошли по более простому пути.
В XHTML 2.0 метаданные могут быть внедрены при использовании нескольких новых атрибутов из Модуля Метаинформационных Атрибутов (Metainformation Attributes Module). В частности, новый глобальный атрибут role предназначен для описания значения данного элемента в контексте документа. Также используется технология «Внедрения структурированных данных в web-страницы» (Embedding Structured Data in Web Pages), для этого группа использует существующие стандарты, ссылаясь на RDF. Эта технология является чрезвычайно мощной, но также и сложной.
Только в HTML 5
Ниже описаны некоторые возможности HTML 5, не имеющие аналогов в XHTML 2.0
API для web-приложений
HTML 5 вводит ряд API, значительно улучшающих оболочку для разработки на стороне клиента. Они делают из HTML 5 стек технологий для web-приложений, а не просто язык для разметки документов. Стоит отметить, что детали этих API сейчас проработаны группой разработчиков Web API (Web API working group), поэтому могут быть приняты как с остальной частью HTML 5, так и самостоятельно. Новыми API и соответствующими элементами являются:
Новые элементы
В HTML 5 вводится ряд новых возможностей, которых нет в XHTML 2.0:
Отслеживание пользователей оповещением (pinging) URI
Новый атрибут ping может использоваться в элементах a и area для отслеживания пользователей. Этот атрибут позволяет указать разделенный пробелами список URI, которые должны быть оповещены при переходе по ссылке, это позволяет уйти от использования переадресации или JavaScript’ов.
Только в XHTML 2.0
Новые возможности, которые доступны только в XHTML 2.0
Любой элемент может быть ссылкой
В XHTML 2.0 атрибут href можно указать в любом элементе, тем самым превратив его в ссылку. С этим изменением элемент a больше не является необходимым, но он сохраняется.
Любой элемент может быть изображением (или другим ресурсом)
В XHML 2.0 элемент img был удален. Но не волнуйтесь – теперь любой элемент может быть изображением. Идея в том, что все изображения имеют длинное описание, которое эквивалентно самому изображению. Добавлением атрибута src к любому элементу мы говорим браузеру загрузить указанный ресурс и разместить его на месте элемента. Если по какой-либо причине ресурс недоступен, будет отображено содержание элемента. Это позволяет разработчикам предоставлять несколько эквивалентных ресурсов, используя разные форматы файлов и представления, путем вложения элементов друг в друга.
Строки заменяют br
Новая структура заголовков
Новые элементы
Группа разработчиков XHTML 2 сосредотачивала внимание на создании более общего, упрощенного языка. В виду этого, они воздержались от добавления множества специализированных элементов для представления различных видов контента. Они утверждают, что новый атрибут role предоставляет механизм для внедрения богатых метаданных, которые делают ненужными специализированные элементы. Тем не менее, было включено несколько новых элементов:
Заключение
Оба предложения выглядят обещающе и содержат множество новых возможностей, указывающих на обычные проблемы web-разработки. Но ни одна спецификация является официальной рекомендацией, и так, скорее всего, будет в течение некоторого времени.
Несмотря на позднее начало, группа разработчиков HTML 5 имеет большую индустриальную поддержку и прошла больший путь в рекомендационном процессе. Их цель состоит в том, чтобы иметь полную спецификацию, с множеством взаимодействующих реализаций не позднее 2010 года (как я уже говорил, несмотря на это, консорциум W3C уже пропустил несколько этапов в процессе утверждения). С индустриальной поддержкой большинства главных разработчиков браузеров (единственным исключением является Microsoft) эти спецификации, вероятнее всего, будут внедряться быстро и последовательно, как только они достигнут стабильного состояния.
Всеобщее желание состоит в том, чтобы избежать очередной войны стандартов. К счастью, так как оба языка поддерживают пространства имен XML (или, в случае HTML-сериализации в HTML 5 — переключение DOCTYPE), маловероятно, что мы увидим такую же зависимость отображения документа от браузера, какая наблюдалась в 90-ых. Если отмести в сторону войны стандартов, будущее web-разработки выглядит светлым. Эти новые возможности разметки и API предоставят хорошую оболочку для web-разработки, которая должна сократить разрыв между настольными и web-приложениями.
Оригинал: Mike Malone, XHTML 2 vs. HTML 5
Перевод: Helios




