HTML в профилях/Синтаксис: различия между версиями

Содержимое удалено Содержимое добавлено
м <source> -> <syntaxhighlight> (phab:T237267)
 
Строка 9:
 
{{Якорь |hello.html}}
<sourcesyntaxhighlight lang="html5" >
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<title >Привет, мир!</title>
<p >Это &mdash; пример документа HTML5.
</syntaxhighlight>
</source>
 
{{Якорь |hello.xhtml}}
<sourcesyntaxhighlight lang="xml" >
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<head>
Строка 26:
</body>
</html>
</syntaxhighlight>
</source>
 
=== Объектная модель документа ===
Строка 58:
=== DOCTYPE ===
 
Спецификация HTML5 ''требует''<ref name="html5-doctype" /> наличия в начале HTML-представления формы <sourcesyntaxhighlight lang="html5" enclose="none" ><!DOCTYPE html></sourcesyntaxhighlight> (в одном из [[#Объявление типа документа |нескольких вариантов.]]) Эта форма препятствует использованию реализациями HTML режимов чтения документа, предшествующих HTML4, и не несет иной смысловой нагрузки.
 
При использовании XHTML-представления, эта форма допускается (в качестве обычного для XML [[#Объявление типа документа |объявления типа документа]]<ref name="xml-prolog-dtd" />), но не является необходимой с точки зрения HTML5.<ref name="html5-doctype-x" />
Строка 112:
 
Общая форма записи элемента — ⟨<var >открывающий тег</var>⟩&#8203;⟨<var >необязательное содержание</var>⟩&#8203;⟨<var >закрывающий тег</var>⟩. В <var >содержании</var> могут, в свою очередь, находится другие элементы, например:
* <sourcesyntaxhighlight lang="html5" enclose="none" ><section ><h3 >Пример заголовка</h3><p >Пример текста первого абзаца раздела.</p></section></sourcesyntaxhighlight> — ''раздел'' (англ. {{lang |en|section}}), состоящий из ''заголовка'' третьего уровня (<code >h3</code>, от англ. {{lang |en|heading}}) и единственного ''абзаца'' (<code >p</code>; от англ. {{lang |en|paragraph}});
* <sourcesyntaxhighlight lang="html5" enclose="none" ><section><h3>Пример заголовка</h3><p>Пример текста первого абзаца раздела.</section></sourcesyntaxhighlight> — то же, но опуская необязательный в HTML закрывающий тег элемента <code >p</code> (как последний в родительском элементе, отличном от <code >a</code>) и необязательные пробелы в открывающих тегах.
 
В HTML-представлении, [[#Пустые элементы HTML |ряд элементов]] считаются ''пустыми'' (англ. {{lang |en|void}}) и не допускают использования закрывающего тега. Для их записи, однако, допустимо использовать совместимую с XML форму <code >&lt;<var >имя</var> /&gt;</code> ''открывающего тега'' (возможно — с включением атрибутов.)<ref name="html5-start" />
Строка 160:
Из соображений совместимости (в том числе с построенным как ''приложение SGML'' языком HTML4), спецификация HTML5 подробно описывает процедуру разбора формы <code >DOCTYPE</code> ''объявления типа документа.''<ref name="html5-doctype-state" />
 
Тем не менее, рекомендованой для документов HTML5 в представлении HTML является исключительно форма <sourcesyntaxhighlight lang="html5" enclose="none" ><!DOCTYPE html></sourcesyntaxhighlight>.<ref name="html5-doctype" /> Для использования формирующими HTML-вывод программами, не способными сформировать такое объявление, допускаются также следующие формы:
* <sourcesyntaxhighlight lang="html5" enclose="none" ><!DOCTYPE html SYSTEM "about:legacy-compat"></sourcesyntaxhighlight>
* <sourcesyntaxhighlight lang="html5" enclose="none" ><!DOCTYPE html SYSTEM 'about:legacy-compat'></sourcesyntaxhighlight>
 
Кроме того, следующие формы (с точностью до незначимых пробелов и взаимозаменяемости парных <code >'</code> и <code >"</code>), регламентируемые предыдущими версиями спецификаций HTML и XHTML, также допускаются в документах HTML5, не лишая их [[../Основные определения#Действительный документ |действительности.]]
* <sourcesyntaxhighlight lang="html5" enclose="none" ><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN"></sourcesyntaxhighlight>
* <sourcesyntaxhighlight lang="html5" enclose="none" ><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN"></sourcesyntaxhighlight>
* <sourcesyntaxhighlight lang="html5" enclose="none" ><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"></sourcesyntaxhighlight>
* <sourcesyntaxhighlight lang="html5" enclose="none" ><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"></sourcesyntaxhighlight>
* <sourcesyntaxhighlight lang="html5" enclose="none" ><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" ></sourcesyntaxhighlight>
* <sourcesyntaxhighlight lang="html5" enclose="none" ><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" ></sourcesyntaxhighlight>
 
В представлении XHTML, применение формы <code >DOCTYPE</code> полностью определяется спецификацией XML.<ref name="xml-prolog-dtd" />
Строка 179:
 
Такое «совместимое» представление определяется набором необходимых условий ниже, обусловленных, в основном, небольшими различиями в интерпретации схожих конструкций этих представлений.
# В начале представления документа используется форма <sourcesyntaxhighlight lang="html5" enclose="none" ><!DOCTYPE html></sourcesyntaxhighlight>. <small >(Требование и ограничение HTML.)</small>
# Корневой элемент <code >html</code> дополняется атрибутом <code >xmlns="http://www.w3.org/1999/xhtml"</code>. Все элементы HTML явно отнесены к этому пространству имен.
# Определение и использование ''префиксов пространств имен'' (вида: <sourcesyntaxhighlight lang="xml" enclose="none" ><html:p xmlns:html="http://www.w3.org/1999/xhtml" >Привет!</html:p></sourcesyntaxhighlight>) не допускается. Включаемые в HTML документы MathML и SVG используют соответствующие значения атрибута <code >xmlns</code>. <small >(Ограничение HTML.)</small>
# Псевдоэлемент <code >noscript</code> не допускается как «невозможный» в документах XML. <small >(Ограничение XML.)</small>
# Элементы <code >style</code>, <code >iframe</code>, <code >script</code> допускаются лишь если не содержат основных особых символов XML (<code >&amp;</code>, <code >&lt;</code>.)
# Все [[#Пустые элементы |пустые]] (англ. {{lang |en|void}}) элементы записываются ''одним тегом'' с обязательным <code >/</code>, подобно: <sourcesyntaxhighlight lang="html5" enclose="none" ><base href="http://example.com/" /></sourcesyntaxhighlight>.
# Для всех прочих элементов используются явные открывающий и закрывающий теги, — даже если элемент лишен содержимого. Подобно: <sourcesyntaxhighlight lang="html5" enclose="none" ><div id="example-id" ></div></sourcesyntaxhighlight>.
# Именованные символы-ссылки (кроме <code >amp</code>, <code >lt</code>, <code >gt</code>, <code >apos</code>, <code >quot</code>) не используются.