При выборе 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 Вы уже знаете.
XHTML (от англ. Extensible Hypertext Markup Language - модульный язык разметки гипертекста) - расширяемое семейство всех языков и модулей разметки страниц на основе XML , только с расширением и повторением возможностей HTML 4 .
XHTML 1.0 одобрена консорциумом Всемирной паутины еще 26 января 2000 года. Уже 1 августа 2002 года была опубликована вторая измененная редакция спецификации.
XHTML 1.0 (аналогично HTML 4 ) состоит из трех типов документов:
XHTML 1.1 - версия, содержащая XHTML 1.1 Модульный, в котором авторам разрешено импортировать любые дополнительные свойства в разметку.
Для XHTML Basic и XHTML MP характерны:
Последняя версия XHTML, которая так и не достигла полноценного статуса рекомендации. Деятельность разработчиков этой версии была остановлена в конце 2010 года, при этом все ресурсы скомбинировали в общую рабочую группу HTML 5 . Результаты наработок в декабре 2010 года напечатаны в виде отчета работающей группы.
Обзор всех источников и опыта работы профессионалов дает возможность собрать все причины, по которым использование XHTML можно назвать нецелесообразным. Основной толчок к определению этих причин дал обзор XTML 5 . Он позволил выделить 12 причин, из-за которых не рекомендуется пользоваться XHTML. 4. HTML - более оптимизированная разметка под любые поисковые системы, по сравнению с XHTML, ведь в нем пишется меньше кода. 5. Заинтересованным в актуальной защите авторских прав людям HTML намного тяжелее парсить - автоматически копировать, так как XHTML как раз и предназначен для максимальной простоты парсинга. 6. Гарантия надежности при автоматическом копировании XML-документа. Этому свидетельствует факт завершения работы в случае нахождения ошибки. 7. Internet Explorer версий 6 и 7 не поддерживают application/xhtml+xml . 8. Большинство HTML документов не индексируются многими поисковыми системами так, как XML . 9. Верстать HTML намного удобнее, легче, и проще. 10. Скрипты XHTML Document.write не работают, только простая переписка, использующая DOM-функции. 11. Используя DOM-функции, нужно опускать все названия элементов в нижний регистр. Такой же процедуры нужно придерживаться в отношении селекторов в стилях. 12. XHTML-формат не поддерживает функциональные программы document.body , document.images и document.forms . 13. Невозможность содержания всех элементов в прежнем виде, так как любой значок “>” может нарушить готовую структуру. А если его экранировать с помощью “>” или путем заключения в блоки CDATA, можно сломать HTML браузеры. 14. Не реальность автоматического распространения фоновых цветов body в XHTML на все окно. 15. Ожидание нового усовершенствованного и более популярного стандарта HTML 5 , с помощью которого заменится изученный HTML 4 -формат.
На заметку, чтобы не забыть о различии между HTML и XHTML .
И так, HTML и XHTML - это особые форматы разметки веб-страниц которые “понимает” браузер.
Далее немного теории о HTML и XHTML и список некоторых различий между ними…
HTML
(от англ. HyperText Markup Language - “язык разметки гипертекста”) - стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме.
HTML является приложением («частным случаем») SGML (стандартного обобщённого языка разметки) и соответствует международному стандарту ISO 8879. XHTML же является приложением XML.
HTML - это теговый язык разметки документов. Любой документ на языке HTML представляет собой набор элементов, причём начало и конец каждого элемента обозначается специальными пометками - тегами. Элементы могут быть пустыми, то есть не содержащими никакого текста и других данных (например, тег перевода строки
). В этом случае обычно не указывается закрывающий тег. Кроме того, элементы могут иметь атрибуты, определяющие какие-либо их свойства.
Каждый HTML-документ, отвечающий спецификации HTML какой-либо версии, должен начинаться со строки объявления версии HTML .
Если эта строка не указана, то добиться корректного отображения документа в браузере становится труднее.
XHTML (англ. Extensible Hypertext Markup Language - Расширяемый язык разметки гипертекста) - язык разметки веб-страниц, по возможностям сопоставимый с HTML, созданный на базе XML. Как и HTML, XHTML соответствует спецификации SGML, поскольку XML является её подмножеством. Вариант XHTML 1.1 одобрен в качестве Рекомендации Консорциума Всемирной паутины (W3C) 31 мая 2001 года.
Валидным (т. е. отвечающим всем правилам) XHTML-документом считается документ, удовлетворяющий технической спецификации. В идеале, все браузеры должны следовать веб-стандартам и, в соответствии с ними, валидные документы должны отображаться во всех браузерах на всех платформах. Валидация XHTML-документа рекомендована даже несмотря на то, что она не гарантирует кросс-браузерности. Документ может быть проверен на соответствие спецификации с помощью онлайновой cлужбы валидации разметки W3C. Валидация обнаружит и разъяснит ошибки в XHTML-разметке.
Различия между XHTML и HTML
- Все элементы должны быть закрыты. Теги, которые не имеют закрывающего тега
(например, или
) должны иметь на конце / (например,
).
Булевы атрибуты записываются в развёрнутой форме. Например, следует писать
Имена тегов и атрибутов должны быть записаны строчными буквами (например, alt="" /> вместо ).
XHTML гораздо строже относится к ошибкам в коде; < и & везде, даже в URL,
должны замещаться < и & соответственно. По рекомендации W3C браузеры,
встретив ошибку в XHTML, должны сообщить о ней и не обрабатывать документ. Для
HTML браузеры должны были попытаться понять, что хотел сказать автор.
- Кодировкой по умолчанию является UTF-8 (в отличие от HTML, где кодировкой по
умолчанию является ISO 8859-1).
Для XHTML страниц рекомендуется задавать MIME-тип - application/xhtml+xml, но
это не является обязательным, более того - браузер Internet Explorer 8 и младшие
версии, не смогут обрабатывать страницу, поэтому с XHTML 1.0 традиционно
используется MIME-тип для HTML - text/html.
Также стандарт рекомендует указание перед
DTD, но это не обязательно, более того - браузер Internet Explorer воспринимает
такое указание (как и любой другой текст перед ), как признак того,
что данную страницу необходимо отображать в режиме обратной совместимости, а не
согласно стандарту. Существует три типа документов XHTML: strict, transitional и
frameset. Наиболее употребительной и универсальной из версий XHTML является
переходная (англ. transitional), поскольку она позволяет использовать iframe
(включение содержимого одной веб-страницы в другую) и атрибут target у ссылок
(для указания того, например, что ссылке необходимо открываться в новом окне).
Фреймовая версия (англ. frameset) представляет собой расширенный вариант
transitional, добавляя к нему, как следует из названия, возможность установки
frameset вместо body. DTD строгой версии XHTML (англ. strict) не содержит многих
тегов и атрибутов, описанных в DTD transitional, и признанных устаревшими.
Спасибо http://ru.wikipedia.org/
Дата: 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.
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-документом .