Развитие HTML в определенном смысле зашло в тупик - новые теги уже не нужны, поскольку хватает существующих, к тому же акцент разработки веб-страниц сместился на стили, которые расширяют возможности по оформлению документов. Естественно, CSS никак не подменяет HTML, но зато позволяет использовать ограниченный набор тегов, а вид элементов, их положение и различные параметры, задавать через стили.
Определенным ограничением HTML является и то, что он относится к формальным языкам, в том смысле, что теги и их иерархическая структура жестко описаны в спецификации. Поэтому популярность набирает XML, с помощью которого можно создавать собственные теги и формировать их структуру. Разница между HTML и XML состоит не только в тегах, но и правилах написания кода. Браузер при работе с HTML «закрывает глаза» на разные мелкие огрехи и недочеты в структуре или тому, что не корректно указан атрибут. С XML такие фокусы не проходят, поэтому браузер выдаст ошибку о том, что документ неверно сформирован.
Чтобы научить разработчиков «правильному» мышлению, изменить их стиль написания кода, а также сократить разрыв между HTML и XML, и был разработан XHTML, как промежуточный этап между ними.
XHTML (EXtensible HyperText Markup Language, расширяемый язык разметки гипертекста) предназначен для замены HTML и считается его более строгой версией. Вообще, W3C определяет XHTML как последнюю версию HTML, которая постепенно его вытеснит. Так ли это будет обстоять на самом деле, покажет только время.
Если рассуждать о некотором идеальном коде веб-страницы, то его можно сравнить с программой, которая не будет скомпилирована до тех пор, пока все ошибки не исправлены. Браузер выступает в роли компилятора и не отображает документ, если он не соответствует спецификации. XHTML, сохраняя все особенности HTML, вносит более строгие правила создания страниц, чтобы приблизиться к «идеальному» коду. Это позволяет делать сайты независимыми от устройства отображения и браузера. Иными словами, сайт будет корректно показываться во всех современных браузерах и платформах вроде компьютеров, смартфонов, КПК, нетбуках и др.
На деле все обстоит более приземленно. Разработчики браузеров не могут позволить себе, чтобы их детище работало только с «правильным» кодом. А все из-за того, что большая часть сайтов в мире просто не будет отображаться в таком браузере. Виноваты в таком положении вещей и разработчики и пользователи. Первые не обеспечили должную поддержку спецификации в своих браузерах, а вторые не потрудились ей следовать.
По этим причинам XHTML 1.x является всего лишь подобием HTML, но с более строгим синтаксисом, а не тем перспективным языком разметки, на который обязательно стоит переходить из-за его уникальных возможностей.
Дата: 21.09.2008
Нет нет… Разница не только в количестве букв. HTML – это стандртный язык разметки документов во Всемирной паутине, так же HTML является приложением SGML (стандартного обобщённого языка разметки). А XHTML в свою очередь - это расширяемый язык разметки гипертекста, созданный на базе XML. Главное их различие состоит в том, что XHTML в отличие от HTML использует синтаксис XML. То есть XHTML требует более строгих синтаксических правил разметки нежели HTML.
Преимущество XHTML в том, что анализ документа XHTML проще и быстрее из-за использования строгих правил синтаксиса, обработка XHTML возможна даже на мобильных телефонах с небольшими ресурсами.
1.
Все элементы разметки (теги) должны быть закрыты (например: ). Одиночные теги (такие как
, ) должны иметь “/” в конце (например:
);
2. Должна соблюдаться корректная вложенность элементов (тегов).
3. Имена элементов и атрибутов должны быть в нижнем регистре (например: вместо ).
4. Символы “<” и “&” везде, даже в URL, должны заменяться на "<" и "&" соответственно. Консорциум W3C рекомендует браузерам не обрабатывать XHTML документы встретив эти символы, а сообщать об ошибке. Но мы то с вами понимаем что такое вряд ли когда-то произойдет).
5. Все значения атрибутов элементов должны заключаться в двойные или одинарные кавычки (напрмер: или ).
В настоящее время появляются все более новые и альтернативные способы доступа в интернет. XHTML разрабатывался с учетом общей совместимости пользовательских браузеров (user agents). Но в тоже время все браузеры умеют читать HTML и большинство браузеров обрабатывают XHTML документы как обычный HTML. Ведь раньше не было XHTML и все сайты делались на простом HTML, и браузеры к нему давно приспособились. И делать новые браузеры без поддержки HTML просто не имеет смысла, вы будете использовать браузер который большинство (да пусть даже меньшинство) сайтов отображает некорректно? Браузеры существуют для отображения документа пользователю, а пользователю абсолютно все равно закрыли вы тег или не закрыли. А для парсеров XHTML просто рай). Поэтому прежде чем использовать новомодный XHTML подумайте, какие преимущества от его использования у вас появятся. И отвечая на вопрос Что лучше? Я бы сказал тут выбор остается за вами использовать новомодный XHTML который практически не дает преимуществ или старый проверенный HTML.
При выборе DOCTYPE необходимо чётко определиться, какой из двух стандартов выбрать: HTML или XHTML . И для облегчения Вашего выбора я решил разобрать разницу между HTML и XHTML .
Главное отличие между HTML и XHTML в том, что XHTML основан на синтаксисе XML . А, следовательно, он более строгий, и в нём нельзя допускать тех вольностей, которые можно допустить в HTML .
А теперь по пунктам разберём особенности синтаксиса XHTML :
Парные теги должны закрываться и в HTML тоже, но все мы знаем, что в HTML существует множество одиночных тегов (например, <img >), и мы смело могли написать таким образом:
Однако, в XHTML все теги должны закрываться, даже одиночные, причём закрываются они следующим образом:
Разница только в слеше перед второй угловой скобкой.
То есть нельзя писать вот так: "& ", нужно писать этот символ только сущностью, то есть "& ". В HTML подобного правила не существует.
Все мы с Вами знаем, что в HTML можно написать вот так:
То есть у нас значение атрибута "width " находится без кавычек. В XHTML это недопустимо, и там надо писать вот так:
Скажу честно, я никогда не понимал, зачем люди пишут теги в верхнем регистре. На мой взгляд, это уродует код, и возникает ощущение, что его писали не отжимая "CAPSLOCK ". Но если в HTML - это дело вкуса, то в XHTML - это правило: писать только в нижнем регистре.
Как видите, разница только в синтаксисе. Есть также и другие мелкие различия, но мы о них говорить не будем. Другими словами, единственное преимущество XHTML - это более лёгкий парсинг документа . А также XHTML очень подходит любителям "чистого" кода. Больше никаких преимуществ нет. Все браузеры корректно отображают и HTML , и XHTML . Причём зачастую браузеры XHTML обрабатывают как HTML , поэтому для внешнего вида серьёзных различий в HTML и XHTML точно не будет.
Я для себя выбрал XHTML , потому что я очень люблю, когда код "чистый" и когда он легко разбирается на составные части (парсинг ). Да, и вообще я привык к строгому синтаксису других языков, например, Java, поэтому всё равно я буду писать максимально валидно. А что выберите Вы - решать только Вам, а об отличиях HTML и XHTML Вы уже знаете.
20.05.16 3.4KИ HTML , и XHTML — это языки для создания веб-страниц. HTML построен на основе SGML , а XHTML — на основе XML . Они похожи на две стороны одной медали. XHTML был создан из HTML с целью соответствия стандартам XML . Следовательно, XHTML является более строгим по сравнению с HTML и не позволяет отступать от правил написания кода.
Причиной разработки XHTML послужила путаница с некоторыми тегами. Страницы, написанные на HTML , выводились в разных браузерах по-разному.
HTML | XHTML | |
Определение (из Википедии) | HTML или HyperText Markup Language — это основной язык разметки для создания веб-страниц и других документов, которые могут быть просмотрены в браузере. | XHTML (Extensible HyperText Markup Language) — это семейство языков XML-разметки, которые продолжают и расширяют Hypertext Markup Language (HTML), на котором написаны веб-страницы. |
Расширения файлов | .html, .htm. | .xhtml, .xht, .xml, .html, .htm. |
Формат использования | текст/html. | приложение/xhtml+xml. |
Разработан | W3C и WHATWG. | World Wide Web Consortium. |
Тип формата | Формат документов. | Язык разметки. |
Расширен из | SGML. | XML, HTML. |
Расшифровка | Язык разметки гипертекста. | Расширяемый язык разметки гипертекста. |
Приложение | Приложение Standard Generalized Markup Language (SGML). | Приложение XML. |
Функции | Веб-страницы написаны на HTML. | Расширенная версия HTML, более строгая, основанная на XML. |
Поведение | Гибкие фреймворки не требуют анализа синтаксиса HTML. | Ограничен правилами XML и требует их соблюдения. |
Происхождение | Предложен Тимом Бернерсом-Ли в 1987 году. | Рекомендация World Wide Web Consortium 2000 года. |
Версии | HTML 2, HTML 3.2, HTML 4.0, HTML 5. | XHTML 1, XHTML 1.1, XHTML 2, XHTML 5. |
HTML является основным языком разметки веб-страниц. Он создает структурированные документы, выделяя в них такие элементы, как заголовки, списки, ссылки, цитаты и т.д. Это позволяет встраивать изображения и объекты для создания интерактивных форм. HTML задается с помощью тегов в угловых скобках — например, . Также в его коде могут содержаться скрипты, написанные на JavaScript .
XHTML
представляет собой семейство языков XML
, которые расширяют или продолжают версии HTML
. Они не допускают пропусков любых тегов или минимизации атрибутов. XHTML
требует, чтобы каждому открывающемуся тегу соответствовал закрывающийся тег в корректном порядке. Например, если в языке гипертекста допускается использование одиночного тега
, то в XHTML
в отличие от HTML
нужно написать тег
. В этом и заключается отличие.
Синтаксис HTML состоит из следующих компонентов: открывающий и закрывающий тег, атрибуты элементов (задаваемые в тегах ), текстовый и графический контент. HTML-элемент — это все, что находится между тегами, включая сами теги.
Документ XHTML содержит только один корневой элемент. Все элементы, включая переменные, должны быть написаны в нижнем регистре, а присвоенные значения — заключены в кавычки, закрыты и вложены. В XHTML это является обязательным требованием — в отличие от HTML . Объявление DOCTYPE XHTML определяет правила для документов, которым необходимо следовать.
Основной синтаксис HTML
допускает использование множества сокращений, чего не допускается в XHTML
. Например, элементов, для которых необязательно наличие и открывающегося, и закрывающегося тега. XHTML
требует, чтобы все элементы имели и открывающийся, и закрывающийся тег. В то же время XHTML
вводит новые сокращения: тег XHTML
может быть открыт и закрыт с помощью косой черты (
).
Введение такого синтаксиса, который не используется в объявлениях SGML
для HTML 4.01
, могло привести к путанице в приложениях на ранних стадиях. Чтобы решить эту проблему, нужно использовать пробел перед закрытием тега:
.
HTML и XHTML могут быть задокументированы совместно. И HTML 4.01 , и XHTML 1.0 имеют три подспецификации — строгую, нестрогую и фрэймовую. Отличие документов HTML и XHTML заключается в декларировании документов. Другие отличия синтаксические. HTML допускает отсутствие закрывающегося тега, пустые элементы без закрывающегося тега. Расширяемый язык разметки гипертекста очень строг в отношении открывающихся и закрывающихся тегов XHTML . Он использует встроенный язык определения функционала атрибутов. Все требования к синтаксису XML соблюдаются в XHTML -документе.
Но эти различия проявляются только тогда, когда XHTML -документ используется как приложение XML ; то есть как MIME-типы приложение / XHTML + XML , приложение / XML или текст / XML . Документ XHTML , используемый как MIME-тип текст / HTML должен интерпретироваться как HTML , так что в данном случае применяются правила HTML . CSS , написанный для XHTML , используемого, как MIME-тип текст / HTML , может работать некорректно в документе, который применяется как, как MIME-тип приложение / XHTML + XML . Для получения дополнительной информации о MIME-типах ознакомьтесь с соответствующей документацией.
Это может быть важно, когда вы используете документы XHTML , как текст / HTML . Если не знать о данных различиях, вы можете создать CSS , который не будут работать как ожидается, если документ используется, как XHTML .
Там, где встречаются термины «XHTML » и «XHTML document «, предполагается, что в оставшейся части этого раздела они определяют использование разметки XHTML , как MIME-тип XML . XHTML-разметка , используемая в качестве текста / HTML , является HTML-документом .