Учебники

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 —