Разница между HTML и XHTML. Что такое XHTML? Все спецсимволы должны быть заменены на сущности

Развитие 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, но с более строгим синтаксисом, а не тем перспективным языком разметки, на который обязательно стоит переходить из-за его уникальных возможностей.

XHTML (от англ. Extensible Hypertext Markup Language - модульный язык разметки гипертекста) - расширяемое семейство всех языков и модулей разметки страниц на основе XML , только с расширением и повторением возможностей HTML 4 .

Версии XHTML

XHTML 1.0 одобрена консорциумом Всемирной паутины еще 26 января 2000 года. Уже 1 августа 2002 года была опубликована вторая измененная редакция спецификации.

XHTML 1.0 (аналогично HTML 4 ) состоит из трех типов документов:

  1. XHTML-1.0-Strict - позволяет исключить полное использование элементов и атрибутов, которые задают графическое отображение в виде элементов font или атрибута bgcolor . Относится к самому предпочтительному типу документов.
  2. XHTML-1.0-Transitional - допускает использование любых элементов и атрибутов с графическим отображением, но указанные элементы рекомендованы к использованию только в случае крайней необходимости. Как вариант - для максимального облегчения миграции документов из HTML 3.2 на XHTML.
  3. XHTML-1.0-Frameset - добавляет к возможностям второго типа документа (XHTML-1.0-Transitional ) еще использование фреймов.

XHTML 1.1 - версия, содержащая XHTML 1.1 Модульный, в котором авторам разрешено импортировать любые дополнительные свойства в разметку.

Для XHTML Basic и XHTML MP характерны:

  • XHTML Основной , в котором из-за специальной облегченной версии XHTML не могут использоваться полные наборы элементов XHTML. Как правило, применяется для миниатюрных устройств, таких как, к примеру, мобильные телефоны.
  • XHTML мобильного профиля , основанному на XHTML Основной , но с добавлением специфических элементов.

XHTML 2.0

Последняя версия XHTML, которая так и не достигла полноценного статуса рекомендации. Деятельность разработчиков этой версии была остановлена в конце 2010 года, при этом все ресурсы скомбинировали в общую рабочую группу HTML 5 . Результаты наработок в декабре 2010 года напечатаны в виде отчета работающей группы.

Недостатки XHTML

Обзор всех источников и опыта работы профессионалов дает возможность собрать все причины, по которым использование 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 -формат.

Статья основана на оригинальном документе W3C — XHTML™ 1.1 — Module-based XHTML — Second Edition: W3C Working Draft 16 February 2007 . Он может быть изменен, но скорее всего станет заменой для существующей рекомендации — XHTML™ 1.1 — Module-based XHTML.

Строгое соответствие документов

Документы, полностью совместимые с XHTML 1.1 — должны соответствовать следующим критериям:

  1. Корневым элементом документа должен быть элемент .
  2. Корневой элемент документа () должен указывать на пространство имен XHTML с помощью атрибута xmlns . Указателем пространства имен для XHTML является "http://www.w3.org/1999/xhtml", то есть открывающим тегом html должна быть конструкция вида: .
  3. Корневой элемент может также содержать атрибут schemaLocation . Атрибут schemaLocation для XHTML определен в виде: "http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd" .
  4. Должно присутствовать объявление типа документа DOCTYPE , предшествующее корневому элементу. Идентификатор, включенный в объявление DOCTYPE , должен указывать на соответствующий DTD. Этот идентификатор может выглядеть следующим образом:

Приведем пример документа, соответствующего XHTML 1.1:

Virtual Library

Moved to example.org.

Отметим, что в этом примере, включено объявление XML. Объявление XML, подобное вышеуказанному требуется не во всех XML документах. Авторам XHTML документов крайне рекомендуется использовать объявление XML во всех своих документах. Такое объявление требуется, когда кодировка XML-документа отличается от UTF-8 или UTF-16.

У документов XHTML 1.1 следует указывать тип содержимого документа — либо как text/html , либо application/xhtml+xml .

Естественно агенты пользователя (например, браузеры) со своей стороны также должны учитывать эти рекомендации.

Тип документов XHTML 1.1

XHTML 1.1 — это полнофункциональный тип документов с развитой семантикой. Однако, он не так разнообразен в функциональном отношении как типы XHTML 1.0 Transitional или XHTML 1.0 Frameset. Начиная с версии XHTML 1.1, тип документа не содержит устаревших элементов, содержащихся в типах XHTML 1.0 или HTML 4. Несмотря на эти исключения, или возможно благодаря им, тип XHTML 1.1 является надежной базой для создания новых типов документов в будущем с полной поддержкой различными агентами пользователей.

Тип XHTML 1.1 составлен из следующих XHTML модулей.

