Что такое XHTML? Что такое расширение файла XHTML? Каждый тег должен закрываться.

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

Версии XHTML

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

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

  • XHTML-1.0-Strict - позволяет исключить полное использование элементов и атрибутов, которые задают графическое отображение в виде элементов font или атрибута bgcolor . Относится к самому предпочтительному типу документов.
  • XHTML-1.0-Transitional - допускает использование любых элементов и атрибутов с графическим отображением, но указанные элементы рекомендованы к использованию только в случае крайней необходимости. Как вариант - для максимального облегчения миграции документов из HTML 3.2 на XHTML.
  • 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 -формат.

    XHTML - это основанный на XML язык разметки гипертекста, максимально приближенный к текущим стандартам HTML . XHTML отличается от HTML строгостью написания кода. Если HTML позволял писать практически любые конструкции и браузер их корректно распознавал, то теперь, с появлением XHTML, это стало невозможным. Последний требует строгого соблюдения всех правил, предъявляемых W3C. Строгие требования к оформлению XHTML-кода позволяют избежать многих ошибок ещё на стадии написания и отладки.

    Для приверженцев HTML хотелось бы отметить, что XHTML - это новый язык, который пришёл на смену старому HTML. Новых версий HTML больше не будет. В итоге все браузеры, как предполагается, перейдут на XHTML (очевидно, что при этом сохранится совместимость со старым HTML, но не более того). Так же хотим привести цитату из русского перевода спецификации XHTML от W3C: "Семейство XHTML создавалось с учетом общей совместимости пользовательских агентов. С помощью нового механизма профилирования пользовательских агентов и документов серверы, прокси и пользовательские агенты смогут преобразовывать содержимое наилучшим образом. В конечном счете, станет возможной разработка соответствующего XHTML содержимого, пригодного для любого соответствующего XHTML пользовательского агента" .

    XHTML совместим с HTML при соблюдении некоторых правил, описание которых можно найти в стандарте . Это означает, что даже самые старые браузеры, которые понимают HTML, будут работать и с XHTML.

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

    Отличия XHTML 1.0 от HTML. Существует несколько требований , которые разработчик обязан выполнять:
    • в начале документа должен указываться один из возможных DTD (Document Type Definition):
    • в теле XHTML-документа должны обязательно присутствовать следующие тэги: html , head , title и body ;
    • обязательно наличие атрибута xmlns в элементе html ;
    • имена тегов и атрибутов должны записываться в нижнем регистре;
    • все значения атрибутов должны заключаться в "кавычки";
    • все тэги должны закрываться; если у элемента нет закрывающего тэга, следует добавлять в его конец слеш (
      или
      — пробел для совместимости со старыми браузерами);
    • необходимо соблюдать корректную вложенность тэгов (текст — неверно; следует писать текст );
    • запрещается использовать минимизированные атрибуты (nowrap следует заменить на nowrap="nowrap" ); полный список таких атрибутов: checked , compact , declare , defer , disabled , ismap , noresize , noshade , nowrap , multiple , readonly , selected .
    • на следующие элементы налагаются ограничения по включению в них других элементов:
      • a a ;
      • form не может содержать другие элементы form ;
      • label не может содержать другие элементы label ;
      • pre не может содержать img , object , big , small , sub или sup ;
      • button не может содержать элементы input , select , textarea , label , button , form , fieldset , iframe или isindex ;
    • специальные символы в истинном значении должны заменяться на свои эквиваленты:
      • & на & ;
      • < на < ;
      • > на > .

    Кроме того, существует ряд необязательных рекомендаций, которые разработчик не обязан выполнять в версии XHTML 1.0 , но в последующих версиях этого языка возможно рекомендации перерастут в требования:

    • декларация XML-документа в самом начале кода перед DTD ( );
    • следование элемента title сразу после открытия тега head ;
    • использование атрибута id вместо name (name считается устаревшим атрибутом);
    • наличие атрибута type в элементах подключаемых файлов (таблиц стилей и скриптов);
    • отказ от использования атрибута target .

    Приведём минимальный код правильной XHTML-страницы:

    Заголовок Содержимое документа

    Если вставить этот код в файл, сохранить его как "file.html " и открыть через веб-сервер, то вся информация будет получена клиентом как >text/html*/-->

    Такой синтаксис универсален. Этот код будет корректно работать и при и при .

    Хорошим и самым простым решением будет подключение внешних файлов таблиц стилей и скриптов. В XHTML это делается так же как и в HTML:

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

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

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

    • первая распространенная ошибка — указание в теге относительного пути к DTD-файлу, скопированного с сайта www.w3.org, "DTD/xhtml11.dtd". В место этого нужно писать полный путь "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" .
    • нарушение принципа закрытия всех без исключения элементов. Язык XHTML, в отличие от того же HTML, обязывает закрывать все элементы, в том числе не имеющих тега закрытия, как, например,
      .
    • Недопустимо отсутствие кавычек при описании значений атрибутов. Например конструкция

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