Разница между HTML и XHTML. В чем разница между HTML и XHTML
При написании кода XHTML придерживаются того же синтаксиса, который характерен для HTML. При этом разница между HTML и XHTML состоит в наборе некоторых обязательных правил.
Правила XHTML следующие.
- Все теги и их атрибуты должны быть набраны в нижнем регистре (строчными символами).
- Значения любых атрибутов необходимо заключать в кавычки.
- Требуется закрывать все теги, даже такие, которым не сопоставлен закрывающий тег.
- Должна соблюдаться правильная вложенность тегов.
- Нельзя использовать сокращенные атрибуты тегов.
- Вместо атрибута name следует указывать id .
- Следует определять DTD (document type definition, описание типа документа) с помощью элемента .
Теги должны быть набраны в нижнем регистре
Это правило возникло из-за того, что XHTML чувствителен к регистру символов, поэтому для него теги
и
различаются. Чтобы не возникало путаницы, синтаксис принудительно заставляет указывать все теги, а также их атрибуты в нижнем регистре. В примере 3.1 приводится неверное использование тегов.
Пример 3.1. Ошибочное написание тегов
XHTML 1.0 IE Cr Op Sa Fx
Lorem ipsum dolor sit amet...
В данном примере теги
иНабраны прописными символами, что является ошибкой. В примере 3.2 показан корректный код.
Пример 3.2. Правильное написание тегов
XHTML 1.0 IE Cr Op Sa Fx
Lorem ipsum dolor sit amet...
Значения любых атрибутов необходимо заключать в кавычки
Хотя в HTML также требуется заключать значения в кавычки, но их отсутствие никак не влияет на корректность кода. Так что можно сказать, что в HTML применение кавычек это лишь рекомендация. В XHTML же использование кавычек возведено в правило и любые значения атрибутов требуется указывать только в них (пример 3.3).
Пример 3.3. Использование кавычек
XHTML 1.0 IE Cr Op Sa Fx
Чебурашка | Шапокляк |
---|---|
1 | 5 |
4 | 13 |
В данном примере все атрибуты тега
задаются
в кавычках.
Требуется закрывать все тегиВ HTML теги делятся на две категории - парные теги, называемые еще контейнерами и одинарные теги. Парные теги состоят из открывающего и закрывающего тега, причем в некоторых случаях закрывающий тег можно опустить. В XHTML закрывающий тег требуется всегда и везде. В примере 3.4 показан код с ошибкой, из-за того, что отсутствует тег .Пример 3.4. Нет закрывающего тега XHTML 1.0 IE Cr Op Sa Fx
и лезет, крадучись, в самолёт, и бомбу в брюхо ему кладёт, Некоторые разработчики игнорируют закрывающие теги , , , но в XHTML их отсутствие считается ошибкой. В примере 3.5 показано корректное использование списков.Пример 3.5. Добавление списка XHTML 1.0 IE Cr Op Sa Fx
В данном примере каждому открывающему тегу соответствует его закрывающий тег. Элемент не является частью XHTML-документа, поэтому для него закрывающего тега не требуется. Что касается одинарных тегов, то они должны завершаться слэшем перед закрывающей угловой скобкой, как показано в примере 3.6. Пример 3.6. Добавление изображения XHTML 1.0 IE Cr Op Sa Fx
В данном примере обратите внимание на обязательный пробел, который предшествует конструкции /> . В табл. 3.1 приведены некоторые теги HTML и их запись в XHTML-документе. Должна соблюдаться правильная вложенность теговXHTML критично относится к ошибкам следующего типа: некорректная вложенность одного тега в другой и расположение тега в несоответствующем контейнере. Правильная вложенность теговКаждый тег должен располагаться внутри другого тега, при этом недопустимо их «пересечение», как это показано в примере 3.7. Пример 3.7. Ошибка с положением тегов XHTML 1.0 IE Cr Op Sa Fx
Lorem ipsum dolor sit amet... В данном примере закрывающий тег предшествует тегу , хотя должно быть наоборот, что и приводит к ошибке. Стоит поменять теги местами, как код становится корректным. Хотя валидатор кода и выдает ошибку в случае неправильного положения тегов, браузеры при этом правильно отображают веб-страницу. Иерархия теговВсе теги имеют строгую иерархическую систему в том смысле, что каждый тег должен находиться внутри другого тега и никак иначе. На условной вершине находится корневой элемент , а все остальные теги могут содержать внутри себя другие теги, которые называются дочерними. Соответственно дочерние теги располагаются в родительском элементе. Необходимо знать систему подчиненности тегов и следовать ей при написании кода XHTML. В примере 3.8 показана базовая структура документа. Пример 3.8. Структура документа XHTML 1.0 IE Cr Op Sa Fx
В данном примере вначале приводится тег , внутри которого располагаются теги и . Внутри раздела хранится заголовок документа (Нельзя использовать сокращенные атрибуты теговСокращенным называется атрибут без присвоенного значения. В примере 3.9 приведена форма с использованием таких атрибутов. Пример 3.9. Ошибка при использовании атрибутов XHTML 1.0 IE Cr Op Sa Fx
«Пустое значение», как еще называется подобная ошибка, легко исправляется, если присвоить атрибуту значение, совпадающее с названием. В табл. 3.2 приведены некоторые атрибуты и как они записываются в HTML и XHTML.
В примере 3.10 показано корректное использование вышеприведенной формы. Пример 3.10. Правильное использование атрибутов XHTML 1.0 IE Cr Op Sa Fx
Вместо атрибута name необходимо указывать idАтрибут name определяется в HTML для тегов , , Пример 3.11. Идентификатор рисунка XHTML 1.0 IE Cr Op Sa Fx
Указанное правило не применяется к элементам форм, вроде , где без атрибута name вообще не обойтись. Следует определять DTDВсе XHTML-документы обязательно должны содержать элемент в первой строке кода, а также придерживаться иерархической структуры вложения тегов. Дата: 21.09.2008 Нет нет… Разница не только в количестве букв. HTML – это стандртный язык разметки документов во Всемирной паутине, так же HTML является приложением SGML (стандартного обобщённого языка разметки). А XHTML в свою очередь - это расширяемый язык разметки гипертекста, созданный на базе XML. Главное их различие состоит в том, что XHTML в отличие от HTML использует синтаксис XML. То есть XHTML требует более строгих синтаксических правил разметки нежели HTML. Преимущество XHTML в том, что анализ документа XHTML проще и быстрее из-за использования строгих правил синтаксиса, обработка XHTML возможна даже на мобильных телефонах с небольшими ресурсами. Основные правила XHTML:1.
Все элементы разметки (теги) должны быть закрыты (например: ). Одиночные теги (такие как 2. Должна соблюдаться корректная вложенность элементов (тегов). 3. Имена элементов и атрибутов должны быть в нижнем регистре (например: вместо ). 4. Символы “<” и “&” везде, даже в URL, должны заменяться на "<" и "&" соответственно. Консорциум W3C рекомендует браузерам не обрабатывать XHTML документы встретив эти символы, а сообщать об ошибке. Но мы то с вами понимаем что такое вряд ли когда-то произойдет). 5. Все значения атрибутов элементов должны заключаться в двойные или одинарные кавычки (напрмер: или ). Так что же все таки лучше использовать XHTML или HTML?В настоящее время появляются все более новые и альтернативные способы доступа в интернет. XHTML разрабатывался с учетом общей совместимости пользовательских браузеров (user agents). Но в тоже время все браузеры умеют читать HTML и большинство браузеров обрабатывают XHTML документы как обычный HTML. Ведь раньше не было XHTML и все сайты делались на простом HTML, и браузеры к нему давно приспособились. И делать новые браузеры без поддержки HTML просто не имеет смысла, вы будете использовать браузер который большинство (да пусть даже меньшинство) сайтов отображает некорректно? Браузеры существуют для отображения документа пользователю, а пользователю абсолютно все равно закрыли вы тег или не закрыли. А для парсеров XHTML просто рай). Поэтому прежде чем использовать новомодный XHTML подумайте, какие преимущества от его использования у вас появятся. И отвечая на вопрос Что лучше? Я бы сказал тут выбор остается за вами использовать новомодный XHTML который практически не дает преимуществ или старый проверенный HTML. Расширяемый язык разметки гипертекста (XHTML) — это быстрый способ ссылаться на несколько рекомендаций по языку, которые широко используются на устройствах с поддержкой Интернета для просмотра веб-страниц. Хотя он назван в честь своего предшественника, языка гипертекстовой разметки (), он фактически основан на расширяемом языке разметки (XML), который является очень избирательной частью стандартного обобщенного языка разметки (SGML). Язык возник из-за нескольких ограничений HTML и разнообразных способов реализации HTML. Примерно в то время, когда HTML обновился до версии 4, он начал ослабевать, при правильном использовании многими интерпретаторами HTML, компьютерными программами, которые анализируют HTML-документы на отформатированной, просматриваемой веб-странице. Поскольку появились мобильные устройства и другие платформы для просмотра веб-страниц, было необходимо лучшее решение. XML — это гораздо более строгая реализация SGML чем HTML, и в одном экземпляре могут использоваться различные пространства имён XML. Поэтому около 2000 года консорциум World Wide Web (W3C) разработал и сделал XHTML одной из своих рекомендаций для решения некоторых из этих возникающих проблем. Во всех смыслах и целях в большинстве случаев XHTML имитирует HTML, но поскольку первый использует пространство имён XML, его можно проанализировать любым интерпретатором XML, а HTML ограничивается только интерпретаторами HTML. XHTML в действительности воссозданный HTML под более ограничительным подмножеством XML SGML. Таким образом, более свежий язык сразу мог быть интерпретирован существующими веб-браузерами, а также стал доступен и для других платформ. Также важно помнить о том, что он должен соответствовать расширяемому аспекту прошивки XHTML. Он не только даёт возможность читать больше программ и платформ, но также он расширяется, позволяя использовать в своих документах другие пространства имён XML. Благодаря возможности XHTML включать другие пространства имён XML в документ, его можно расширить несколькими способами, чтобы представить больше, чем просто форматирование страницы. Например, математический язык разметки (MathML) может быть включен в эти документы для отображения математических формул и обозначений. Изображения также могут быть встроены с использованием пространства имён масштабируемой векторной графики (SVG) в документе этого типа. Таким образом, XHTML также может быть включен в другой XML-документ. Поскольку XHTML на самом деле просто HTML, уточнённый в соответствии с правилами XML, он предлагает три определения типа документа (DTD), которые дублируют те, что указаны в версии HTML версии 4. DTD — это подробное описание элементов языка разметки, включая, когда, где и как его можно использовать, а также любые связанные атрибуты. Но в более поздних версиях XHTML были установлены XML-схемы, ещё один, более надёжный способ описания XML-документа, который ещё больше расширил XHTML. В свою очередь были разработаны различные урезанные версии XHTML, которые затем могут быть использованы для конкретных целей, многие из которых вращаются вокруг мобильных вычислительных платформ. XHTML Расшифровывается как ExtensibleHypertext Markup Language и на русском — Расширяемый язык разметки гипертекста. Обратите внимание не расширенный, а расширяемый. Это значит, что данный язык Пополняется (расширяется) до сих пор. Так что такое XHTML ? Основным отличием XHTML от того же HTML является способ обработки документа (интернет-странички). Стоит ввести еще одно определение. Парсер - программа или часть программы, которая выполняет синтаксический анализ. Также его еще называют синтаксический анализатор. Если еще проще, то данная программа выполняет анализ всего строения страницы, всего кода страницы. В HTML при нахождении ошибки, во время анализа она исправлялась, что требовало дополнительного времени - браузеру нужно было понять, что автор (разработчик) хотел написать. Например, при ошибке в каком-либо теге, он просто выводился с остальным текстом. Еще одно отличие заключается в том, что все элементы должны быть закрыты, а одиночные теги должны после символов иметь знак /, например:
Что такое Модуляризация XHTML?Модуляризация XHTML это разделение XHTML 1.0, относительно HTML 4, на коллекцию абстрактных модулей, которые предоставляют специфические типы функциональности. Эти абстрактные модули реализованы в данной спецификации с использованием языка XML Document Type Definition/Определения Типа Документа, но ожидается появление реализации с использованием Схемы XML.
xhtml Эти модули могут комбинироваться друг с другом и с другими модулями для создания поднабора и расширения типов документа XHTML, которые можно квалифицировать как членов семейства типов документов XHTML. Для чего нужна Модуляризация XHTML?Модель форматированияПредыдущие версии HTML пытались определить части такой модели, которые требовались от пользовательского агента (ПА) для использования при форматировании документа. С появлением , W3C начал процесс отделения представления от структуры. XHTML 1.0 поддерживает это разделение, и данный документ продолжает движение от HTML и его потомков в этом направлении. Соответственно, данный документ не выдвигает никаких требований к модели форматирования, ассоциированной с представлением документов, размеченных с помощью типов документов Семейства XHTML. xhtml Наоборот, данный документ рекомендует, чтобы авторы содержимого полагались на механизмы определения стилей, такие как CSS, при определении модели форматирования для своего содержимого.
И HTML , и XHTML — это языки для создания веб-страниц. HTML построен на основе SGML , а XHTML — на основе XML . Они похожи на две стороны одной медали. XHTML был создан из HTML с целью соответствия стандартам XML . Следовательно, XHTML является более строгим по сравнению с HTML и не позволяет отступать от правил написания кода. Причиной разработки XHTML послужила путаница с некоторыми тегами. Страницы, написанные на HTML , выводились в разных браузерах по-разному. Сравнительная таблица
Обзор HTML и XHTMLHTML является основным языком разметки веб-страниц. Он создает структурированные документы, выделяя в них такие элементы, как заголовки, списки, ссылки, цитаты и т.д. Это позволяет встраивать изображения и объекты для создания интерактивных форм. HTML задается с помощью тегов в угловых скобках — например, . Также в его коде могут содержаться скрипты, написанные на JavaScript . XHTML
представляет собой семейство языков XML
, которые расширяют или продолжают версии HTML
. Они не допускают пропусков любых тегов или минимизации атрибутов. XHTML
требует, чтобы каждому открывающемуся тегу соответствовал закрывающийся тег в корректном порядке. Например, если в языке гипертекста допускается использование одиночного тега Функции документов HTML и XHTMLСинтаксис HTML состоит из следующих компонентов: открывающий и закрывающий тег, атрибуты элементов (задаваемые в тегах ), текстовый и графический контент. HTML-элемент — это все, что находится между тегами, включая сами теги. Документ XHTML содержит только один корневой элемент. Все элементы, включая переменные, должны быть написаны в нижнем регистре, а присвоенные значения — заключены в кавычки, закрыты и вложены. В XHTML это является обязательным требованием — в отличие от HTML . Объявление DOCTYPE XHTML определяет правила для документов, которым необходимо следовать. Основной синтаксис HTML
допускает использование множества сокращений, чего не допускается в XHTML
. Например, элементов, для которых необязательно наличие и открывающегося, и закрывающегося тега. XHTML
требует, чтобы все элементы имели и открывающийся, и закрывающийся тег. В то же время XHTML
вводит новые сокращения: тег XHTML
может быть открыт и закрыт с помощью косой черты ( Введение такого синтаксиса, который не используется в объявлениях SGML
для HTML 4.01
, могло привести к путанице в приложениях на ранних стадиях. Чтобы решить эту проблему, нужно использовать пробел перед закрытием тега: Спецификация XHTML и HTMLHTML и 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-документом . Как перейти с HTML на XHTML
Чтобы понять, чем отличается HTML от XHTML , рассмотрим преобразование документа XHTML 1.0 в HTML 4.01 . Для этого необходимо выполнить следующие действия:
Перевод статьи «HTML vs XHTML » был подготовлен дружной командой проекта |
---|