Структурный модуль body, head, html, title Модуль для работы с текстом abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var Гипертекстовый модуль a Модуль списков dl, dt, dd, ol, ul, li Модуль объектов object, param Модуль различных способов представления b, big, hr, i, small, sub, sup, tt Модуль редактирования del, ins Модуль поддержки двунаправленного текста bdo Модуль форм button, fieldset, form, input, label, legend, select, optgroup, option, textarea Табличный модуль caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr Модуль изображений img Модуль карт изображений клиентской стороны area, map Модуль карт изображений стороны сервера Атрибут ismap, включенный в img Модуль внутренних событий Атрибуты событий Модуль метаинформации meta Модуль сценариев noscript, script Модуль таблиц стилей style Модуль атрибутов стилей (Устаревший) Атрибут style Модуль ссылок link Модуль базы base

XHTML также использует модуль Ruby Annotation:

Модуль Ruby Annotation ruby, rbc, rtc, rb, rt, rp

Названия модулей в списке приведены согласно своим определениям в текущей версии «XHTML Modularization». Более подробная информация о модулях содержится в документе «XHTML Modularization».

Отличия от XHTML 1.0 Strict

XHTML 1.1 отличается от обеих технологий HTML 4 и XHTML 1.0. Наиболее значимым является устранение устаревших элементов. Вообще, существует стратегия определять язык разметки со структурно-функциональной стороны, вне зависимости от таблиц стилей, применяемых для дизайна документов.

Отличия могут быть сформулированы следующим образом:

  1. Атрибут lang заменен атрибутом xml:lang .
  2. В элементах a и map , атрибут name заменен атрибутом id .
  3. Коллекция элементов « Ruby » расширена.

Таким образом, тип XHTML 1.1 несильно отличается от XHTML 1.0 Strict, однако, эти отличия достаточно существенны и их необходимо учитывать.

При наличии на компьютере установленной антивирусной программы можносканировать все файлы на компьютере, а также каждый файл в отдельности . Можно выполнить сканирование любого файла, щелкнув правой кнопкой мыши на файл и выбрав соответствующую опцию для выполнения проверки файла на наличие вирусов.

Например, на данном рисунке выделен файл my-file.xhtml , далее необходимо щелкнуть правой кнопкой мыши по этому файлу, и в меню файла выбрать опцию «сканировать с помощью AVG» . При выборе данного параметра откроется AVG Antivirus, который выполнит проверку данного файла на наличие вирусов.


Иногда ошибка может возникнуть в результате неверной установки программного обеспечения , что может быть связано с проблемой, возникшей в процессе установки. Это может помешать вашей операционной системе связать ваш файл XHTML с правильным прикладным программным средством , оказывая влияние на так называемые «ассоциации расширений файлов» .

Иногда простая переустановка Internet Explorer может решить вашу проблему, правильно связав XHTML с Internet Explorer. В других случаях проблемы с файловыми ассоциациями могут возникнуть в результате плохого программирования программного обеспечения разработчиком, и вам может потребоваться связаться с разработчиком для получения дополнительной помощи.


Совет: Попробуйте обновить Internet Explorer до последней версии, чтобы убедиться, что установлены последние исправления и обновления.


Это может показаться слишком очевидным, но зачастую непосредственно сам файл XHTML может являться причиной проблемы . Если вы получили файл через вложение электронной почты или загрузили его с веб-сайта, и процесс загрузки был прерван (например, отключение питания или по другой причине), файл может повредиться . Если возможно, попробуйте получить новую копию файла XHTML и попытайтесь открыть его снова.


Осторожно: Поврежденный файл может повлечь за собой возникновение сопутствующего ущерба предыдущей или уже существующей вредоносной программы на вашем ПК, поэтому очень важно, чтобы на вашем компьютере постоянно работал обновленный антивирус.


Если ваш файл XHTML связан с аппаратным обеспечением на вашем компьютере , чтобы открыть файл вам может потребоваться обновить драйверы устройств , связанных с этим оборудованием.

Эта проблема обычно связана с типами мультимедийных файлов , которые зависят от успешного открытия аппаратного обеспечения внутри компьютера, например, звуковой карты или видеокарты . Например, если вы пытаетесь открыть аудиофайл, но не можете его открыть, вам может потребоваться обновить драйверы звуковой карты .


Совет: Если при попытке открыть файл XHTML вы получаете сообщение об ошибке, связанной с.SYS file , проблема, вероятно, может быть связана с поврежденными или устаревшими драйверами устройств , которые необходимо обновить. Данный процесс можно облегчить посредством использования программного обеспечения для обновления драйверов, такого как DriverDoc .


Если шаги не решили проблему , и у вас все еще возникают проблемы с открытием файлов XHTML, это может быть связано с отсутствием доступных системных ресурсов . Для некоторых версий файлов XHTML могут потребоваться значительный объем ресурсов (например, память/ОЗУ, вычислительная мощность) для надлежащего открытия на вашем компьютере. Такая проблема встречается достаточно часто, если вы используете достаточно старое компьютерное аппаратное обеспечение и одновременно гораздо более новую операционную систему.

