Опубликован: 19.05.2006 | Доступ: свободный | Студентов: 9815 / 1466 | Оценка: 4.29 / 4.03 | Длительность: 22:29:00
ISBN: 978-5-94774-648-8
Лекция 3:

О SGML и HTML

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Аннотация: Этот раздел посвящён SGML и его взаимосвязям с HTML. Полное обсуждение SGML находится в стандарте (см. [ISO8879]).

Введение в SGML

SGML - это система определения языков разметки . Авторы размечают свои документы, вводя структурную, представительную и семантическую информацию параллельно с основным содержимым.

HTML - это один из языков разметки. Вот пример документа HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
     "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
   <HEAD>
      <TITLE>My first HTML document</TITLE>
   </HEAD>
   <BODY>
      <P>Hello world!</P>
   </BODY>
</HTML>

Документ HTML состоит из раздела-шапки (здесь - между <HEAD> и </HEAD> ) и тела (здесь - между <BODY> и </BODY> ). Название документа содержится в шапке (наряду с другой информацией о документе), а содержимое документа находится в его теле/body. Тело в этом примере состоит из одного параграфа, помеченного <P>.

Каждый язык разметки, определённый в SGML, называется SGML приложением. Приложение SGML обычно характеризуется:

  1. "Объявлением SGML" . Объявление SGML определяет, какие символы и ограничители могут появляться в приложении.
  2. "Определением типа документов (ОТД)" . ОТД определяет синтаксис конструкций разметки. ОТД может включать дополнительные определения, такие как символьные ссылки-мнемоники.
  3. Спецификация, описывающая семантику, относится к разметке. Эта спецификация также даёт ограничения синтаксиса, которые не могут быть выражены внутри ОТД.
  4. Объектами документа, содержащими данные (содержимое) и разметку. Каждый объект содержит ссылку на ОТД, чтобы иметь возможность быть интерпретированным.

Эта спецификация включает "объявление SGML" , три определения типа документов (см. раздел "информация о версии HTML" ) список ссылок-мнемоник.

Конструкции SGML, используемые в HTML

Следующие разделы посвящены конструкциям SGML, используемым в HTML.

В приложении описаны некоторые возможности SGML, которые не поддерживаются широко утилитами HTML и пользовательскими агентами (ПА), и использование которых должно быть исключено.

Элементы

"Определение типа документа" в SGML определяет типы элементов, представляющих структуру или необходимое поведение. HTML содержит типы элементов, представляющих параграфы, гипертекстовые ссылки, списки, таблицы, изображения и т.д.

Каждое объявление типа элемента обычно описывает три части: начальный тег, содержимое и конечный тег.

Название элемента появляется в начальном теге ( <название-элемента> ) и в конечном теге ( </название-элемента> ); обратите внимание на слэш " / " перед названием элемента в конечном теге. Например, стартовый и конечный теги типа элемента UL обозначают границы списка:

<UL>
<LI><P>...элемент списка 1...
<LI><P>...элемент списка 2...
</UL>

Некоторые элементы HTML допускают отсутствие конечного тега (напр., типы элементов P и LI ).

Немногие элементы допускают также отсутствие и начальных тегов, например, HEAD и BODY. ОТД HTML указывает для каждого типа элементов, требуются ли начальный и конечный теги.

Некоторые типы элементов HTML не имеют содержимого. Например, обрыв строки BR не имеет содержимого, его единственная задача - обозначить конец строки текста. Такие пустые элементы никогда не имеют конечного тега. В "определении типа документа" и в тексте этой спецификации указывается, является ли элемент пустым (не имеет содержимого) или, если он может иметь содержимое, что может быть допустимым содержимым.

Названия элементов всегда нечувствительны к регистру.

См. в стандарте SGML информацию о правилах использования элементов (напр., они должны быть правильно вложены, конечный тег закрывает, назад по направлению к соответствующему начальному тегу, все незакрытые начальные теги с отсутствующими конечными тегами ( "раздел 7.5.1" ) и т.д.).

Например, этот параграф:

<P>Это первый параграф.</P>
...элемент блок...

может быть переписан без конечного тега:

<P>Это первый параграф.
...элемент блок...

поскольку начальный тег <P> закрывается следующим после него блоком. То же самое, если параграф закрыт элементом блок:

<DIV>
<P>Это параграф.
</DIV>

