XHTML | htmlbook.ru
Развитие 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, но с более строгим синтаксисом, а не тем перспективным языком разметки, на который обязательно стоит переходить из-за его уникальных возможностей.
Разница между HTML и XHTML
Вы здесь: Главная — HTML — HTML Основы — Разница между HTML и XHTML
При выборе DOCTYPE необходимо чётко определиться, какой из двух стандартов выбрать: HTML или XHTML. И для облегчения Вашего выбора я решил разобрать разницу между HTML и XHTML.
Главное отличие между HTML и XHTML в том, что XHTML основан на синтаксисе XML. А, следовательно, он более строгий, и в нём нельзя допускать тех вольностей, которые можно допустить в HTML.
А теперь по пунктам разберём особенности синтаксиса XHTML
1. Каждый тег должен закрываться
Парные теги должны закрываться и в HTML тоже, но все мы знаем, что в HTML существует множество одиночных тегов (например, <img>), и мы смело могли написать таким образом:
<img src = "foto.jpg" >
Однако, в XHTML все теги должны закрываться, даже одиночные, причём закрываются они следующим образом:
<img src = "foto.jpg" />
Разница только в слеше перед второй угловой скобкой.
2. Все спецсимволы должны быть заменены на сущности
То есть нельзя писать вот так: «&«, нужно писать этот символ только сущностью, то есть «&«.
3. Все значения атрибутов должны быть в кавычках.
Все мы с Вами знаем, что в HTML можно написать вот так:
<img src = "foto.jpg" width = 15 >
То есть у нас значение атрибута «width» находится без кавычек. В XHTML это недопустимо, и там надо писать вот так:
<img src = "foto.jpg" width = "15" />
4. Все теги и атрибуты должны писаться в нижнем регистре.
Скажу честно, я никогда не понимал, зачем люди пишут теги в верхнем регистре. На мой взгляд, это уродует код, и возникает ощущение, что его писали не отжимая «CAPSLOCK«. Но если в HTML — это дело вкуса, то в XHTML — это правило: писать только в нижнем регистре.
Как видите, разница только в синтаксисе. Есть также и другие мелкие различия, но мы о них говорить не будем. Другими словами, единственное преимущество
Я для себя выбрал XHTML, потому что я очень люблю, когда код «чистый» и когда он легко разбирается на составные части (
- Создано 25.01.2011 13:59:48
- Михаил Русаков
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
-
Кнопка:
Она выглядит вот так:
-
Текстовая ссылка:
<a href=»https://myrusakov.ru» target=»_blank»>Как создать свой сайт</a>Она выглядит вот так: Как создать свой сайт
- BB-код ссылки для форумов (например, можете поставить её в подписи):
[URL=»https://myrusakov. ru»]Как создать свой сайт[/URL]
XHTML и HTML уроки для начинающих академия
XHTML — это HTML, написанный как XML.
Что такое XHTML?
- XHTML расшифровывается как EXtensible HyperText Markup Language
- XHTML почти идентичен HTML
- XHTML является более строгим, чем HTML
- XHTML — это HTML-код, определяемый как XML-приложение
- XHTML поддерживается всеми основными браузерами
Почему XHTML?
Многие страницы в Интернете содержат «плохие» HTML.
Этот HTML-код отлично работает в большинстве браузеров (даже если он не следует правилам HTML):
Это плохой HTML
<body>
<h2>Неверный HTML-код
<p>Это абзац
</body>
Современный рынок состоит из различных браузерных технологий. Некоторые браузеры работают на компьютерах, а некоторые браузеры работают на мобильных телефонах или других небольших устройствах. Малые устройства часто не хватает ресурсов или мощности для интерпретации «плохой» разметки.
XML является языком разметки, в котором документы должны быть помечены правильно (быть «хорошо сформированный»).
Если вы хотите изучать XML, ознакомьтесь с нашим справочником по XML.
Сочетая сильные стороны HTML и XML, был разработан XHTML.
XHTML — это HTML-код, переработанный как XML.
Наиболее важные отличия от HTML:
Структура документа
- XHTML DOCTYPE is Обязательный
- Атрибут xmlns в <html> Обязательный
- <html>, <head>, <title>, и <body> являются Обязательным
XHTML-элементы
- Элементы XHTML должны быть правильно вложен ными
- Элементы XHTML всегда должны быть закрыты
- Элементы XHTML должны быть в нижнем регистре
- Документы XHTML должны иметь один корневой элемент
Атрибуты XHTML
- Имена атрибутов должны быть в нижнем регистре
- Значения атрибутов должны быть котируем ыми
- Минимизация атрибутов запрещен а
<!DOCTYPE .
…> Является обязательнымДокумент XHTML должен иметь декларацию формата XHTML.
Полный список всех XHTML -файлов содержится в нашей ссылке на HTML-теги.
Элементы <HTML>, <head>, <Title> и <BODY> также должны присутствовать, а атрибут xmlns в <HTML> должен указывать пространство имен XML для документа.
В этом примере показан документ XHTML с минимально необходимыми тегами:
/htmlfragment>«http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»>
<html xmlns=»http://www.w3.org/1999/xhtml»>
<head>
<title>Title of document</title>
</head>
<body>
some content
</body>
</html>
Элементы XHTML должны быть должным образом вложены
В HTML некоторые элементы могут быть неправильно вложены друг в друга, например:
<b><i>Этот текст выделен полужирным шрифтом и курсивом</b></i>
В XHTML все элементы должны быть должным образом вложены друг в друга, например:
<b><i>Этот текст выделен полужирным шрифтом и курсивом</i></b>
XHTML-элементы всегда должны быть закрыты
Это неправильно:
<p>Это абзац
<p> Это еще один абзац
Это правильно:
<p>Это абзац</p>
<p>Это еще один абзац</p>
Пустые элементы также должны быть закрыты
Это неправильно:
A break: <br>
A horizontal rule: <hr>
An image: <img src=»happy. gif» alt=»Happy face»>
Это правильно:
A break: <br />
A horizontal rule: <hr />
An image: <img src=»happy.gif» alt=»Happy face» />
XHTML элементы должны быть в нижнем регистре
Это неправильно:
<BODY>
<P>This is a paragraph</P>
</BODY>
Это правильно:
<body>
<p>This is a paragraph</p>
</body>
Имена атрибутов XHTML должны быть в нижнем регистре
Это неправильно:
Это правильно:
Значения атрибутов должны быть указаны в кавычках
Это неправильно:
This is correct:
Минимизация атрибутов запрещена
Неправильно:
<input type=»checkbox» name=»vehicle» value=»car» checked />
Правильно:
<input type=»checkbox» name=»vehicle» value=»car» checked=»checked» />
Неправильно:
<input type=»text» name=»lastname» disabled />
Правильно:
<input type=»text» name=»lastname» disabled=»disabled» />
Как конвертировать из HTML в XHTML
- Добавьте XHTML <!DOCTYPE> в первую строку каждой страницы
- Добавление атрибута xmlns к элементу HTML каждой страницы
- Изменить все имена элементов на строчные
- Закрыть все пустые элементы
- Изменить все имена атрибутов на строчные
- Цитировать все значения атрибутов
Проверка HTML с помощью валидатора W3C
Обслуживание HTML и XHTML
Обслуживание HTML и XHTMLIntended audience: шифровальщики XHTML/HTML (используя редакторы или скрипты), разработчики скриптов (PHP, JSP, и т. д.), шифровальщики CSS, менеджеры Веб проектов, и каждый нуждающийся в информации о режимах quirks или standards, и как назначение DOCTYPE и XML влияют на это. Предварительное чтение этой статьи также очень полезно для тех, кто хочет знать, как назначить кодировку своих документов.
В этой статье очень кратко описываются некоторые аспекты того, как XHTML посылается с сервера до клиентского приложения (например, в браузер), и как распространенные клиентские приложения обрабатывают ту разметку, которую они получают. Статья описывает решение конкретных проблем, а не стандарты W3C.
Эти вопросы имеют отношение к тому как назначить кодировку HTML или XHTML документа. Эта информация будет также полезна при объяснении того, почему некоторые аспекты стилизации CSS не появляются такими, как их ожидают, или почему они отличаются в различных клиентских приложениях.
Когда сервер обслуживает (то есть отправляет) документ браузеру, он также с документом посылает некоторую дополнительную информацию, которая называется HTTP заголовком.
Поле Content-Type заголовка HTTP описывает, какой это тип формата данных. Эта информация выражается с помощью
пометки MIME media type (MIME медиа тип). Вот пример HTTP заголовка для HTML файла, используя MIME тип text/html
. Обратите внимание, что запись Content-Type также может
выражать кодировку символов документа.
HTTP/1.1 200 OK Date: Wed, 05 Nov 2003 10:46:04 GMT Server: Apache/1.3.28 (Unix) PHP/4.2.3 Content-Location: CSS2-REC.en.html Vary: negotiate,accept-language,accept-charset TCN: choice P3P: policyref=http://www.w3.org/2001/05/P3P/p3p.xml Cache-Control: max-age=21600 Expires: Wed, 05 Nov 2003 16:46:04 GMT Last-Modified: Tue, 12 May 1998 22:18:49 GMT ETag: "3558cac9;36f99e2b" Accept-Ranges: bytes Content-Length: 10734 Connection: close Content-Type: text/html; charset=utf-8 Content-Language: en
MIME тип text/html
является нормальным выбором для HTML файлов. Браузер который получает файл с этим MIME типом будем считать, что разметка наследует синтаксис HTML и будет использовать анализатор (парсер) HTML для того, чтобы интерпретировать значение разметки.
В отличие от HTML, XHTML — это язык разметки, который базируется на основе XML. Синтаксис XML немного отличается от HTML, а также XML процессоры будут более требовательными, в том случае, если вы ошибетесь. Разработка контента на основе XML требует корректности и достоверности, и может быть легко интегрирована со всеми инструментами обработки, данными и автоматизацией, которые доступны в XML. Через меньшие требования к редактированию и обработке документов, многие разработчики предпочитают использовать XHTML, а не XML.
Для отправки в браузер разметки XHTML с MIME типом, указывающим, что это XML вы должны использовать один из следующих MIME типов: application/xhtml+xml
, application/xml
или text/xml
. W3C рекомендует, чтобы
вы обслуживали XHTML как XML используя только первый из этих MIME типов — то есть application/xhtml+xml
.
Когда браузер читает XML он использует XML анализатор (парсер), а не HTML анализатор (парсер).
К сожалению, Internet Explorer до 8-й версии не поддерживает файлы, которые обслуживаются, как XML, пусть и ряд других браузеров поддерживают. Чтобы обойти тот
факт, что не все браузеры поддерживают контент, который обслуговуютеся как XML, сейчас много XHTML файлов обслуживаются с использованием такого MIME типа, как text/html
. В этом случае, клиентское
приложение будет читать файл, как будто это HTML файл, а также будет использовать анализатор (парсер) HTML.
Так как браузер считает, что XML в действительности должна быть HTML, то при написании кода XHTML, чтобы гарантировать то, что различия между XML и HTML синтаксисом не собьют с толку браузер вы должны принять во внимание некоторые различия между этими двумя форматами. Это включает в себя различные способы назначения кодировки символов или назначения языка внутри документа.
Appendix C с XHTML спецификации предоставляет немного информации, по обеспечению совместимости при
обслуживании XHTML как HTML. Эта информация, по обеспечению совместимости особенно важна для устаревших версий браузеров. Между прочим они рекомендуют, чтобы вы оставляли пробел перед ‘/>’ в конце
пустого тэга (как например img
, hr
или br
), чтобы вы использовали HTML атрибут lang
, а также XML атрибут xml:lang
, чтобы вы всегда использовать оба атрибуты id
и name
для идентификаторов фрагмента и т.д.
Современные основные браузеры могут отображать HTML файл как в режиме standards так и в режиме quirks. Это означает, что для отображения файла применяются различные правила: одно отвечает интерпретации ожидаемого поведения в соответствии со стандартами W3C, другое — ожиданиям, основанным на нестандартном поведении старых браузеров.
В последних версиях основных браузеров, режим standards включен за счет наличия назначения DOCTYPE. Отсутствие DOCTYPE может привести к различной выдачи в разных браузерах.
Нижеприведенные снимки экрана иллюстрируют некоторые из этих различий.
Документ, выполняемый в режиме standards. Такой же документ, выполняемый в режиме quirks.Нажмите на картинку, чтобы увидеть фактическую HTML страницу. Если вы просматриваете эту страницу в Internet Explorer, то вы увидите такой же эффект.
Две картины показывают две страницы с одинаковой разметкой и CSS стилизацией, за исключением одной вещи. Единственное отличие между этими двумя файлами — изображение, находящееся слева имеет тэг DOCTYPE в верхней части, а другое изображение его не имеет. Файл с соответствующим назначением DOCTYPE, в последних версиях большинства браузеров, как правило, отображается в режиме standards. При отсутствии DOCTYPE, вы получите режим quirks.
Показанные выше внешние отличия вытекают из следующих отличий в реализации такого браузера, как Internet Explorer:
В режиме standards настройки ширины CSS, которые применяется к тэге div не охватывают ни один набор ширин для настроек отступов (padding) и границ (border), в то время как в режиме quirks охватывают — именно поэтому большое окно на левой картинке (режим standards) шире.
В режиме quirks таблица не наследует настройки размера шрифта от элемента body, поэтому текст выглядит большим.
Первоначальная цель использования DOCTYPE — указание определение языка разметки. Ниже приведен исходный текст с назначением DOCTYPE в верхней части (что выделено красным курсивом).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>XHTML document</title> <style type="text/css"> body { background: white; color: black; font-family: arial, sans-serif; font-size: 12px; } p { font-size: 100%; } h2 { font-size: 16px; } div { margin: 20px; width: 170px; padding: 50px; border: 6px solid teal; } table { border: 1px solid teal; } </style> </head> <body> <h2>Тестовый файл для режимов Standards/Quirks</h2> <div> Тэг div из CSS width:170px, margin:20px, padding:50px and border:6px. </div> <p>Текст в элементе p.</p> <table> <tr><td>Текст в таблице.</td></tr> </table> </body> </html>
Браузеры, которые таким образом меняют режимы standards и quirks часто предлагают сделать DOCTYPE переключение.
Как правило, это очень хорошо всегда обслуживать вашу страницу в режиме standards — то есть всегда включать назначения DOCTYPE.
Назначения XML и DOCTYPEs
Существует один аспект использования DOCTYPEs, что особенно важно для назначения кодировки символов и предполагаемых результатов моделирования.
Поскольку XHTML 1.0 основана на XML, то XML назначение можно добавить в начале разметки, даже если она обслуживается как HTML. Это сделало бы верхнюю часть вышеприведенного файла, похожим на это (XML назначение выделяется красным курсивом):
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. 0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> ...
В таких браузерах, как Internet Explorer 7, Firefox, Safari, Opera, Google Chrome, и других, с или без XML назначения, страница, обслуживаемая с назначением DOCTYPE будет отображаться в режиме standards.
Однако, в Internet Explorer 6, если перед назначением DOCTYPE не появляется ничего, кроме byte-order mark (метки порядка байтов), то страница отображается в режиме quirks.
Если пользователи Internet Explorer 6 и до сих пор являются в значительной частью вашей целевой аудитории, то это может быть проблемой. Если вы хотите убедиться, что ваши страницы в Internet Explorer 6 отображаются так же, как и во всех других standards-compliant (совместимых стандарту) браузерах, то вы должны тщательно подумать над тем, как вам с этим справиться.
Очевидно, что это не является проблемой, когда документ не содержит никаких конструкций, которые зависят от разницы между режимами standards и quirks. Кроме того, если это не так, то для преодоления различий вам придется добавить обходные пути к вашей CSS, или пропустить XML назначения.
Отметим, что если вы примете решение пропустить XML назначение, то в качестве кодировки страницы вы должны выбрать или UTF-8 или UTF-16. (Дополнительные сведения о влиянии на назначения кодировки смотрите Назначение кодировки символов в HTML .)
Вам не нужно быть экспертом в области программирования, чтобы создавать современные веб-страницы. Даже имея минимальный опыт, можно вооружиться правильными инструментами, изучить правильные методики — и вскоре на вашем сайте уже не будет отбоя от посетителей! В этой книге вы найдете не только описание методов дизайна и элементов, применяемых для создания веб-страниц, но и все, что требуется для создания собственных веб-сайтов.
Основные темы книги:
Эд Титтел работает в компьютерной индустрии уже почти 30 лет. Автор более 140 книг. Джефф Ноубл занимается разработкой пользовательского интерфейса в компании CA Technologies. Специализируется на всех аспектах, связанных с веб-дизайном и веб- программированием. Расскажи про книгу своим друзьям и коллегам: Твитнуть Нравится | Оглавление к книге HTML, XHTML и CSS для чайников, 7-е изданиеОб авторахПредисловие Введение Часть I. Знакомство с (X)HTML и CSS Часть II. Форматирование веб-страниц с помощью (X)HTML Часть III. Точное управление веб-страницами и стилями Часть IV. Сценарии в (X)HTML Часть V. Будущее (X)HTML Часть VI. Великолепные десятки Приложение. Десять лучших интернет-ресурсов |
FAQ по HTML/XHTML — Документация Flask (русский перевод) 0.10.1
Документация на Flask и примеры приложений используют HTML5. Вы могли заметить, что во многих ситуациях, когда закрывающие теги необязательны, они не используются, и HTML-код получается более чистым и быстрым при его загрузке. Так как среди разработчиков встречается много недопониманий о HTML и XHTML, этот документ пытается ответить на некоторые самые главные вопросы.
История XHTML
Какое-то время назад казалось, что XHTML сменил HTML. Однико, наврядли все сайты в Internet являются в точности XHTML (т. е. HTML, подчиняющимся правилам XML). На это есть несколько серьёзных причин. Одна из них в том, что Internet Explorer не поддерживает XHTML надлежащим образом. По спецификации XHTML, он должен снабжаться MIME типом application/xhtml+xml, однако Internet Explorer отвергает при попытках чтения такие файлы. Хотя сконфигурировать веб-серверы для надлежащей обработки XHTML относительно просто, мало кто это делает. Возможно, потому, что правильное использование XHTML не всегда безболезненно.
Одной из важнейших причин, вызывающих болезненную реакцию, является драконовская — строгая и беспощадная — обработка ошибок со стороны XML. Если при парсинге XML браузер встречает ошибку, он он должен показать пользователю безобразное сообщение об ошибке, вместо попытки восстановить свою работу с отображением того, что возможно. Большинство генераторов (X)HTML в Интернет построены на не-XML шаблонизаторах (например, на Jinja, которым пользуется Flask), которые не защищают вас от случайного создания недопустимого XHTML. Конечно, существуют и заточенные под XML шаблонизаторы, такие, как Kid и популярный Genshi, однако, так как им приходится подчиняться правилам XML, часто они работают с повышенными накладными вычислительными расходами и не слишком просты в использовании.
Однако, большинство пользователей считают, что они используют XHTML
надлежащим образом. Они указывают в начале документа doctype как XHTML,
и самостоятельно закрывают все необходимые тэги (<br>
становится <br/>
или <br></br>
в XHTML). Однаког, даже если документ
проходит все проверки на соответствие правилам XHTML, то, как происходит
реальная обработка браузером, определяется MIME-типом, который, как
упомяналось ранее, часто указан не так, как надо. В итоге вполне годный
XHTML обрабатывается, как неправильный HTML.
Также, XHTML сменил способ работы с JavaScript. Для надлежащей работы с XHTML, для запроса элементов HTML, программисты должны использовать интерфейс DOM с пространствами имён, в данном случае — с пространством имён XHTML.
История HTML5
Разработка спецификации HTML5 стартовала в 2004 году под названием «Web Applications 1.0». Работа велась группой «Web Hypertext Application Technology Working Group» (сокращённо WHATWG), которую сформировали основные поставщики браузеров — Apple, Mozilla и Opera. Была поставлена задача закрепить новую улучшенную спецификацию HTML, с учётом исторически сложившегося поведения браузеров, без революционного отрыва от реальности и с учётом необходимости сохранения обратной совместимости.
К примеру, в HTML4 <title/Hello/
теоретически, парсится в точности,
как и <title>Hello</title>
. Однако, поскольку люди используют
тэги в стиле XHTML, типа <link />
, производители браузеров внедрили
синтаксис XHTML поверх определённого спецификацией синтаксиса.
В 2007 году, под эгидой W3C, спецификация была принята в качестве основы для новой спецификации HTML, известной как HTML5. В настоящее время заметна такая тенденция, что XHTML сдаёт позиции, группа по XHTML2 расформирована, а HTML5 внедряется всеми основными разработчиками браузеров.
HTML в сравнении с XHTML
Следующая таблица даст вам краткий обзор возможностей, доступных в HTML 4.01, XHTML 1.1 и HTML5. (XHTML 1.0 не включён, так как его сменил XHTML 1.1, а также не слишком часто используемый XHTML5.)
Что означает «строгий»?
Для HTML5 есть строго определённые правила парсинга, кроме того, он описывает, каким образом, в точности, должен реагировать браузер на ошибки парсинга — в отличие от XHTML, в котором сформулировано просто прерывание парсинга. Некоторых людей смущает, что очевидно недопустимый синтаксис всё ещё генерирует ожидаемые результаты (например, при отсутствии закрывающих тэгов или при незаключённых в кавычки атрибутах).
Некоторые из этих ошибок работают, так как у большинство браузеров, когда они сталкиваются с ошибками разметки, то используют их мягкую обработку, другие указаны фактически. По стандарту, следующие конструкции HTML5 не являются обязательными, но должны поддерживаться браузерами:
- Оборачивание документа в тэг
<html>
- Оборачивание элементов заголовка в
<head>
или элементов тела в<body>
- Закрытие тэгов
<p>
,<li>
,<dt>
,<dd>
,<tr>
,<td>
,<th>
,<tbody>
,<thead>
, or<tfoot>
. - Атрибуты цитирования, пока они не содержат пробелов или
специальных символов (таких, как
<
,>
,'
, или"
). - Требование, чтобы логические атрибуты имели значение.
Это значит, что следующая HTML5-страница является абсолютно допустимой:
<!doctype html> <title>Привет, HTML5</title> <div class=header> <h2>Привет, HTML5</h2> <p class=tagline>HTML5 прекрасен </div> <ul class=nav> <li><a href=/index>Начало</a> <li><a href=/downloads>Загрузки</a> <li><a href=/about>О сайте</a> </ul> <div class=body> <h3>Возможно, HTML5 - это будущее</h3> <p> Может быть, бывает и нечто иное, но с точки зрения поддержки разработчиками браузеров, HTML5 сложно превзойти. <dl> <dt>Ключ 1 <dd>Значение 1 <dt>Ключ 2 <dd>Значение 2 </dl> </div>
Новые технологии в HTML5
HTML5 добавил много новых особенностей, которые делают веб-приложения более лёгкими в написании и использовании.
- Тэги
<audio>
и<video>
дают способ встроить аудио и видео без лишних сложностей с дополнениями типа QuickTime или Flash. - Семантические элементы типа
<article>
,<header>
,<nav>
и<time>
, делающие содержимое более простым для понимания. - Тэг
<canvas>
, который поддерживает мощный API для рисования, снижает потребность в изображениях, генерируемых сервером для представления данных в графическом виде. - Новые типа контроля над формами, такие, как
<input type="date">
, которые позволяют агентам пользователя упросить ввод и проверку значенийthat. - Расширенные API для JavaScript APIs типа Web Storage, Web Workers, Web Sockets, geolocation, и оффлайновые приложения.
Также, было добавлено много других особенностей. Хорошее руководство по новым особенностям HTML5 это книга Марка Пилигрима (Mark Pilgrim), которая вот-вот выйдет в свет, под названием Погружение в HTML5 (Dive Into HTML5).
Что следует использовать?
В настоящий ответ, ответ: HTML5. Учитывая последние разработки в области веб-браузеров, есть очень мало причин к использованию XHTML. Подытожим причины, перечисленные выше:
- Internet Explorer (который, к несчастью, занимает наибольшую долю рынка) имеет слабую поддержку XHTML.
- Многие библиотеки JavaScript также не поддерживают XHTML, из-за более сложного пространства имён API, который он требует.
- HTML5 добавляет несколько новых особенностей, включая семантические тэги и
долгожданные тэги
<audio>
and<video>
. - Имеет за собой поддержку большинства фирм-разработчиков браузеров.
- На нём проще писать, и результат получается более кратким.
Для большинства приложений, несомненно, лучше использовать HTML5, а не XHTML.
HTML/XHTML. Создание шаблонов Joomla
Читайте также
XHTML 1: HTML по правилам XML
XHTML 1: HTML по правилам XML Следующая после HTML 4. 01 версия языка называлась XHTML 1.0. «X» означало «экстремальный», и каждый веб-разработчик, когда начинал произносить название языка, был строго обязан скрещивать руки в форме буквы «Х».Ладно, на самом деле нет. «X» значило eXtensible,
XHTML 2: терпению пришел конец
XHTML 2: терпению пришел конец Если бы персонаж Дастина Хоффмана в фильме «Выпускник» был веб-разработчиком, W3C сказал бы ему одно слово, ровно одно: XML.С точки зрения W3C разработка HTML закончилась на версии 4. Они начали работать над XHTML 2, который был спроектирован так, чтобы
XHTML умер: да здравствует синтаксис XHTML
XHTML умер: да здравствует синтаксис XHTML Туман неразберихи начал рассеиваться в 2009 году. W3C объявил, что договор на XHTML 2 не будет продлеваться. Формат был мертвым уже несколько лет, и это объявление стало только официальным свидетельством о смерти.Как ни странно, смерть XHTML 2
Глава 13 Язык XHTML
Глава 13 Язык XHTML 13.1. Структура XHTML-документов13.2. Отличие XHTML от HTML13.3. Проблемы использования XHTMLИтак, в предыдущих главах книги вы изучили возможности HTML 4.01 и теперь готовы разрабатывать веб-страницы, основанные на этом языке гипертекстовой разметки. Язык HTML версии 4.01 в
13.1. Структура XHTML-документов
13.1. Структура XHTML-документов Чтобы XHTML-документ полностью отвечал требованиям строгих правил XHTML DTD, ему нужно указать, какой набор XML DTD был использован при его создании, версию применяемого языка XML, а также пространство имен документа. Вся эта информация помещается в
13.2. Отличие XHTML от HTML
13.2. Отличие XHTML от HTML Основным отличием документа XHTML от HTML 4.01 является жесткое требование к корректности документа с точки зрения стандартов языка XML. На протяжении истории развития языка HTML сложился подход, при котором допускались многочисленные вольности и отступления
Включение сценариев и специальных символов в документы XHTML
Включение сценариев и специальных символов в документы XHTML В документы HTML сценарии встраиваются с помощью комментариев, то есть коды сценариев помещаются внутрь объявлений комментария:<!…Код сценария JavaScript или таблицы CSS….>В них же помещают объявления таблиц CSS, что
13.
3. Проблемы использования XHTML13.3. Проблемы использования XHTML Прочитав эту главу, вы, вероятно, поняли, что перед разработчиками веб-страниц встала серьезная проблема: переход на новый язык XHTML значительно меняет сложившиеся подходы к их разработке.Во-первых, уже нельзя позволить себе многие вольности
Преобразования из XML в XHTML
Преобразования из XML в XHTML Хотя во многих книгах рассматриваются исключительно преобразования из XML в HTML, правда состоит в том, что консорциум W3C этому не очень-то рад. Консорциум пытался сместить акцент с HTML (который они первоначально стандартизировали) на свою новую
Глава 6 Преобразование в XML, HTML, XHTML, RTF
Глава 6 Преобразование в XML, HTML, XHTML, RTF Предположим, web-узел вашей компании использует основанное на XML программное обеспечение фирмы Commerce One, в котором для безопасной коммуникации через Интернет применяется Java Message Service (JMS). Ваша деятельность была настолько успешной, что вы
Вывод в формате XHTML
Вывод в формате XHTML W3C представил XHTML как последователя HTML, но ни в XSLT 1.0, ни в рабочем проекте XSLT 1.1 нет никакой специальной поддержки для преобразований из XML в XHTML. Предполагается, что надлежащая поддержка будет включена в XSLT 2.0. Тем не менее, при помощи процессоров XSLT все
html
html run time_intervalpath /path/to/html/rooturl url_stringservlet–url url_stringhtaccess { yes | no }client–pages { all | groups | none | group GG1 GG2 … }account–pages { all | none }display–top Ndisplay–health { yes | no
HTML
HTML Данная книга не претендует на роль справочника или подробного учебника по HTML. Если вы хотите изучить этот язык детально, то для этих целей существуют специальные издания (в магазинах среди других компьютерных книг они выделяются внушительным объемом). В нашем случае
HTML
HTML http://www.w3.org/MarkUp/HTML Home Page – стандарты HTML.http://uts.cc.utexas.edu/%7Echurchh/htmlchek.htmlHTML syntax and cross-reference checker – проверка синтаксиса HTML.http://www.ics.uci.edu/pub/websoft/MOMspider/MOMspider – Web Site Maintenance Utility – утилита для проверки корректности ссылок, имеющихся на
HTML/XHTML
HTML/XHTML WWW (World Wide Web или Всемирная паутина) основана на HTML. HTML – это не язык программирования. HTML является языком описания и форматирования текста. Текст при этом состоит из различных структур: заголовков, списков, частей, выделенных жирным или наклонным шрифтом, таблиц и т. д.
HTML по сравнению с XHTML
XHTML — это более строгая версия HTML, основанная на XML.
Что такое XHTML?
- XHTML означает E X растяжимый H yper T ext M arkup L anguage
- XHTML — это более строгая версия HTML на основе XML.
- XHTML — это HTML, определенный как приложение XML
- XHTML поддерживается всеми основными браузерами
Почему именно XHTML?
XML — это язык разметки, в котором все документы должны быть правильно размечены (быть «правильно сформированными»).
XHTML был разработан, чтобы сделать HTML более расширяемым и гибким для работы с другие форматы данных (например, XML). Кроме того, браузеры игнорируют ошибки в HTML. страниц и попытайтесь отобразить веб-сайт, даже если на нем есть ошибки в разметке. Так что в XHTML гораздо более строгая обработка ошибок.
Если вы хотите изучать XML, прочтите наше руководство по XML.
Наиболее важные отличия от HTML
- — обязательно
- Атрибут xmlns в — обязательный
- ,,
и являются обязательными - Элементы всегда должны быть правильно вложены
- Элементы всегда должны быть замкнуты
- Элементы всегда должны быть в нижнем регистре
- Имена атрибутов всегда должны быть в нижнем регистре
- Значения атрибутов всегда должны быть в кавычках
- Минимизация атрибута запрещена
XHTML —
ОбязательноДокумент XHTML должен иметь объявление XHTML .
Также должны присутствовать элементы,
,Пример
Вот документ XHTML с минимумом необходимых тегов:
/ htmlfragment>«http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd»>
Название документа
некоторое содержание здесь…
Элементы XHTML должны быть правильно вложены
В XHTML элементы всегда должны быть правильно вложены друг в друга, например:
Правильно:
Некоторые текст
Неправильно:
Некоторые текст
Элементы XHTML должны быть всегда закрыты
В XHTML элементы всегда должны быть закрыты, например:
Правильно:
Это абзац
Это еще один абзац
Неправильно:
Это абзац
Это еще один абзац
Пустые элементы XHTML должны быть всегда закрыты
В XHTML пустые элементы всегда должны быть закрыты, например:
Правильно:
Перерыв:
Горизонтальная линейка:
Изображение: