Нажимаю на ссылку на дополнительный материал и дополнение к информации-меня возвращает на первую страницу лекции. Подскажите, что делать? Или дополнительный материал платный? |
О SGML и HTML
Объявление атрибутов
Ключевое слово <!ATTLIST открывает объявление атрибутов, которые могут быть приняты элементом. Следом идёт имя элемента, список определений атрибутов и закрывающий >.
Каждое определение атрибута состоит из трёх частей:
- имя атрибута ;
- тип значения атрибута или явно указанный список возможных значений. Значения, определённые явно в ОТД, нечувствительны к регистру. Дополнительную информацию о типах значений атрибутов можно найти в "базовых типах данных HTML" ;
- предполагается ли значение атрибута по умолчанию (ключевое слово "#ПРЕДПОЛАГАЕТСЯ"), в этом случае значение по умолчанию должно быть предоставлено пользовательским агентом (ПА) (в некоторых случаях - путём наследования от элементов-предков); требуется всегда (ключевое слово "#НЕОБХОДИМ"), или фиксируется данным значением (ключевое слово "#ФИКСИРОВАННЫЙ"). Некоторые определения атрибутов явно определяют для атрибута значение по умолчанию.
В этом примере атрибут name определён для элемента MAP. Атрибут для этого элемента не обязателен.
<!ATTLIST MAP name CDATA #ПРЕДПОЛАГАЕТСЯ >
Тип допустимых значений атрибута даётся как CDATA типа данных SGML. CDATA это текст, который может содержать символьные ссылки-мнемоники.
Дополнительную информацию о " CDATA ", " NAME ", " ID " и других типах данных см. в разделе "типы данных HTML" .
Следующие примеры иллюстрируют различные определения атрибутов:
rowspan NUMBER 1 -- количество рядов таблицы, занимаемых ячейкой -- http-equiv NAME #ПРЕДПОЛАГАЕТСЯ -- имя "шапки" ответа HTTP -- id ID #ПРЕДПОЛАГАЕТСЯ -- уникальный идентификатор документа id -- valign (top|middle|bottom|baseline) #IMPLIED
Атрибут rowspan требует значение типа NUMBER. Значение по умолчанию даётся явно как "1". Предполагаемый атрибут http-equiv требует значений типа NAME. Предполагаемый атрибут id требует значений типа ID. Предполагаемый атрибут valign сконструирован так, чтобы принимать значения из списка {top, middle, bottom, baseline}.
Объекты ОТД в определениях атрибутов
Определения атрибутов могут также содержать ссылки на объекты-параметры.
В этом примере мы видим, что список определения атрибута элемента LINK начинается объектом-параметром " %attrs; ":
<!ELEMENT LINK - O EMPTY -- независимая от типа носителя ссылка --> <!ATTLIST LINK %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #ПРЕДПОЛАГАЕТСЯ -- набор символов связанного ресурса -- href %URI; #ПРЕДПОЛАГАЕТСЯ -- URI связанного ресурса -- hreflang %LanguageCode; #ПРЕДПОЛАГАЕТСЯ -- код языка -- type %ContentType; #ПРЕДПОЛАГАЕТСЯ -- информативный тип содержимого -- rel %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылки вперёд -- rev %LinkTypes; #ПРЕДПОЛАГАЕТСЯ -- типы ссылки назад -- media %MediaDesc; #ПРЕДПОЛАГАЕТСЯ -- для представления данным носителем -- >
Объект-параметр " %attrs; " определён так:
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
Объект-параметр " %coreattrs; " в определении " %attrs; " расширяется так:
<!ENTITY % coreattrs "id ID #ПРЕДПОЛАГАЕТСЯ -- уникальный идентификатор документа id -- class CDATA #ПРЕДПОЛАГАЕТСЯ -- список разделённых пробелами классов -- style %StyleSheet; #ПРЕДПОЛАГАЕТСЯ -- ассоциированная информация о стиле -- title %Text; #ПРЕДПОЛАГАЕТСЯ -- информативное название --" >
Объект-параметр " %attrs; " определён по соглашению, поскольку эти атрибуты определены для большинства типов элементов HTML.
Таким же образом ОТД определяет объект-параметр " %URI; " и расширяет его в строку " CDATA ".
<!ENTITY % URI "CDATA" -- Uniform Resource Identifier, см. [URI] -->
Как показано в этом примере, объект-параметр " %URI; " даёт читателю больше информации как об ОТД, так и о типе данных, ожидаемых для данного атрибута. Так же определяются объекты-параметры " %Color; ", " %Charset; ", " %Length; ", " %Pixels; " и т.д.
Булевы атрибуты
Некоторые атрибуты играют роль булевых переменных (напр., атрибут selected элемента OPTION ). Их появление в начальном теге элемента подразумевает, что значение атрибута - " true ". Их отсутствие подразумевает, что значение - " false ".
Булевы атрибуты могут принимать единственное значение: само имя атрибута (напр., selected="selected" ).
В этом примере атрибут selected является булевым атрибутом.
selected (selected) #IMPLIED -- опция предустановлена --
Этот атрибут установлен " true " в начальном теге элемента:
<OPTION selected="selected"> ...содержимое... </OPTION>
В HTML булевы атрибуты могут появляться в минимизированной форме - значение атрибута value появляется без дополнения в начальном теге элемента. Таким образом, selected можно установить:
<OPTION selected>
вместо:
<OPTION selected="selected">
Авторы должны учитывать, что многие ПА могут распознавать только минимизированные формы булевых атрибутов, но не полные.