конечный тег окружающего элемента блок (здесь - </DIV> ) подразумевает конечный тег открытого начального тега <P>.

Элементы это не теги. Многие полагают, что элементы - это и есть теги (напр., "тег P "). Помните, что элемент - это одно, а тег ( начальный или конечный) - это другое. К примеру, элемент HEAD всегда представлен, даже если оба тега HEAD, начальный и конечный, отсутствуют в разметке.

Все типы элементов, объявленные в этой спецификации, перечислены в "Индексе элементов" .

Атрибуты

Элементы могут иметь ассоциированные свойства, называемые атрибутами, которые могут иметь значения (по умолчанию или устанавливаемые автором или скриптом). Пары атрибут/значение появляются перед конечным символом " > " начального тега элемента. Любое количество (допустимое) пар атрибута-значений, разделённых пробелами, может появляться в начальном теге элемента. Они могут появляться в любом порядке.

В этом примере атрибут id установлен для элемента H1:

<H1 id="section1">
Это идентифицируемый заголовок, благодаря атрибуту id
</H1>

По умолчанию SGML требует, чтобы все значения атрибутов были ограничены с использованием двойных кавычек либо метки двойной кавычки (ASCII десятеричная 34) или метки одиночной кавычки (ASCII десятеричная 39). Знак одиночной кавычки может быть включен в значение атрибута, если это значение ограничено знаком двойной кавычки, и наоборот. Авторы могут также использовать цифровые ссылки-мнемоники для представления двойной (&#34;) и одинарной (&#39;) кавычек. Для двойных кавычек можно использовать также символьную ссылку-мнемонику &quot;.

В некоторых случаях авторы могут устанавливать значение атрибута без использования кавычек. Значение атрибута может содержать только буквы (a-z и A-Z), цифры (0-9), дефисы (ASCII десятеричная 45), точку (ASCII десятеричная 46), символ подчёркивания (ASCII десятеричная 95) и двоеточие (ASCII десятеричная 58).

Мы рекомендуем использовать знак кавычек даже тогда, когда можно обойтись без него.

Названия атрибутов всегда нечувствительны к регистру.

Значения атрибутов вообще нечувствительны к регистру. В определении каждого атрибута в справочнике указано, является ли его значение нечувствительным к регистру.

Все атрибуты, определённые в этой спецификации, перечислены в "индексе атрибутов" .

Ссылки-мнемоники

Ссылки-мнемоники это цифровые или символьные имена символов, которые могут быть включены в документ HTML. Они употребляются как ссылки на редко используемые или затруднительные для воспроизведения авторскими утилитами символы. Вы встретите такие ссылки-мнемоники в этом документе повсюду, они начинаются знаком " & " и заканчиваются точкой с запятой ( ; ). Вот некоторые распространённые сочетания:

  • " &lt; " - знак <
  • " &gt; " - знак >
  • " &quot; " - знак "
  • " &#229; " (десятеричная) буква "a" с маленьким кружком наверху
  • " &#1048; " (десятеричная) кириллическая "И"
  • " &#x6C34; " (шестнадцатеричная) китайский "водяной" символ.

Мы детально обсудим ссылки-мнемоники HTML позже в разделе "набор символов документа HTML" . В этой спецификации есть также "список символьных ссылок" , которые могут употребляться в документах HTML 4.

Комментарии

Комментарии HTML имеют следующий синтаксис:

<!-- это комментарий -->
<!-- и это тоже комментарий,
    занимающий более одной строки -->

Не допускаются пробелы между открывающим ограничителем объявления разметки (" <!") и открывающим ограничителем комментария (" -- "), но разрешаются между закрывающим ограничителем комментария (" -- ") и закрывающим ограничителем объявления разметки (" > "). Обычная ошибка - включение внутрь комментария строки (" --- "). Авторы должны исключить использование внутри комментариев двух или более смежных дефисов.

Информация комментариев не имеет специального значения (напр., ссылки-мнемоники не интерпретируются как таковые).

Обратите внимание, что комментарии это разметка.

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Ирина Кириллова
Ирина Кириллова

Нажимаю на ссылку на дополнительный материал и дополнение к информации-меня возвращает на первую страницу лекции. Подскажите, что делать? Или дополнительный материал платный?

Марина Дайнеко
Марина Дайнеко
Россия, Moscow, Nope, 2008
Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989