Такая проблема может возникнуть, когда компьютеру трудно справиться с заданием, так как операционная система (и другие службы, работающие в фоновом режиме) могут потреблять слишком много ресурсов для открытия файла XHTML . Попробуйте закрыть все приложения на вашем ПК, прежде чем открывать Extensible Hypertext Markup Language Document. Освободив все доступные ресурсы на вашем компьютере вы обеспечите налучшие условия для попытки открыть файл XHTML.


Если вы выполнили все описанные выше шаги , а ваш файл XHTML по-прежнему не открывается, может потребоваться выполнить обновление оборудования . В большинстве случаев, даже при использовании старых версий оборудования, вычислительная мощность может по-прежнему быть более чем достаточной для большинства пользовательских приложений (если вы не выполняете много ресурсоемкой работы процессора, такой как 3D-рендеринг, финансовое/научное моделирование или интенсивная мультимедийная работа). Таким образом, вполне вероятно, что вашему компьютеру не хватает необходимого объема памяти (чаще называемой «ОЗУ», или оперативной памятью) для выполнения задачи открытия файла.

XHTML Расшифровывается как ExtensibleHypertext Markup Language и на русском — Расширяемый язык разметки гипертекста. Обратите внимание не расширенный, а расширяемый. Это значит, что данный язык

Пополняется (расширяется) до сих пор. Так что такое XHTML ? Основным отличием XHTML от того же HTML является способ обработки документа (интернет-странички). Стоит ввести еще одно определение. Парсер - программа или часть программы, которая выполняет синтаксический анализ. Также его еще называют синтаксический анализатор. Если еще проще, то данная программа выполняет анализ всего строения страницы, всего кода страницы. В HTML при нахождении ошибки, во время анализа она исправлялась, что требовало дополнительного времени - браузеру нужно было понять, что автор (разработчик) хотел написать. Например, при ошибке в каком-либо теге, он просто выводился с остальным текстом.

Еще одно отличие заключается в том, что все элементы должны быть закрыты, а одиночные теги должны после символов иметь знак /, например:
. Про тэги я напишу отдельную большую статью, также напишу про каждый тэг отдельно. Кодировка в XHTML - UTF-8 (наиболее распространенная сейчас), в HTML же использовалась ISO 8859-1.

Что такое Модуляризация 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, при определении модели форматирования для своего содержимого.
Если ПА поддерживают механизмы стилей, то документы будут сформатированы так, как ожидается.
Если ПА не поддерживают механизмы стилей, то документы будут сформатированы так, как определяет сам ПА. Это позволяет ПАгентам Семейства XHTML поддерживать сложные (так и просится — навороченные; А.Р.) модели форматирования на тех устройствах, где это возможно, и изменять модели форматирования на тех устройствах, где это допустимо

Похожие статьи

  • Как обрезать сим карту под нано сим

    Обрезать симку под микро очень просто: достаточно вооружиться верным шаблоном, ножницами и терпением. SIM состоит из двух частей – пластиковой подложки и чипа, на котором хранится вся информация о вашем номере и контактах. Подрезая ее...

  • Как в лепестковой диаграмме сделать линии

    При создании диаграммы на листе Excel, в документе Word или презентации PowerPoint вы можете выбрать из многих вариантов. Будете ли вы использовать диаграмму, рекомендуемую для ваших данных, или выберете ее из списка всех диаграмм, эта...

  • На почте когда повысят зарплату Изменения в расчёте заработной платы

    Российским почтальонам на 5% повысят зарплату Пользователь обязуется высказываться уважительно по отношению к другим участникам дискуссии, читателям и Когда будет повышение зарплаты почтальонам в москве 2019 году Будем надеяться, что мы...

  • Как скачать видео и музыку с Вконтакте?

    По умолчанию Вконтакте не предоставляет пользователям возможность загружать аудио и видео файлы с их сервера, но с этой необходимостью сталкивался практически каждый пользователь, а там, где есть спрос, будет и предложение. Именно поэтому...

  • Полное удаление антивируса касперского с компьютера с помощью утилиты

    Избавиться от антивируса не так легко, как может показаться неопытному пользователю. Даже если Вы запускаете деинсталляцию встроенной утилитой все равно могут остаться в каких – то системных файлах. При установке нового антивируса...

  • Полностью своя кнопка «Выбрать файл

    Как сделать скачивание файла с сайта. Для скачивания можно передавать файлы самых различных форматов: музыка, видео, текстовые файлы, Excel, архивы и мн. другие. Как на сайте сделать скачивание файла Скачивание архивов Для файлов-архивов...