<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=DTD</id>
	<title>DTD - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=DTD"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=DTD&amp;action=history"/>
	<updated>2026-07-16T14:46:36Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=DTD&amp;diff=14507&amp;oldid=prev</id>
		<title>imported&gt;Sldst-bot: Уточнение даты установки ш:Нет источников: 2009-02-27 (до 2024-10-19 ш:Rq с параметром sources)</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=DTD&amp;diff=14507&amp;oldid=prev"/>
		<updated>2025-09-05T15:21:03Z</updated>

		<summary type="html">&lt;p&gt;Уточнение даты установки &lt;a href=&quot;/mediawiki/index.php?title=%D0%A8:%D0%9D%D0%B5%D1%82_%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Ш:Нет источников (страница не существует)&quot;&gt;ш:Нет источников&lt;/a&gt;: &lt;a href=&quot;/mediawiki/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F/14038710&quot; title=&quot;Служебная:Изменения/14038710&quot;&gt;2009-02-27&lt;/a&gt; (до &lt;a href=&quot;/mediawiki/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F/140891153&quot; title=&quot;Служебная:Изменения/140891153&quot;&gt;2024-10-19&lt;/a&gt; &lt;a href=&quot;/mediawiki/index.php?title=%D0%A8:Rq&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Ш:Rq (страница не существует)&quot;&gt;ш:Rq&lt;/a&gt; с параметром sources)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;DTD&amp;#039;&amp;#039;&amp;#039; ([[английский язык|англ]]. &amp;#039;&amp;#039;Document Type Definition&amp;#039;&amp;#039; — определение типа документа) — аббревиатура для обозначения следующих двух понятий:&lt;br /&gt;
* Схема всего документа или его части (в контексте &amp;#039;&amp;#039;языка схем DTD&amp;#039;&amp;#039;).&lt;br /&gt;
* &amp;#039;&amp;#039;Язык схем DTD (DTD schema language)&amp;#039;&amp;#039; — [[компьютерный язык]], который используется для записи фактических синтаксических правил [[метаязык]]а [[SGML]] и расширяемого языка разметки [[XML]]. С момента его внедрения [[XML Schema|другие языки схем]] для [[язык разметки|языков разметки]], такие как [[XML Schema]] и [[RELAX NG]], обзавелись дополнительной функциональностью.&lt;br /&gt;
&lt;br /&gt;
Из-за определённых различий между XML и SGML применение DTD также имеет некоторые особенности в зависимости от целевого документа.&lt;br /&gt;
&lt;br /&gt;
Сейчас идёт отказ от использования DTD в [[XML]]-технологии по ряду причин&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://www.w3.org/TR/1999/NOTE-xml-schema-req-19990215#Overview&lt;br /&gt;
| title=XML Schema Requirements&lt;br /&gt;
| publisher=W3C&lt;br /&gt;
| author=Редакторы Ashok Malhotra, Murray Maloney&lt;br /&gt;
| date=1999-02-15&lt;br /&gt;
| access-date=2021-07-26&lt;br /&gt;
| archive-date=2021-07-19&lt;br /&gt;
| archive-url=https://web.archive.org/web/20210719223144/https://www.w3.org/TR/1999/NOTE-xml-schema-req-19990215#Overview&lt;br /&gt;
| url-status=live&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Используется отличный от XML синтаксис.&lt;br /&gt;
# Отсутствует типизация узлов (в DTD).&lt;br /&gt;
# Отсутствует поддержка пространств имён (в DTD).&lt;br /&gt;
&lt;br /&gt;
На смену DTD пришёл стандарт [[XML Schema]] консорциума [[W3C]].&lt;br /&gt;
&lt;br /&gt;
== Описание схемы документа ==&lt;br /&gt;
&lt;br /&gt;
DTD описывает схему документа для конкретного языка разметки посредством набора объявлений [объектов-параметров, элементов и атрибутов элементов], которые описывают его класс (или тип) с точки зрения синтаксических ограничений этого документа.&lt;br /&gt;
Также DTD может объявлять конструкции, которые всегда необходимы для определения структуры документа, но, зато, могут влиять на интерпретацию определённых документов.&lt;br /&gt;
&lt;br /&gt;
=== Объявление объектов-параметров ===&lt;br /&gt;
Объявление объекта-параметра определяет [[макрос]] определённого типа, на который можно ссылаться и который может быть развернут где-нибудь в DTD. Эти макросы могут не появляться в самом документе, а быть только в DTD. Если на объект-параметр ссылаются по имени их DTD, то он разворачивается в строку, в которой указано содержимое этого объекта.&lt;br /&gt;
&lt;br /&gt;
Примеры:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!ENTITY % fontstyle &amp;quot;TT | I | B | BIG | SMALL&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Объект-параметр &amp;lt;code&amp;gt;fontstyle&amp;lt;/code&amp;gt; содержит в себе группу тегов &amp;lt;code&amp;gt;TT | I | B | BIG | SMALL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!ENTITY % inline &amp;quot;#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Объект-параметр &amp;lt;code&amp;gt;inline&amp;lt;/code&amp;gt; содержит в себе текстовые данные и ещё четыре объекта-параметра &amp;lt;code&amp;gt;fontstyle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;phrase&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;special&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;formctrl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Объявление элементов ===&lt;br /&gt;
Объявления элементов определяют (задают) набор разрешённых названий элементов в документе, тип содержимого для каждого элемента и обязательность/необязательность [[тег]]ов.&lt;br /&gt;
&lt;br /&gt;
Различные ключевые слова и символы определяют содержимое элемента:&lt;br /&gt;
&lt;br /&gt;
* {{code|EMPTY}} — пустое содержимое&lt;br /&gt;
* {{code|ANY}} — любое содержимое&lt;br /&gt;
* {{code|,}} — указывает порядок&lt;br /&gt;
* {{code|{{!}}}} — разделение альтернатив&lt;br /&gt;
* {{code|()}} — группировка&lt;br /&gt;
* {{code|&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;}} — любое количество элементов (ноль и более)&lt;br /&gt;
* {{code|+}} — по крайней мере один элемент (один и более)&lt;br /&gt;
* {{code|?}} — необязательное наличие элемента (ноль или один)&lt;br /&gt;
* Если нет {{code|*}}, {{code|+}} или {{code|?}} — элемент должен быть только один&lt;br /&gt;
&lt;br /&gt;
Примеры:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT DL - - (DT|DD)+&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Элемент &amp;lt;code&amp;gt;DL&amp;lt;/code&amp;gt; должен содержать один и более элементов &amp;lt;code&amp;gt;DT&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;DD&amp;lt;/code&amp;gt; в произвольном порядке.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM)&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Элемент &amp;lt;code&amp;gt;FORM&amp;lt;/code&amp;gt; должен содержать в себе один или более элементов в виде объекта-параметра &amp;lt;code&amp;gt;block&amp;lt;/code&amp;gt; или элемента &amp;lt;code&amp;gt;SCRIPT&amp;lt;/code&amp;gt; в произвольном порядке, однако исключена возможность содержать ещё один элемент &amp;lt;code&amp;gt;FORM&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Объявление атрибутов элементов===&lt;br /&gt;
Каждому элементу DTD-документа можно назначить список атрибутов. Для этого используется директива {{code|!ATTLIST}}, в которой указывается имя элемента, которому назначается список атрибутов и параметры каждого атрибута: имя, тип и значение по умолчанию.&lt;br /&gt;
&lt;br /&gt;
Например: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST MAP name CDATA #REQUIRED&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
В этом примере для элемента &amp;lt;code&amp;gt;MAP&amp;lt;/code&amp;gt; определен атрибут &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. Он является обязательным.&lt;br /&gt;
&lt;br /&gt;
Существующие типы атрибутов:&lt;br /&gt;
* {{code|CDATA}} (Character set of data) — значением атрибута могут быть любые символьные данные&lt;br /&gt;
* {{code|ID}} — значением атрибута должен быть уникальный идентификатор элемента&lt;br /&gt;
* {{code|IDREF}} — значением элемента является ссылка на элемент по его {{code|ID}}&lt;br /&gt;
* {{code|IDREFS}} — тоже что и {{code|IDREF}}, но с возможностью ссылок не по одному идентификатору, а по нескольким&lt;br /&gt;
* {{code|NMTOKEN}} — значением атрибута может быть последовательность символов, в чём-то схожая с именем (отсюда и названием — name token). Это строка, которая содержит любую комбинацию тех символов, которые разрешено использовать для имен XML.&lt;br /&gt;
* {{code|NMTOKENS}} — значением атрибута является список значений&lt;br /&gt;
* {{code|ENTITY}} — значение используется для ссылки на внешнюю сущность.&lt;br /&gt;
* {{code|ENTITIES}} — позволяет задать список внешних сущностей, разделённых пробелами.&lt;br /&gt;
* {{code|NOTATION}} — значением атрибута может быть одна из ранее определённых нотаций&lt;br /&gt;
* {{code|NOTATIONS}} — позволяет задать список нотаций.&lt;br /&gt;
* {{code|Listings}} и {{code|NOTATION-listings}}&lt;br /&gt;
* {{code|ENUMERATION}} — задаёт список возможных альтернатив значений.&lt;br /&gt;
&lt;br /&gt;
Существуют такие свойства по умолчанию:&lt;br /&gt;
# {{code|IMPLIED}} — значение атрибута указывать не обязательно;&lt;br /&gt;
# {{code|REQUIRED}} — значение атрибута обязательно должно быть указано;&lt;br /&gt;
# {{code|FIXED}} — значение этого атрибута задано как константа в DTD и в документе не может быть изменено;&lt;br /&gt;
# некоторое конкретное значение, которое используется по умолчанию.&lt;br /&gt;
&lt;br /&gt;
== Связь документа с определённым DTD ==&lt;br /&gt;
Чтобы связать документ с определённым DTD, необходимо в начале текста документа указать элемент [[Document Type Declaration|Объявление Типа Документа]].&lt;br /&gt;
&lt;br /&gt;
В зависимости от места расположения DTD Объявление Типа Документа может быть двух видов:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Внутреннее подмножество DTD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Набор объявлений DTD содержится в самом тексте документа. Например:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE foo [ &amp;lt;!ENTITY greeting &amp;quot;helloworld&amp;quot;&amp;gt; ]&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!DOCTYPE bar [ &amp;lt;!ENTITY greeting &amp;quot;helloworld&amp;quot;&amp;gt; ]&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Внешнее подмножество DTD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Набор объявлений DTD располагается в отдельном текстовом файле с расширением .dtd&lt;br /&gt;
В этом случае ссылку на файл можно сделать через публичный идентификатор и (или) через системный идентификатор. Например:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Валидация простого HTML 4.01 --&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01//EN&amp;quot;&lt;br /&gt;
   &amp;quot;http://www.w3.org/TR/html4/strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
