Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Document Type Definition (DTD)






В первой строке объявляется Document Type Definition:

<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN" " https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

DTD (Document Type Definition, определение типа документа) – язык описания структуры SGML-документа [10].

Пример очень простого XML DTD, описывающего список людей [10, 12]:

<! ELEMENT people_list (person*)> <! ELEMENT person (name, birthdate?)> <! ELEMENT name (#PCDATA) > <! ELEMENT birthdate (#PCDATA) >

Начиная с первой строки:

  1. Элемент < people_list> содержит любое число элементов < person>. Знак < *> означает, что возможно 0, 1 или более элементов < person> внутри элемента < people_list>.
  2. Элемент < person> содержит элементы < name>, < birthdate>. Знак <? > означает, что элемент необязателен. Элемент < name> не содержит <? >, что означает, что элемент < person> обязательно должен содержать элемент < name>.
  3. Элемент < name> содержит данные.
  4. Элемент < birthdate> содержит данные.

Пример XML-документа, использующего этот DTD:

<? xml version=" 1.0" encoding=" UTF-8"? > <! DOCTYPE people_list SYSTEM " example.dtd" > < people_list> < person> < name> Иванов Иван Иванович< /name> < birthdate> 22.03.1978< /birthdate> < /person> < /people_list>

Сейчас идет отказ от использования DTD в XML-технологии по ряду причин:

  1. Используется отличный от XML синтаксис.
  2. Отсутствует типизация узлов.
  3. Отсутствует поддержка пространств имен.

На смену DTD пришел стандарт консорциума W3C XML Schema.

В примере! DOCTYPE предназначен для указания типа текущего документа – DTD.

Это необходимо, чтобы браузер понимал, как следует интерпретировать текущую веб-страницу, ведь HTML существует в нескольких версиях, кроме того, имеется XHTML (EXtensible HyperText Markup Language), похожий на HTML, но различающийся с ним по синтаксису. Чтобы браузер " не путался" и понимал, согласно какому стандарту отображать веб-страницу и необходимо в первой строке кода задавать <! DOCTYPE>.

Существует несколько видов <! DOCTYPE>, они различаются в зависимости от версии HTML, на которую ориентированы [11]. В табл. 2.1 приведены основные типы документов с их описанием.

Таблица 2.1. Основные виды DOCTYPE
DOCTYPE Описание
HTML 4.01
<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01//EN" " https://www.w3.org/TR/html4/strict.dtd" > Строгий синтаксис HTML – не содержит элементов, помеченных как " устаревшие" или " не одобряемые"
<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Transitional//EN" " https://www.w3.org/TR/html4/loose.dtd" > Переходный синтаксис HTML –содержит устаревшие теги в целях совместимости и упрощения перехода со старых версий HTML
<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.01 Frameset//EN" " https://www.w3.org/TR/html4/frameset.dtd" > В HTML-документе применяются фреймы – аналогичен переходному, но содержит также теги для создания наборов фреймов
XHTML 1.0
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Strict//EN" " https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > Строгий синтаксис XHTML.
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN" " https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > Переходный синтаксис XHTML.
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Frameset//EN" " https://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd" > Документ написан на XHTML и содержит фреймы.
XHTML 1.1
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.1//EN" > Разработчики XHTML 1.1 предполагают, что он постепенно вытеснит HTML.

Разница между строгим и переходным описанием документа состоит в различном подходе к написанию кода документа [10]. Строгий HTML требует жесткого соблюдения спецификации HTML и не прощает ошибок, что обычно приводит к иному отображению документа, чем планировал разработчик. Переходный HTML более " спокойно" относится к некоторым огрехам кода, поэтому этот тип использовать предпочтительнее.

Часто можно встретить код HTML вообще без использования <! DOCTYPE>, веб-страница в подобном случае все равно будет показана. Тем не менее, может получиться, что один и тот же документ отображается по-разному при использовании <! DOCTYPE> и без него. Чтобы не произошло подобных ситуаций, необходимо всегда добавлять этот тег в начало документа.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.