XHTML — Введение
XHTML расшифровывается как E X растяжимый H yper T ext M arkup L язык. Это следующий шаг в эволюции Интернета. XHTML 1.0 — это первый тип документа в семействе XHTML.
XHTML практически идентичен HTML 4.01 с небольшими отличиями. Это более чистая и строгая версия HTML 4.01. Если вы уже знаете HTML, вам нужно уделить мало внимания изучению этой последней версии HTML.
XHTML был разработан Консорциумом World Wide Web (W3C), чтобы помочь веб-разработчикам перейти от HTML к XML. Переходя на XHTML сегодня, веб-разработчики могут войти в мир XML со всеми его преимуществами, сохраняя при этом уверенность в обратной и будущей совместимости контента.
Зачем использовать XHTML?
Разработчики, которые переносят свой контент в XHTML 1.0, получают следующие преимущества:
-
Документы XHTML соответствуют XML, так как их легко просматривать, редактировать и проверять с помощью стандартных инструментов XML.
-
Документы XHTML могут быть написаны так, чтобы работать лучше, чем раньше в существующих браузерах, а также в новых браузерах.
-
Документы XHTML могут использовать приложения, такие как скрипты и апплеты, которые опираются либо на объектную модель документа HTML, либо на объектную модель документа XML.
-
XHTML предоставляет вам более согласованный, хорошо структурированный формат, позволяющий легко анализировать и обрабатывать ваши веб-страницы в существующих и будущих веб-браузерах.
-
Вы можете легко поддерживать, редактировать, конвертировать и форматировать ваш документ в долгосрочной перспективе.
-
Поскольку XHTML является официальным стандартом W3C, ваш веб-сайт становится более совместимым со многими браузерами и отображается более точно.
-
XHTML сочетает в себе силу HTML и XML. Кроме того, страницы XHTML могут отображаться всеми браузерами с поддержкой XML.
-
XHTML определяет стандарт качества для ваших веб-страниц, и если вы будете следовать этому, то ваши веб-страницы будут считаться качественными веб-страницами. W3C сертифицирует эти страницы своим знаком качества.
Документы XHTML соответствуют XML, так как их легко просматривать, редактировать и проверять с помощью стандартных инструментов XML.
Документы XHTML могут быть написаны так, чтобы работать лучше, чем раньше в существующих браузерах, а также в новых браузерах.
Документы XHTML могут использовать приложения, такие как скрипты и апплеты, которые опираются либо на объектную модель документа HTML, либо на объектную модель документа XML.
XHTML предоставляет вам более согласованный, хорошо структурированный формат, позволяющий легко анализировать и обрабатывать ваши веб-страницы в существующих и будущих веб-браузерах.
Вы можете легко поддерживать, редактировать, конвертировать и форматировать ваш документ в долгосрочной перспективе.
Поскольку XHTML является официальным стандартом W3C, ваш веб-сайт становится более совместимым со многими браузерами и отображается более точно.
XHTML сочетает в себе силу HTML и XML. Кроме того, страницы XHTML могут отображаться всеми браузерами с поддержкой XML.
XHTML определяет стандарт качества для ваших веб-страниц, и если вы будете следовать этому, то ваши веб-страницы будут считаться качественными веб-страницами. W3C сертифицирует эти страницы своим знаком качества.
Веб-разработчики и дизайнеры веб-браузеров постоянно находят новые способы выразить свои идеи с помощью новых языков разметки. В XML относительно легко ввести новые элементы или дополнительные атрибуты элементов. Семейство XHTML предназначено для размещения этих расширений с помощью модулей XHTML и методов разработки новых модулей, соответствующих XHTML. Эти модули позволяют сочетать существующие и новые функции во время разработки контента и разработки новых пользовательских агентов.
Основное понимание
Прежде чем мы продолжим, давайте кратко рассмотрим, что такое HTML, XML и SGML.
Что такое SGML?
Это стандартное общее языковое приложение (SGML), соответствующее международному стандарту ISO 8879. HTML широко считается стандартным языком публикации в World Wide Web.
Это язык для описания языков разметки, особенно тех, которые используются при электронном обмене документами, управлении документами и публикации документов. HTML является примером языка, определенного в SGML.
Что такое XML?
XML расшифровывается как E X X- XX. XML — это язык разметки, очень похожий на HTML, и он был разработан для описания данных. Теги XML не предопределены. Вы должны определить свои собственные теги в соответствии с вашими потребностями.
XHTML — Синтаксис
Синтаксис XHTML очень похож на синтаксис HTML, и почти все действительные элементы HTML также допустимы в XHTML. Но когда вы пишете документ XHTML, вам нужно уделить немного дополнительного внимания, чтобы ваш HTML-документ соответствовал XHTML.
Вот важные моменты, которые следует помнить при написании нового документа XHTML или преобразовании существующего документа HTML в документ XHTML —
-
Напишите объявление DOCTYPE в начале документа XHTML.
-
Запишите все теги и атрибуты XHTML только в нижнем регистре.
-
Закройте все теги XHTML правильно.
-
Вложите все теги правильно.
-
Укажите все значения атрибутов.
-
Запретить минимизацию атрибутов.
-
Замените атрибут имени атрибутом id .
-
Устаревать атрибут языка тега script.
Напишите объявление DOCTYPE в начале документа XHTML.
Запишите все теги и атрибуты XHTML только в нижнем регистре.
Закройте все теги XHTML правильно.
Вложите все теги правильно.
Укажите все значения атрибутов.
Запретить минимизацию атрибутов.
Замените атрибут имени атрибутом id .
Устаревать атрибут языка тега script.
Вот подробное объяснение вышеуказанных правил XHTML —
Декларация DOCTYPE
Все документы XHTML должны иметь объявление DOCTYPE в начале. Существует три типа объявлений DOCTYPE, которые подробно обсуждаются в главе XHTML Doctypes. Вот пример использования DOCTYPE —
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Чувствительность к регистру
XHTML — чувствительный к регистру язык разметки. Все теги и атрибуты XHTML должны быть написаны только в нижнем регистре.
<!-- This is invalid in XHTML --> <A Href="/xhtml/xhtml_tutorial.html">XHTML Tutorial</A> <!-- Correct XHTML way of writing this is as follows --> <a href="/xhtml/xhtml_tutorial.html">XHTML Tutorial</a>
В этом примере Href и тег привязки A не в нижнем регистре, поэтому это неверно.
Закрытие тегов
Каждый тег XHTML должен иметь эквивалентный закрывающий тег, даже пустые элементы также должны иметь закрывающие теги. Вот пример, показывающий действительные и недействительные способы использования тегов —
<!-- This is invalid in XHTML --> <p>This paragraph is not written according to XHTML syntax. <!-- This is also invalid in XHTML --> <img src="/images/xhtml.gif" >
Следующий синтаксис показывает правильный способ написания вышеуказанных тегов в XHTML. Разница в том, что здесь мы правильно закрыли оба тега.
<!-- This is valid in XHTML --> <p>This paragraph is not written according to XHTML syntax.</p> <!-- This is also valid now --> <img src="/images/xhtml.gif" />
Атрибут Котировки
Все значения атрибутов XHTML должны быть заключены в кавычки. В противном случае ваш документ XHTML считается недействительным документом. Вот пример, показывающий синтаксис —
<!-- This is invalid in XHTML --> <img src="/images/xhtml.gif" width=250 height=50 /> <!-- Correct XHTML way of writing this is as follows --> <img src="/images/xhtml.gif" width="250" height="50" />
Минимизация атрибутов
XHTML не позволяет минимизировать атрибуты. Это означает, что вам нужно явно указать атрибут и его значение. Следующий пример показывает разницу —
<!-- This is invalid in XHTML --> <option selected> <!-- Correct XHTML way of writing this is as follows --> <option selected="selected">
Вот список свернутых атрибутов в HTML и способ их записи в XHTML:
HTML стиль | Стиль XHTML |
---|---|
компактный | компактный = «компактный» |
проверено | проверено = «проверено» |
объявлять | объявить = «объявить» |
только для чтения | = только для чтения «ReadOnly» |
отключен | отключено = «отключено» |
выбранный | выбран = «выбрано» |
откладывать | отложить = «отложить» |
ISMAP | ISMAP = «ISMAP» |
nohref | nohref = «nohref» |
noshade | noshade = «noshade» |
Nowrap | Nowrap = «Nowrap» |
множественный | множественные = «несколько» |
NORESIZE | NORESIZE = «NORESIZE» |
Атрибут id
Атрибут id заменяет атрибут name. Вместо использования name = «name», XHTML предпочитает использовать id = «id». В следующем примере показано, как —
<!-- This is invalid in XHTML --> <img src="/images/xhtml.gif" name="xhtml_logo" /> <!-- Correct XHTML way of writing this is as follows --> <img src="/images/xhtml.gif" id="xhtml_logo" />
Атрибут языка
Атрибут языка тега script устарел. Следующий пример показывает эту разницу —
<!-- This is invalid in XHTML --> <script language="JavaScript" type="text/JavaScript"> document.write("Hello XHTML!"); </script> <!-- Correct XHTML way of writing this is as follows --> <script type="text/JavaScript"> document.write("Hello XHTML!"); </script>
Вложенные теги
Вы должны правильно вложить все теги XHTML. В противном случае ваш документ считается неверным XHTML-документом. В следующем примере показан синтаксис —
<!-- This is invalid in XHTML --> <b><i> This text is bold and italic</b></i> <!-- Correct XHTML way of writing this is as follows --> <b><i> This text is bold and italic</i></b>
Запреты Элементов
Следующие элементы не могут иметь какие-либо другие элементы внутри них. Этот запрет распространяется на все глубины вложения. Значит, в него входят все нисходящие элементы.
Элемент | запрет |
---|---|
<a> | Не должен содержать другие элементы <a>. |
<Предварительно> | Не должен содержать элементы <img>, <object>, <big>, <small>, <sub> или <sup>. |
Кнопка <> | Не должен содержать элементы <input>, <select>, <textarea>, <label>, <button>, <form>, <fieldset>, <iframe> или <isindex>. |
<Метка> | Не должен содержать другие элементы <label>. |
<Форма> | Не должен содержать другие элементы <form>. |
Минимальный XHTML-документ
В следующем примере показано минимальное содержимое документа XHTML 1.0 —
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/TR/xhtml1" xml:lang="en" lang="en"> <head> <title>Every document must have a title</title> </head> <body> ...your content goes here... </body> </html>
HTML против XHTML
В связи с тем, что XHTML является приложением XML, некоторые методы, которые были совершенно законными в HTML 4 на основе SGML, должны быть изменены. Вы уже видели синтаксис XHTML в предыдущей главе, поэтому различия между XHTML и HTML очень очевидны. Ниже приводится сравнение между XHTML и HTML.
Документы XHTML должны быть правильно оформлены
Правильность — это новая концепция, представленная XML. По сути, это означает, что все элементы должны иметь закрывающие теги, и вы должны правильно их вкладывать.
ПРАВИЛЬНО: вложенные элементы
<p>Here is an emphasized <em>paragraph</em>.</p>
НЕПРАВИЛЬНО: перекрывающиеся элементы
<p>Here is an emphasized <em>paragraph.</p></em>
Элементы и атрибуты должны быть в нижнем регистре
Документы XHTML должны использовать строчные буквы для всех элементов HTML и имен атрибутов. Это различие необходимо, поскольку предполагается, что документ XHTML является документом XML, а XML чувствителен к регистру. Например, <li> и <LI> — это разные теги.
Конечные теги необходимы для всех элементов
В HTML некоторые элементы могут опускать конечный тег. Но XML не позволяет опускать конечные теги.
ПРАВИЛЬНО: завершенные элементы
<p>Here is a paragraph.</p><p>here is another paragraph.</p> <br><hr/>
НЕПРАВИЛЬНО: неопределенные элементы
<p>Here is a paragraph.<p>here is another paragraph. <br><hr>
Значения атрибута всегда должны быть в кавычках
Все значения атрибутов, включая числовые значения, должны быть заключены в кавычки.
ПРАВИЛЬНО: цитируемые значения атрибутов
<td rowspan="3">
НЕПРАВИЛЬНО: Значения атрибутов без кавычек
<td rowspan=3>
Минимизация атрибутов
XML не поддерживает минимизацию атрибутов. Пары атрибут-значение должны быть записаны полностью. Имена атрибутов, такие как компактный и проверенный, не могут встречаться в элементах без указания их значения.
ПРАВИЛЬНО: не минимизированные атрибуты
<dl compact="compact">
НЕПРАВИЛЬНО: минимизированные атрибуты
<dl compact>
Обработка пробелов в значениях атрибутов
Когда браузер обрабатывает атрибуты, он делает следующее —
-
Удаляет ведущие и конечные пробелы.
-
Сопоставляет последовательности одного или нескольких символов пробела (включая разрывы строк) с одним межсловным пространством.
Удаляет ведущие и конечные пробелы.
Сопоставляет последовательности одного или нескольких символов пробела (включая разрывы строк) с одним межсловным пространством.
Элементы скрипта и стиля
В XHTML элементы script и style не должны иметь символы «<» и «&» напрямую, если они существуют; тогда они рассматриваются как начало разметки. Такие объекты, как «<» и «&», распознаются процессором XML как ссылки на объекты для отображения символов «<» и «&» соответственно.
Обтекание содержимого скрипта или элемента стиля внутри раздела, помеченного CDATA, позволяет избежать расширения этих объектов.
<script type="text/JavaScript"> <![CDATA[ ... unescaped VB or Java Script here... ... ]]> </script>
Альтернативой является использование внешнего скрипта и стиля документов.
Элементы с атрибутами id и name
XHTML рекомендует заменить атрибут name на атрибут id . Обратите внимание, что в XHTML 1.0 атрибут name этих элементов формально устарел и будет удален в последующих версиях XHTML.
Атрибуты с предопределенными наборами значений
HTML и XHTML оба имеют некоторые атрибуты, которые имеют предопределенные и ограниченные наборы значений. Например, введите атрибут элемента ввода . В HTML и XML они называются перечисляемыми атрибутами . В HTML 4 интерпретация этих значений чувствительна к регистру, поэтому значение TEXT было эквивалентно значению текста .
В XHTML интерпретация этих значений чувствительна к регистру, поэтому все эти значения определены в нижнем регистре.
Ссылки на сущности как шестнадцатеричные значения
HTML и XML разрешают ссылки на символы с использованием шестнадцатеричного значения. В HTML эти ссылки могут быть сделаны с помощью & # Xnn; или & # xnn; и они действительны, но в документах XHTML вы должны использовать только строчную версию, например & # xnn; ,
Элемент <html> является обязательным
Все элементы XHTML должны быть вложены в корневой элемент <html>. Все остальные элементы могут иметь подэлементы, которые должны быть попарно и правильно вложены в родительский элемент. Основная структура документа —
<!DOCTYPE html....> <html> <head> ... </head> <body> ... </body> </html>
XHTML — Doctypes
Стандарт XHTML определяет три определения типа документа (DTD). Наиболее часто используемым и простым является переходный документ XHTML.
Определения типа документа XHTML 1.0 соответствуют трем DTD —
- строгий
- переходный
- Frameset
Существует несколько элементов и атрибутов XHTML, которые доступны в одном DTD, но недоступны в другом DTD. Поэтому при написании документа XHTML вы должны тщательно выбирать элементы или атрибуты XHTML. Однако валидатор XHTML помогает вам идентифицировать допустимые и недействительные элементы и атрибуты.
Пожалуйста, проверьте XHTML Validations для более подробной информации об этом.
XHTML 1.0 Strict
Если вы планируете строго использовать каскадную таблицу стилей (CSS) и избегаете писать большинство атрибутов XHTML, то рекомендуется использовать этот DTD. Документ, соответствующий данному DTD, имеет наилучшее качество.
Если вы хотите использовать XHTML 1.0 Strict DTD, вам необходимо добавить следующую строку в верхней части документа XHTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
Если вы планируете использовать много атрибутов XHTML, а также несколько свойств каскадных таблиц стилей, вам следует принять этот DTD и написать соответствующий документ XHTML.
Если вы хотите использовать XHTML 1.0 Transitional DTD, вам необходимо добавить следующую строку в верхней части документа XHTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
Вы можете использовать это, если хотите использовать HTML-фреймы, чтобы разделить окно браузера на два или более фреймов.
Если вы хотите использовать DTD XHTML 1.0 Frameset, то вам нужно добавить следующую строку вверху вашего документа XHTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Примечание. Независимо от того, какое DTD вы используете для написания документа XHTML; если это действительный документ XHTML, то ваш документ считается документом хорошего качества.
XHTML — Атрибуты
Существует несколько атрибутов XHTML / HTML, которые являются стандартными и связаны со всеми тегами XHTML / HTML. Эти атрибуты перечислены здесь с кратким описанием —
Основные атрибуты
Недопустимо в элементах base, head, html, meta, param, script, style и title.
атрибут | Значение | Описание |
---|---|---|
учебный класс | class_rule или style_rule | Класс элемента. |
Я бы | id_name | Уникальный идентификатор элемента. |
стиль | определение_стиля | Встроенное определение стиля. |
заглавие | tooltip_text | Текст для отображения в подсказке мыши. |
Атрибуты языка
Атрибут lang указывает язык, используемый для вложенного содержимого. Язык идентифицируется с использованием стандартных языковых сокращений ISO, таких как fr для французского, en для английского и т. Д. Дополнительные коды и их форматы описаны на сайте www.ietf.org .
Недопустимо в элементах base, br, frame, frameset, hr, iframe, param и script.
атрибут | Значение | Описание |
---|---|---|
реж | буква | РТЛ | Устанавливает направление текста. |
языки | код_языка | Устанавливает код языка. |
Собственные атрибуты Microsoft
Microsoft представила ряд новых фирменных атрибутов в Internet Explorer 4 и более поздних версиях.
атрибут | Значение | Описание |
---|---|---|
ключ доступа | персонаж | Устанавливает сочетание клавиш для доступа к элементу. |
язык | строка | Этот атрибут указывает язык сценариев, который будет использоваться со связанным сценарием, связанным с элементом, обычно через атрибут обработчика событий. Возможные значения могут включать JavaScript, jScript, VBS и VBScript. |
TabIndex | число | Устанавливает порядок вкладок элемента. |
contenteditable | логический | Позволяет пользователям редактировать содержимое, отображаемое в Internet Explorer 5.5 или более поздней версии. Возможные значения: true или false. |
отключен | логический | Элементы с установленным атрибутом disabled могут выглядеть блеклыми и не будут реагировать на ввод пользователя. Возможные значения: true или false. |
hidefocus | вкл или выкл | Этот собственный атрибут, представленный в Internet Explorer 5.5, скрывает фокус на содержимом элемента. Фокус должен быть применен к элементу с помощью атрибута tabindex. |
неактивна | вкл или выкл | Используется для предотвращения выбора содержимого, отображаемого в Internet Explorer 5.5. |
XHTML — События
Когда пользователи посещают веб-сайт, они выполняют такие действия, как нажатие на текст, изображения и гиперссылки, наведение указателя мыши и т. Д. Это примеры того, что JavaScript называет событиями.
Мы можем написать наши обработчики событий в JavaScript или VBScript и можем указать эти обработчики событий в качестве значения атрибута тега события. XHTML 1.0 имеет аналогичный набор событий, который доступен в спецификации HTML 4.01.
События уровня <body> и <frameset>
Существует только два атрибута, которые можно использовать для запуска любого кода JavaScript или VBScript, когда любое событие происходит на уровне документа.
атрибут | Значение | Описание |
---|---|---|
в процессе | скрипт | Скрипт запускается при загрузке документа XHTML. |
OnUnload | скрипт | Скрипт запускается при выгрузке документа XHTML. |
Примечание. Здесь скрипт относится к любой функции или фрагменту кода VBScript или JavaScript.
События уровня <form>
Ниже приведены шесть атрибутов, которые можно использовать для запуска любого кода JavaScript или VBScript, когда любое событие происходит на уровне формы.
атрибут | Значение | Описание |
---|---|---|
по изменению | скрипт | Скрипт выполняется при изменении элемента. |
onsubmit | скрипт | Сценарий выполняется при отправке формы. |
OnReset | скрипт | Скрипт выполняется при сбросе формы. |
onselect | скрипт | Сценарий выполняется, когда элемент выбран. |
ONBLUR | скрипт | Скрипт выполняется, когда элемент теряет фокус. |
OnFocus | скрипт | Скрипт запускается, когда элемент получает фокус. |
События клавиатуры
Следующие три события генерируются клавиатурой. Эти события недопустимы в элементах base, bdo, br, frame, frameset, head, html, iframe, meta, param, script, style и title.
атрибут | Значение | Описание |
---|---|---|
OnKeyDown | скрипт | Сценарий выполняется по нажатию клавиши. |
OnKeyPress | скрипт | Сценарий выполняется при нажатии и отпускании клавиши. |
OnKeyUp | скрипт | Скрипт выполняет отпускание ключа. |
Другие события
Следующие семь событий генерируются мышью, когда она вступает в контакт с любым тегом HTML. Эти события недопустимы в элементах base, bdo, br, frame, frameset, head, html, iframe, meta, param, script, style и title.
атрибут | Значение | Описание |
---|---|---|
по щелчку | скрипт | Сценарий выполняется по щелчку мыши. |
ondblclick | скрипт | Сценарий выполняется по двойному щелчку мыши. |
OnMouseDown | скрипт | Скрипт выполняется при нажатии кнопки мыши. |
OnMouseMove | скрипт | Скрипт выполняется при перемещении указателя мыши. |
onmouseout | скрипт | Скрипт выполняется, когда указатель мыши выходит за пределы элемента. |
при наведении мыши | скрипт | Скрипт выполняется, когда указатель мыши перемещается над элементом. |
OnMouseUp | скрипт | Скрипт выполняется при отпускании кнопки мыши. |
XHTML — версия 1.1
W3C помог перевести сообщество разработчиков интернет-контента из дней неправильно сформированной нестандартной разметки в правильно сформированный, действительный мир XML. В XHTML 1.0 этот шаг был смягчен с целью обеспечения легкой миграции существующего контента на основе HTML 4 (или более ранних версий) в XHTML и XML.
W3C удалил поддержку устаревших элементов и атрибутов из семейства XHTML. Эти элементы и атрибуты имели в значительной степени ориентированную на представление функциональность, которую лучше обрабатывать с помощью таблиц стилей или поведения клиента по умолчанию.
Теперь рабочая группа W3C по HTML определила исходный тип документа, основанный исключительно на модулях XHTML 1.1. Этот тип документа предназначен для переноса на широкий спектр клиентских устройств и применим к большинству интернет-контента.
Соответствие документа
XHTML 1.1 предоставляет определение строго соответствующих документов XHTML, которые ДОЛЖНЫ соответствовать всем следующим критериям:
-
Документ ДОЛЖЕН соответствовать ограничениям, указанным в XHTML 1.1 Определение типа документа.
-
Корневой элемент документа ДОЛЖЕН быть <html>.
-
Корневой элемент документа ДОЛЖЕН обозначать пространство имен XHTML с помощью атрибута xmlns .
-
Корневой элемент МОЖЕТ также содержать атрибут местоположения схемы, как определено в Схеме XML.
Документ ДОЛЖЕН соответствовать ограничениям, указанным в XHTML 1.1 Определение типа документа.
Корневой элемент документа ДОЛЖЕН быть <html>.
Корневой элемент документа ДОЛЖЕН обозначать пространство имен XHTML с помощью атрибута xmlns .
Корневой элемент МОЖЕТ также содержать атрибут местоположения схемы, как определено в Схеме XML.
ДОЛЖНО быть объявление DOCTYPE в документе до корневого элемента. Если он присутствует, открытый идентификатор, включенный в объявление DOCTYPE, ДОЛЖЕН ссылаться на DTD, найденный в определении типа документа XHTML 1.1.
Вот пример документа XHTML 1.1 —
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd" xml:lang="en"> <head> <title>This is the document title</title> </head> <body> <p>Moved to <a href="http://example.org/">example.org</a>.</p> </body> </html>
Примечание. В этом примере объявление XML включено. Объявление XML, такое как приведенное выше, не требуется во всех документах XML. Авторам документов XHTML настоятельно рекомендуется использовать декларации XML во всех своих документах. Такое объявление требуется, когда кодировка символов документа отличается от кодировки UTF-8 или UTF-16 по умолчанию.
Модули XHTML 1.1
Тип документа XHTML 1.1 состоит из следующих модулей XHTML.
Структурный модуль — Структурный модуль определяет основные структурные элементы для XHTML. Эти элементы эффективно служат основой для модели содержимого многих типов документов семейства XHTML. Элементы и атрибуты, включенные в этот модуль — это body, head, html и title.
Текстовый модуль — этот модуль определяет все основные элементы текстового контейнера, атрибуты и модель их содержимого — abbr, аббревиатура, адрес, 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.
Модуль форм — предоставляет все возможности форм, найденные в HTML 4.0. В частности, он поддерживает — кнопку, набор полей, форму, ввод, метку, легенду, выбор, выборку, параметр и текстовое поле.
Модуль таблицы. Он поддерживает следующие элементы, атрибуты и модель содержимого — заголовок, столбец, группа, таблица, tbody, td, tfoot, th, thead и tr.
Модуль Image — обеспечивает базовое встраивание изображений и может использоваться в некоторых реализациях карт изображений на стороне клиента независимо. Поддерживает элемент — img.
Модуль клиентской карты изображений — предоставляет элементы для клиентских карт изображений — области и карты.
Модуль карты изображения на стороне сервера — обеспечивает поддержку выбора изображения и передачи координат выбора. Модуль серверной карты изображений поддерживает атрибут ismap на img.
Модуль внутренних событий — поддерживает все события, обсуждаемые в событиях XHTML.
Модуль метаинформации — модуль метаинформации определяет элемент, который описывает информацию в декларативной части документа. Включает элемент мета.
Модуль сценариев — определяет элементы, используемые для хранения информации, относящейся к исполняемым сценариям или отсутствию поддержки исполняемых сценариев. Элементы и атрибуты, включенные в этот модуль, — noscript и script.
Модуль таблицы стилей — определяет элемент, который будет использоваться при объявлении внутренних таблиц стилей. Элемент и атрибут, определенные этим модулем, — style.
Модуль Атрибутов Стиля (Устаревший) — Он определяет атрибут стиля.
Модуль связи — определяет элемент, который можно использовать для определения ссылок на внешние ресурсы. Поддерживает элемент ссылки .
Базовый модуль — определяет элемент, который можно использовать для определения базового URI, относительно которого разрешаются относительные URI в документе. Элемент и атрибут, включенные в этот модуль, — base .
Модуль аннотаций Ruby — XHTML также использует модуль аннотаций Ruby, как определено в RUBY, и поддерживает — ruby, rbc, rtc, rb, rt и rp.
Отличия от XHTML 1.0 Strict
В этом разделе описываются различия между XHTML 1.1 и XHTML 1.0 Strict. XHTML 1.1 представляет собой отступ от HTML 4 и XHTML 1.0.
-
Наиболее важным является удаление функций, которые были объявлены устаревшими.
-
Изменения могут быть обобщены следующим образом:
-
У каждого элемента атрибут lang был удален в пользу атрибута xml: lang .
-
В элементах <a> и <map> атрибут name был удален в пользу атрибута id.
-
Рубиновая коллекция элементов была добавлена.
Наиболее важным является удаление функций, которые были объявлены устаревшими.
Изменения могут быть обобщены следующим образом:
У каждого элемента атрибут lang был удален в пользу атрибута xml: lang .
В элементах <a> и <map> атрибут name был удален в пользу атрибута id.
Рубиновая коллекция элементов была добавлена.
XHTML — Советы и хитрости
В этой главе перечислены различные советы и хитрости, о которых вам следует знать при написании XHTML-документа. Эти советы и рекомендации помогут вам создать эффективные документы.
Советы по разработке документа XHTML
Вот несколько основных рекомендаций по разработке документов XHTML:
Дизайн для обслуживания и привлечения вашей аудитории
Когда вы думаете о том, чтобы удовлетворить то, чего хочет ваша аудитория, вам нужно разработать эффективные и броские документы для достижения этой цели. Ваш документ должен быть легким для поиска необходимой информации и создания привычной среды.
Например, академикам или практикующим врачам удобны журнальные документы с длинными предложениями, сложными диаграммами, конкретными терминологиями и т. Д., Тогда как документ, к которому обращаются школьники, должен быть простым и информативным.
Повторно используйте ваш документ
Повторно используйте созданные ранее успешные документы вместо того, чтобы начинать с нуля каждый раз, когда вы создаете новый проект.
Внутри XHTML-документа
Вот несколько советов относительно элементов внутри документа XHTML —
Декларация XML
Декларация XML не требуется во всех документах XHTML, но авторам документов XHTML настоятельно рекомендуется использовать декларации XML во всех своих документах. Такое объявление требуется, когда кодировка символов документа отличается от кодировки UTF-8 или UTF-16 по умолчанию.
Пустые элементы
Они включают пробел перед завершением / и> пустых элементов. Например, <br />, <hr /> и <img src = «/ html / xhtml.gif» alt = «xhtml» />.
Встроенные таблицы стилей и скрипты
Используйте внешние таблицы стилей, если ваша таблица стилей использует «<», «&», «]]>» или «-».
Используйте внешние скрипты, если ваш скрипт использует «<», «&» или «]]>» или «-».
Разрывы строк в значениях атрибутов
Избегайте разрывов строк и нескольких пробельных символов в пределах значений атрибутов. Они обрабатываются несовместимо различными браузерами.
Isindex Элемент
Не включайте более одного элемента isindex в заголовок документа. Элемент isindex устарел в пользу элемента input.
Атрибуты lang и xml: lang
Используйте оба атрибута lang и xml: lang при указании языка элемента. Значение атрибута xml: lang имеет приоритет.
Идентификаторы элементов
В XHTML 1.0 устарели атрибуты имени элементов a, applet, form, frame, iframe, img и map . Они будут удалены из XHTML в последующих версиях. Поэтому начните использовать элемент id для идентификации элемента.
Использование амперсандов в значениях атрибутов
Символ амперсанда («&») должен быть представлен как ссылка на объект &.
пример
<!-- This is invalid in XHTML --> http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user. <!-- Correct XHTML way of writing this is as follows --> http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
Пробельные символы в HTML и XML
Некоторые символы, которые являются допустимыми в документах HTML, являются недопустимыми в документе XML. Например, в HTML символ подачи формы (U + 000C) обрабатывается как пробел, в XHTML из-за определения символов в XML это недопустимо.
Ссылка на именованный символ & Apos;
Ссылка на именованный символ ‘(апостроф, U + 0027) была введена в XML 1.0, но не появилась в HTML. Поэтому веб-разработчикам следует использовать & # 39; вместо того, чтобы «работать, как ожидается, в веб-браузерах HTML 4.
XHTML — проверки
Каждый документ XHTML проверяется на соответствие определению типа документа. Перед правильной проверкой файла XHTML необходимо добавить правильный DTD в качестве первой или второй строки файла.
Когда вы будете готовы проверить свой документ XHTML, вы можете использовать W3C Validator для проверки вашего документа. Этот инструмент очень удобен и помогает вам решить проблемы с вашим документом. Этот инструмент не требует специальных знаний для выполнения проверки.
Следующее утверждение в текстовом поле показывает вам детали. Вам нужно указать полный URL-адрес страницы, которую вы хотите проверить, и затем нажать кнопку « Подтвердить страницу» .
Введите адрес вашей страницы в поле ниже —
Этот валидатор проверяет правильность разметки веб-документов в различных форматах, особенно в HTML, XHTML, SMIL, MathML и т. Д.
Существуют и другие инструменты для выполнения других проверок.
Другие валидаторы и инструменты
XHTML — Резюме
Мы предполагаем, что вы поняли все понятия, связанные с XHTML. Следовательно, вы должны иметь возможность записать свой HTML-документ в правильно оформленный XHTML-документ и получить более чистую версию своего веб-сайта.
Преобразование HTML в XHTML
Вы можете преобразовать свой существующий HTML-сайт в XHTML-сайт.
Давайте пройдемся по некоторым важным шагам. Чтобы преобразовать существующий документ, вы должны сначала решить, к какому DTD вы будете придерживаться, и включить определение типа документа в верхней части документа.
-
Убедитесь, что у вас есть все другие необходимые элементы. Они включают в себя корневой элемент <html>, который указывает пространство имен XML, элемент <head>, элемент <title>, содержащийся в элементе <head>, и элемент <body>.
-
Преобразуйте все ключевые слова элементов и имена атрибутов в нижний регистр.
-
Убедитесь, что все атрибуты имеют формат name = «value».
-
Убедитесь, что все элементы контейнера имеют закрывающие теги.
-
Поместите косую черту внутри всех автономных элементов. Например, переписать все элементы <br> как <br />.
-
Определите код скрипта на стороне клиента и код таблицы стилей как разделы CDATA.
Убедитесь, что у вас есть все другие необходимые элементы. Они включают в себя корневой элемент <html>, который указывает пространство имен XML, элемент <head>, элемент <title>, содержащийся в элементе <head>, и элемент <body>.
Преобразуйте все ключевые слова элементов и имена атрибутов в нижний регистр.
Убедитесь, что все атрибуты имеют формат name = «value».
Убедитесь, что все элементы контейнера имеют закрывающие теги.
Поместите косую черту внутри всех автономных элементов. Например, переписать все элементы <br> как <br />.
Определите код скрипта на стороне клиента и код таблицы стилей как разделы CDATA.
Предстоящие версии XHTML
Тем не менее, XHTML улучшается, и его следующая версия XHTML 1.1 уже разработана. Мы обсудили это подробно в главе XHTML версии 1.1.
XHTML-теги, символы и объекты
Теги, символы и сущности XHTML аналогичны HTML, поэтому, если вы уже знаете HTML, вам не нужно прилагать дополнительные усилия для изучения этих предметов, особенно для XHTML. Мы перечислили все элементы HTML вместе с руководством по XHTML, потому что они применимы и к XHTML.
Что дальше?
Мы перечислили различные ресурсы для XHTML и HTML, поэтому, если вам это интересно, и у вас есть время, мы рекомендуем вам ознакомиться с этими ресурсами, чтобы улучшить ваше понимание XHTML. В противном случае этот учебник должен был дать вам достаточно знаний для написания ваших веб-страниц с использованием XHTML.
Ваши отзывы об этом руководстве приветствуются по адресу [email protected].