Пример очень простого XML DTD, описывающего список людей:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;!ELEMENT people_list (person*)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT person (name, birthdate?, gender?, socialsecuritynumber?)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT name (#PCDATA) &amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT birthdate (#PCDATA) &amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT gender (#PCDATA) &amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT socialsecuritynumber (#PCDATA) &amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Начиная с первой строки:&lt;br /&gt;
# Элемент &amp;lt;code&amp;gt;&amp;lt;people_list&amp;gt;&amp;lt;/code&amp;gt; содержит любое число элементов &amp;lt;code&amp;gt;&amp;lt;person&amp;gt;&amp;lt;/code&amp;gt; . Знак &amp;lt;code&amp;gt;&amp;lt;*&amp;gt;&amp;lt;/code&amp;gt; означает, что возможно 0, 1 или более элементов &amp;lt;code&amp;gt;&amp;lt;person&amp;gt;&amp;lt;/code&amp;gt; внутри элемента &amp;lt;code&amp;gt;&amp;lt;people_list&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Элемент &amp;lt;code&amp;gt;&amp;lt;person&amp;gt;&amp;lt;/code&amp;gt; содержит элементы &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;birthdate&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;gender&amp;gt;&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;&amp;lt;socialsecuritynumber&amp;gt;&amp;lt;/code&amp;gt;. Знак &amp;lt;code&amp;gt;&amp;lt;?&amp;gt;&amp;lt;/code&amp;gt; означает, что элемент необязателен. Элемент &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; не содержит &amp;lt;code&amp;gt;&amp;lt;?&amp;gt;&amp;lt;/code&amp;gt;, что означает, что элемент &amp;lt;code&amp;gt;&amp;lt;person&amp;gt;&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;обязательно должен&amp;#039;&amp;#039; содержать элемент &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Элемент &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; содержит данные.&lt;br /&gt;
# Элемент &amp;lt;code&amp;gt;&amp;lt;birthdate&amp;gt;&amp;lt;/code&amp;gt; содержит данные.&lt;br /&gt;
# Элемент &amp;lt;code&amp;gt;&amp;lt;gender&amp;gt;&amp;lt;/code&amp;gt; содержит данные.&lt;br /&gt;
# Элемент &amp;lt;code&amp;gt;&amp;lt;socialsecuritynumber&amp;gt;&amp;lt;/code&amp;gt; содержит данные.&lt;br /&gt;
&lt;br /&gt;
Пример XML-документа, использующего этот DTD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;!DOCTYPE people_list SYSTEM &amp;quot;example.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;people_list&amp;gt;&lt;br /&gt;
   &amp;lt;person&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;&lt;br /&gt;
         Fred Bloggs&lt;br /&gt;
      &amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;birthdate&amp;gt;&lt;br /&gt;
         27/11/2008&lt;br /&gt;
      &amp;lt;/birthdate&amp;gt;&lt;br /&gt;
      &amp;lt;gender&amp;gt;&lt;br /&gt;
         Male&lt;br /&gt;
      &amp;lt;/gender&amp;gt;&lt;br /&gt;
      &amp;lt;socialsecuritynumber&amp;gt;&lt;br /&gt;
         1234567890&lt;br /&gt;
      &amp;lt;/socialsecuritynumber&amp;gt;&lt;br /&gt;
   &amp;lt;/person&amp;gt;&lt;br /&gt;
&amp;lt;/people_list&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[HTML#Варианты DOCTYPE для HTML 4.01|Варианты DOCTYPE для HTML 4.01]]&lt;br /&gt;
* [[RELAX NG]]&lt;br /&gt;
* [[XSD|XML Schema]]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{Нет источников |дата=2009-02-27}}&lt;br /&gt;
{{примечания}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:XML]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Sldst-bot</name></author>
	</entry>
</feed>