dtd файл что это

XML DTD

XML документ с корректной синтаксической структурой является «синтаксически верным».

XML документ, прошедший проверку по DTD, является «синтаксически верным» и «валидным».

Валидные XML документы

«Валидный» XML документ — это «синтаксически верный» XML документ, который также соответствует правилам DTD (определениям типов документов):

В приведенном примере, декларация DOCTYPE является ссылкой на внешний файл определений типов документа (DTD). Содержимое этого файла показано ниже.

XML DTD

Цель DTD состоит в том, чтобы определить структуру XML документа. Это делается путем определения списка допустимых элементов:

Приведенное выше DTD интерпретируется следующим образом:

#PCDATA означает разбираемые текстовые данные.

Использование DTD для определения сущностей

Определения типов документа (DTD) также можно использовать для декларации специальных символов и символьных строк, используемых в XML документе:

Сущность состоит из трех частей: амперсанда (&), имени сущности и точки с запятой (;).

Зачем нужно использовать DTD?

С DTD ваш XML файл может нести собственный формат.

С DTD различные, не связанные друг с другом группы людей могут приходить к соглашению о стандартах пересекающихся данных.

С DTD вы можете быть уверены, что получаемые из внешних источников данные будут корректными.

Когда не стоит использовать DTD?

Вообще-то для работы XML не требуется DTD.

Когда вы экспериментируете с XML или работаете с небольшими XML файлами, то создание DTD может оказаться излишней тратой времени.

Если вы разрабатываете приложения, то стоит подождать, пока спецификации не станут стабильными, и только тогда добавлять определения. В обратном случае ваше приложение может перестать работать из-за ошибок валидации.

Источник

DTD – Определение типа документа (Document Type Definition)

Расширение DTD

Чем открыть файл DTD

В Windows: Altova XMLSpy, Progress Stylus Studio, SyncRO Soft oXygen XML Editor, Liquid Technologies Liquid XML Studio, JAPISoft EditiX, Microsoft Visual Studio 2010, Microsoft Notepad, Adobe ExtendScript, Adobe Dreamweaver, NotePad++ text editor, Microsoft Internet Explorer, Nvu, любой другой текстовый редактор
В Mac OS: Altova XMLSpy, MacroMates TextMate, SyncRO Soft oXygen XML Editor, Apple TextEdit, любой другой текстовый редактор
В Linux: Altova XMLSpy, SyncRO Soft oXygen XML Editor, gedit

Описание расширения DTD

Популярность:

Расширение DTD (англ. Document Type Definition определение типа документа) – это текстовый файл, который определяет элементы и атрибуты, используемые в XML, SGML, HTML или документе XHTML, может также определить порядок и вложенность элементов и их атрибутов. Документ DTD описан специальным языком DTD (DTD schema language). DTD может быть описан как внутри документа, так и вынесен в отдельный файл, по аналогии с каскадными таблицами стилей CSS. DTD файлы используются для проверки, является ли файл действительным документом. Например, до разбора XML-файла, программа может сначала проверить объявления разметки с помощью файла DTD, чтобы убедиться, что XML может быть проанализирован должным образом. Т.к. форматы XML и SGML различны, то и соответствующие файлы DTD будут иметь некоторые особенности в зависимости от документа.

Где – это объявление DTD

– это элемент документа, который указывает, что элементы to, from, heading, body должны обязательно содержатся внутри корневого элемента note.

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

Михаил
Ирина
Напоминание
Не забудь о встрече!

Источник

XML DTD — проверка грамматики XML-документов (валидация) при помощи DTD

Это очередная статья в цикле «Основы XML» и в ней мы рассмотрим основы описания структуры XML данных при помощи DTD. Это довольно таки старый способ описания структуры XML-документов, но он до сих пор используется, поэтому мы его все же рассмотрим.

Также хочу отметить, что это отличный способ показать, как в XML идет проверка содержимого документа, его грамматики и т.д. Более новый и совершенный способ описания структуры XML-документов с использованием технологии XML Schema мы рассмотрим в следующей статье, ну а пока перейдем непосредственно к изучению DTD XML.

В рамках данной статьи мы рассмотрим сразу несколько важных моментов. Это что такое XML DTD и для чего он нужен, поговорим о недостатках DTD, а также научимся самостоятельно составлять собственный DTD для валидации XML-документов. Все это, как обычно, будет изложено пошагово, максимально кратко и понятно с целью экономии вашего времени.

Что такое DTD в XML и для чего он нужен

DTD – это язык описания, который позволяет нам определить, какие элементы должны быть в XML-документе, сколько раз они должны повторяться, какие атрибуты должны быть у этих элементов, какие атрибуты обязательные и какие не обязательные, а также какие сущности могут использоваться в документе. Подробнее про конструкции XML читайте в статье «Элементы, теги и атрибуты XML».

Если говорить кратко, то DTD в XML используется для проверки грамматики документа и соответствия его стандарту (тому, который придумал разработчик или вы сами). Это позволяет парсеру (обработчику) на этапе обработки определить, соответствует ли документ нашим требованиям. То есть, проходит валидация XML-документа.

Необходимость проверки грамматики XML-документов заключается в следующем:

Итак, мы разобрались с тем, что такое XML DTD и зачем он нужен. Теперь давайте кратко рассмотрим недостатки DTD, после чего перейдем непосредственно к рассмотрению процесса создания DTD файлов для валидации XML-документов.

Недостатки XML DTD

Это был краткий список недостатков DTD, которые с успехом исправлены в XML схемах, о которых мы поговорим в следующих статьях.

Объявление элементов, атрибутов и сущностей в DTD. Модификаторы «*», «?», «+»

Для объявления элементов, атрибутов и сущностей в DTD используются специальные декларации и модификаторы. Чтобы подробно во всем разобраться, давайте для начала рассмотрим теоритическую информацию, а затем во второй части статьи перейдем к практическим примерам.

Определение элемента XML и последовательности элементов XML

Элемент book содержит по одному элементу title, author, price и description.

Альтернативы элементов

Элемент pricelist содержит элементы title, price и один элемент из трех на выбор – author, company либо sample.

Пустые элементы

Элемент none должен быть пустым.

Объявление атрибута

Элемент pricelist может содержать два атрибута – атрибут id и атрибут name. При этом атрибут id является обязательным, так как указано #REQUIRED, а атрибут name – не обязательным (указано #IMPLIED). В свою очередь CDATA указывает обработчику, что разбирать содержимое атрибутов не нужно.

Определение сущностей

Если встретится сущность «&myname;», то вместо нее автоматически подставится «Дмитрий Денисов».

Модификаторы (объясняют повторения элементов)

* — ноль или много.
? – ноль или один.
+ — один или много.

Элемент books может содержать один или более элементов book.

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

Создание DTD-файла для валидации XML-документа на примере прайс-листа книг

Пусть у нас будет все тот же прайс-лист книг, который мы используем для примеров практически в каждой статье про XML. Сам XML-документ будет выглядеть примерно следующим образом.

Конечно, вышеприведенный пример не является пределом мечтаний, но для примера вполне сойдет. Как видно с примера, у нас есть корневой элемент pricelist, который содержит вложенные элементы book. Внутри элементов book находятся элементы title, author, price и возможно description, которые могут содержать какие-то текстовые данные.

Для валидации данного прайс-листа мы можем использовать DTD-документ следующего содержания.

Теперь разберем все более подробно.

Подключение DTD для валидации XML-документов

Декларативный способ

Данный способ очень редко используется, так как его суть состоит в создании самодостаточных документов. То есть, документ будет сразу содержать и DTD и XML. Для добавления DTD в XML используется следующая конструкция.

Читайте также:  hard disk drives в биосе что это

где вместо DOCUMENT указываем корневой элемент XML-документа.

Для наглядности рассмотрим пример готового самодостаточного документа с декларативным способом включения DTD.

Внешнее определение DTD — подключение DTD-документа

Суть данного метода состоит в том, чтобы подключить к XML-документу файл DTD при помощи следующей конструкции.

где DOCUMENT – указываем корневой элемент XML-документа.
file.dtd – ссылка на файл DTD.

Для наглядности рассмотрим следующий пример.

На этом данная статья подошла к концу. Все основные моменты при работе с XML DTD мы рассмотрели и, надеюсь, у меня получилось понятно все объяснить. Если вы не хотите пропустить выпуска других уроков по XML и XSLT, рекомендую подписаться на новостную рассылку, воспользовавшись формой ниже.

На этом все. Удачи вам и успехов в изучении XML!

Источник

Определение типа документа (DTD)

Зачем нужно DTD.

Написание определений DTD: общие принципы.

Ассоциирование DTD с документом XML

Блок внутренней декларации разметки тега DOCTYPE состоит из левой квадратной скобки, списка деклараций и правой квадратной скобки:

Если внешние DTD переписываются очень часто, они начинают терять свое значение, а это признак плохого первоначального проекта.

Основные декларации разметки

Конструкция DTD Значение
ELEMENT Декларация типа элемента XML
ATTLIST Декларация атрибутов, которые могут быть назначены конкретным типам элементов, а также разрешенных значений этих атрибутов
ENTITY Декларация повторно используемого содержания
NOTATION Декларация форматирования для внешнего содержания, которое не должно быть проанализировано (например, двоичные данные), а также для внешних приложений, обрабатывающих содержание

Нотации описывают содержание, разработанное не на языке XML. Используются они для того, чтобы объявить конкретный класс данных и связать его с внешней программой. Эта внешняя программа становится обработчиком объявленного класса данных. Например, связав с документом изображение в формате JPEG, разработчик желает, чтобы программа приняла и визуализировала двоичные данные в этом формате. Конечно, в таком случае документ зависит от того, какой обработчик имеется в системе, получающей документ. В интересах портативности и переносимости некоторые авторы не приводят ссылки на обработчики. В таком случае нотация превращается просто в механизм набора текста.

Объявление элементов.

Иногда из нескольких вложенных элементов или списков (список элементов указанных в скобках) может встретиться только один. В таком случае их имена перечисляются через вертикальную черту( | ). Например:

Элементы появляются именно в таком порядке.

Если вложенный элемент можно записать в объявляемом элементе несколько раз, то необходимо это указать используя звездочку, плюс или вопросительным знак.

Источник

DTD — Краткое руководство

Объявление типа документа XML, широко известное как DTD, является способом точного описания языка XML. DTD проверяют правильность структуры и словаря XML-документа по отношению к грамматическим правилам соответствующего языка XML.

XML-документ может быть определен как —

Следующая диаграмма показывает, что DTD используется для структурирования XML-документа:

DTD может быть классифицирован на основе декларации в XML-документе, например:

Мы узнаем больше об этом в главе Синтаксис DTD

Характеристики

Ниже приведены некоторые важные моменты, которые описывает DTD:

элементы, которые могут появиться в документе XML.

порядок, в котором они могут появляться.

необязательные и обязательные элементы.

атрибуты элемента и являются ли они необязательными или обязательными.

могут ли атрибуты иметь значения по умолчанию.

элементы, которые могут появиться в документе XML.

порядок, в котором они могут появляться.

необязательные и обязательные элементы.

атрибуты элемента и являются ли они необязательными или обязательными.

могут ли атрибуты иметь значения по умолчанию.

Преимущества использования DTD

Документация — Вы можете определить свой собственный формат для файлов XML. Глядя на этот документ, пользователь / разработчик может понять структуру данных.

Проверка — это дает возможность проверить достоверность файлов XML, проверив, отображаются ли элементы в правильном порядке, имеются ли обязательные элементы и атрибуты, не были ли вставлены элементы и атрибуты неправильно, и так далее.

Документация — Вы можете определить свой собственный формат для файлов XML. Глядя на этот документ, пользователь / разработчик может понять структуру данных.

Проверка — это дает возможность проверить достоверность файлов XML, проверив, отображаются ли элементы в правильном порядке, имеются ли обязательные элементы и атрибуты, не были ли вставлены элементы и атрибуты неправильно, и так далее.

Недостатки использования DTD

Он не поддерживает пространства имен. Пространство имен — это механизм, с помощью которого имена элементов и атрибутов могут быть назначены группам. Однако в DTD пространства имен должны быть определены внутри DTD, что нарушает цель использования пространств имен.

Поддерживается только тип данных текстовой строки.

Это не объектно-ориентированный. Следовательно, концепция наследования не может быть применена к DTD.

Ограниченные возможности выразить мощность элементов.

Он не поддерживает пространства имен. Пространство имен — это механизм, с помощью которого имена элементов и атрибутов могут быть назначены группам. Однако в DTD пространства имен должны быть определены внутри DTD, что нарушает цель использования пространств имен.

Поддерживается только тип данных текстовой строки.

Это не объектно-ориентированный. Следовательно, концепция наследования не может быть применена к DTD.

Ограниченные возможности выразить мощность элементов.

DTD — Синтаксис

XML DTD может быть либо указан внутри документа, либо его можно сохранить в отдельном документе, а затем документ можно связать с документом DTD для его использования.

Синтаксис

Основной синтаксис DTD выглядит следующим образом —

В приведенном выше синтаксисе —

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

DTD-идентификатор — это идентификатор для определения типа документа, который может быть путем к файлу в системе или URL-адресом к файлу в Интернете. Если DTD указывает на внешний путь, он называется внешним подмножеством.

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

DTD-идентификатор — это идентификатор для определения типа документа, который может быть путем к файлу в системе или URL-адресом к файлу в Интернете. Если DTD указывает на внешний путь, он называется внешним подмножеством.

Внутренний DTD

Синтаксис

Синтаксис внутреннего DTD выглядит так:

где root-element — это имя корневого элемента, а element-объявлений — это место, где вы объявляете элементы.

пример

Ниже приведен простой пример внутреннего DTD —

Давайте пройдемся по приведенному выше коду —

Начать декларацию — Начните декларацию XML со следующего заявления.

Объявление DOCTYPE имеет восклицательный знак (!) В начале имени элемента. DOCTYPE сообщает анализатору, что DTD связан с этим документом XML.

Тело DTD — за объявлением DOCTYPE следует тело DTD, где вы объявляете элементы, атрибуты, сущности и нотации —

Завершение объявления — Наконец, раздел объявления DTD закрывается с помощью закрывающей скобки и закрывающей угловой скобки (]>). Это эффективно завершает определение, и после этого документ XML следует сразу же.

правила

Объявление типа документа должно появляться в начале документа (с предшествующим только заголовком XML) — оно не разрешено где-либо еще в документе.

Подобно объявлению DOCTYPE, объявления элементов должны начинаться с восклицательного знака.

Имя в объявлении типа документа должно соответствовать типу элемента корневого элемента.

Объявление типа документа должно появляться в начале документа (с предшествующим только заголовком XML) — оно не разрешено где-либо еще в документе.

Подобно объявлению DOCTYPE, объявления элементов должны начинаться с восклицательного знака.

Читайте также:  что делать если желтеет пихта

Имя в объявлении типа документа должно соответствовать типу элемента корневого элемента.

Внешний DTD

Синтаксис

Ниже приводится синтаксис для внешнего DTD —

пример

В следующем примере показано использование внешнего DTD —

Содержимое файла DTD address.dtd выглядит так:

Системный идентификатор позволяет указать местоположение внешнего файла, содержащего объявления DTD. Синтаксис выглядит следующим образом —

Как вы можете видеть, он содержит ключевое слово SYSTEM и ссылку URI, указывающую на местоположение документа.

Публичные идентификаторы предоставляют механизм для определения местоположения ресурсов DTD и записываются следующим образом:

Как видите, он начинается с ключевого слова PUBLIC, за которым следует специальный идентификатор. Публичные идентификаторы используются для идентификации записи в каталоге. Публичные идентификаторы могут следовать любому формату, однако обычно используемый формат называется формальными общедоступными идентификаторами или FPI.

DTD — Компоненты

В этой главе мы обсудим компоненты XML с точки зрения DTD. DTD будет в основном содержать объявления следующих компонентов XML:

элементы

Элементы XML могут быть определены как строительные блоки документа XML. Элементы могут вести себя как контейнер для хранения текста, элементов, атрибутов, объектов мультимедиа или их комбинации.

Каждый документ XML содержит один или несколько элементов, границы которых либо ограничены начальными и конечными тегами, либо пустыми элементами.

пример

Ниже приведен простой пример элементов XML

Атрибуты

пример

Ниже приведен простой пример атрибутов XML —

Если атрибуты используются в XML DTD, их необходимо объявить, что будет подробно обсуждаться в главе Атрибуты DTD.

юридические лица

Сущности являются заполнителями в XML. Они могут быть объявлены в прологе документа или в DTD. Объекты могут быть в первую очередь классифицированы как —

Есть пять встроенных сущностей, которые играют в правильно сформированном XML, они —

Мы подробнее рассмотрим объявления сущностей в XML DTD в главе DTD Entities

DTD — Элементы

Элементы XML могут быть определены как строительные блоки документа XML. Элементы могут вести себя как контейнер для хранения текста, элементов, атрибутов, объектов мультимедиа или их комбинации.

Элемент DTD объявляется с объявлением ELEMENT. Когда файл XML проверяется DTD, анализатор сначала проверяет корневой элемент, а затем проверяются дочерние элементы.

Синтаксис

Все объявления элементов DTD имеют эту общую форму —

Объявление ELEMENT используется для указания синтаксического анализатора, который вы собираетесь определить элемент.

elementname — это имя элемента (также называемое универсальным идентификатором ), которое вы определяете.

content определяет, какой контент (если есть) может идти внутри элемента.

Объявление ELEMENT используется для указания синтаксического анализатора, который вы собираетесь определить элемент.

elementname — это имя элемента (также называемое универсальным идентификатором ), которое вы определяете.

content определяет, какой контент (если есть) может идти внутри элемента.

Типы содержимого элемента

Содержимое объявления элементов в DTD можно классифицировать следующим образом:

Пустой контент

Ниже приводится синтаксис объявления пустого элемента —

В приведенном выше синтаксисе —

ELEMENT — объявление элемента категории EMPTY

elementname — имя пустого элемента.

ELEMENT — объявление элемента категории EMPTY

elementname — имя пустого элемента.

Ниже приведен простой пример, демонстрирующий объявление пустого элемента —

Элемент Содержимое

В объявлении элемента с содержимым элемента содержимое будет допустимым элементом в скобках. Мы также можем включить более одного элемента.

Ниже приведен синтаксис объявления элемента с содержимым элемента:

ELEMENT — тег объявления элемента

elementname — это имя элемента.

ELEMENT — тег объявления элемента

elementname — это имя элемента.

Ниже приведен простой пример объявления элемента с содержимым элемента —

Список операторов и синтаксических правил

Ниже в таблице приведен список операторов и синтаксических правил, которые можно применять при определении дочерних элементов.

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

Имя дочернего элемента может встречаться ноль или более раз внутри адреса имени элемента.

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

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

Имя дочернего элемента может встречаться ноль или более раз внутри адреса имени элемента.

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

правила

Мы должны следовать определенным правилам, если есть более одного элемента контента —

Последовательности — часто элементы в документах DTD должны отображаться в определенном порядке. Если это так, вы определяете содержимое с помощью последовательности.

— и что они должны появляться в этом порядке. Например —

Последовательности — часто элементы в документах DTD должны отображаться в определенном порядке. Если это так, вы определяете содержимое с помощью последовательности.

— и что они должны появляться в этом порядке. Например —

Выбор. Предположим, вам нужно разрешить один или другой элемент, но не оба. В таких случаях вы должны использовать символ трубы (|). Труба функционирует как эксклюзивное ИЛИ. Например —

Выбор. Предположим, вам нужно разрешить один или другой элемент, но не оба. В таких случаях вы должны использовать символ трубы (|). Труба функционирует как эксклюзивное ИЛИ. Например —

Содержание смешанного элемента

Это комбинация (#PCDATA) и дочерних элементов. PCDATA обозначает проанализированные символьные данные, то есть текст, который не является разметкой. В моделях со смешанным содержимым текст может появляться сам по себе или между элементами. Правила для моделей со смешанным содержимым аналогичны элементам содержимого, как обсуждалось в предыдущем разделе.

Ниже приведен общий синтаксис для содержимого смешанных элементов:

ELEMENT — тег объявления элемента.

elementname — это имя элемента.

PCDATA — это текст, который не является разметкой. #PCDATA должен стоять первым в объявлении смешанного содержимого.

Оператор (*) должен следовать за смешанным объявлением контента, если включены дочерние элементы

Объявления (#PCDATA) и дочерних элементов должны быть разделены оператором (|).

ELEMENT — тег объявления элемента.

elementname — это имя элемента.

PCDATA — это текст, который не является разметкой. #PCDATA должен стоять первым в объявлении смешанного содержимого.

Оператор (*) должен следовать за смешанным объявлением контента, если включены дочерние элементы

Объявления (#PCDATA) и дочерних элементов должны быть разделены оператором (|).

Ниже приведен простой пример, демонстрирующий объявление смешанного элемента содержимого в DTD.

ЛЮБОЙ элемент контента

Вы можете объявить элемент, используя ключевое слово ANY в содержимом. Это чаще всего упоминается как элемент смешанной категории. ЛЮБОЙ полезно, когда вам еще предстоит определить допустимое содержимое элемента.

Ниже приведен синтаксис объявления элементов с ЛЮБЫМ контентом:

Ниже приведен простой пример, демонстрирующий объявление элемента с ЛЮБОЙ информацией.

DTD — Атрибуты

В этой главе мы обсудим атрибуты DTD. Атрибут дает больше информации об элементе или, точнее, он определяет свойство элемента. Атрибут XML всегда находится в форме пары имя-значение. Элемент может иметь любое количество уникальных атрибутов.

Объявление атрибута очень похоже на объявление элемента во многих отношениях, кроме одного; вместо того, чтобы объявлять допустимый контент для элементов, вы объявляете список допустимых атрибутов для каждого элемента. Эти списки называются декларацией ATTLIST.

Синтаксис

Основной синтаксис объявления атрибутов DTD следующий:

В приведенном выше синтаксисе —

Атрибуты DTD начинаются с ключевого слова

element-name указывает имя элемента, к которому применяется атрибут.

имя-атрибута указывает имя атрибута, который включен в имя-элемента.

attribute-type определяет тип атрибутов. Мы обсудим это подробнее в следующих разделах.

Значение атрибута принимает фиксированное значение, которое атрибуты должны определить. Мы обсудим это подробнее в следующих разделах.

Атрибуты DTD начинаются с ключевого слова

element-name указывает имя элемента, к которому применяется атрибут.

имя-атрибута указывает имя атрибута, который включен в имя-элемента.

attribute-type определяет тип атрибутов. Мы обсудим это подробнее в следующих разделах.

Значение атрибута принимает фиксированное значение, которое атрибуты должны определить. Мы обсудим это подробнее в следующих разделах.

пример

Ниже приведен простой пример объявления атрибута в DTD.

Давайте пройдемся по приведенному выше коду —

Начните с объявления XML со следующего утверждения —

Начните с объявления XML со следующего утверждения —

Сразу за заголовком XML следует объявление типа документа, обычно называемое DOCTYPE, как показано ниже —

DOCTYPE сообщает анализатору, что DTD связан с этим документом XML. Объявление DOCTYPE имеет восклицательный знак (!) В начале имени элемента.

Сразу за заголовком XML следует объявление типа документа, обычно называемое DOCTYPE, как показано ниже —

DOCTYPE сообщает анализатору, что DTD связан с этим документом XML. Объявление DOCTYPE имеет восклицательный знак (!) В начале имени элемента.

Ниже приводится тело DTD. Здесь мы объявили элемент и атрибут —

Ниже приводится тело DTD. Здесь мы объявили элемент и атрибут —

Идентификатор атрибута для имени элемента определен как дано ниже —

Идентификатор атрибута для имени элемента определен как дано ниже —

Правила декларации атрибута

Все атрибуты, используемые в документе XML, должны быть объявлены в определении типа документа (DTD) с использованием объявления списка атрибутов.

Атрибуты могут появляться только в начальных или пустых тегах.

Ключевое слово ATTLIST должно быть в верхнем регистре

Повторные имена атрибутов не будут разрешены в списке атрибутов для данного элемента.

Все атрибуты, используемые в документе XML, должны быть объявлены в определении типа документа (DTD) с использованием объявления списка атрибутов.

Атрибуты могут появляться только в начальных или пустых тегах.

Ключевое слово ATTLIST должно быть в верхнем регистре

Повторные имена атрибутов не будут разрешены в списке атрибутов для данного элемента.

Типы атрибутов

При объявлении атрибутов вы можете указать, как процессор должен обрабатывать данные, которые появляются в значении. Мы можем классифицировать типы атрибутов в трех основных категориях —

В следующей таблице приведена сводка различных типов атрибутов.

оператор Синтаксис Описание пример
+ Это указывает на то, что дочерний элемент может встречаться один или несколько раз внутри родительского элемента.
* Это указывает, что дочерний элемент может встречаться ноль или более раз внутри родительского элемента.
? Это указывает на то, что дочерний элемент может появляться ноль или один раз внутри родительского элемента.
, Это дает последовательность дочерних элементов, разделенных запятой, которая должна быть включена в имя элемента.

Объявление значения атрибута

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

может иметь значение по умолчанию

может иметь фиксированное значение

может иметь значение по умолчанию

может иметь фиксированное значение

Значения по умолчанию

Содержит значение по умолчанию. Значения могут быть заключены в одинарные кавычки (‘) или двойные кавычки («).

Ниже приводится синтаксис значения —

где default-value — это определенное значение атрибута.

Ниже приведен простой пример объявления атрибута со значением по умолчанию —

ИСПРАВЛЕНО Значения

Ключевое слово #FIXED, за которым следует фиксированное значение, используется, когда вы хотите указать, что значение атрибута является постоянным и не может быть изменено. Обычное использование фиксированных атрибутов — указание номеров версий.

Ниже приводится синтаксис фиксированных значений —

где #FIXED — определенное значение атрибута.

Ниже приведен простой пример объявления атрибута со значением FIXED —

Следующее является недействительным DTD —

ТРЕБУЕМЫЕ ЦЕННОСТИ

Всякий раз, когда вы хотите указать, что атрибут является обязательным, используйте ключевое слово #REQUIRED.

Ниже приведен синтаксис #REQUIRED —

где #REQUIRED — это определенный тип атрибута.

Ниже приведен простой пример объявления атрибута DTD с ключевым словом #REQUIRED —

В этом примере мы использовали ключевое слово #REQUIRED, чтобы указать, что для имени элемента должен быть указан идентификатор атрибута.

ПОДРАЗУМЕВАЕМЫЕ ЦЕННОСТИ

Ниже приводится синтаксис #IMPLIED —

где #IMPLIED — это определенный тип атрибута.

Ниже приведен простой пример # ПРЕДПОЛАГАЕТСЯ

В этом примере мы использовали ключевое слово #IMPLIED, поскольку мы не хотим указывать какие-либо атрибуты, которые будут включены в имя элемента. Это необязательно.

DTD — Сущности

Объекты используются для определения ярлыков для специальных символов в документах XML. Объекты могут быть в основном четырех типов —

Синтаксис декларации объекта

Внутренняя сущность

Если объект объявлен в DTD, он называется внутренним объектом.

Ниже приводится синтаксис объявления внутренней сущности:

В приведенном выше синтаксисе —

entity_name — это имя объекта, за которым следует его значение в двойных или одинарных кавычках.

entity_value содержит значение для имени объекта.

Значение сущности Внутреннего Сущности отменяется путем добавления префикса & к имени сущности, т. Е. & Entity_name.

entity_name — это имя объекта, за которым следует его значение в двойных или одинарных кавычках.

entity_value содержит значение для имени объекта.

Значение сущности Внутреннего Сущности отменяется путем добавления префикса & к имени сущности, т. Е. & Entity_name.

Ниже приведен простой пример для объявления внутренней сущности:

Внешняя сущность

Если объект объявляется вне DTD, он называется внешним объектом. Вы можете ссылаться на внешнюю сущность, используя системные идентификаторы или открытые идентификаторы.

Ниже приведен синтаксис объявления внешнего объекта:

В приведенном выше синтаксисе —

имя это имя объекта.

СИСТЕМА это ключевое слово.

URI / URL — это адрес внешнего источника, заключенный в двойные или одинарные кавычки.

имя это имя объекта.

СИСТЕМА это ключевое слово.

URI / URL — это адрес внешнего источника, заключенный в двойные или одинарные кавычки.

Вы можете обратиться к внешнему DTD, используя —

Как вы можете видеть, он содержит ключевое слово SYSTEM и ссылку URI, указывающую на местоположение документа. Синтаксис выглядит следующим образом —

Как вы можете видеть, он содержит ключевое слово SYSTEM и ссылку URI, указывающую на местоположение документа. Синтаксис выглядит следующим образом —

Публичные идентификаторы — Публичные идентификаторы предоставляют механизм для определения местоположения ресурсов DTD и записываются, как показано ниже:

Как видите, он начинается с ключевого слова PUBLIC, за которым следует специальный идентификатор. Публичные идентификаторы используются для идентификации записи в каталоге. Публичные идентификаторы могут иметь любой формат; однако обычно используемый формат называется формальными общедоступными идентификаторами или FPI.

Публичные идентификаторы — Публичные идентификаторы предоставляют механизм для определения местоположения ресурсов DTD и записываются, как показано ниже:

Как видите, он начинается с ключевого слова PUBLIC, за которым следует специальный идентификатор. Публичные идентификаторы используются для идентификации записи в каталоге. Публичные идентификаторы могут иметь любой формат; однако обычно используемый формат называется формальными общедоступными идентификаторами или FPI.

Давайте поймем внешнюю сущность со следующим примером —

Ниже приводится содержимое файла DTD address.dtd

Встроенные объекты

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

Есть пять встроенных сущностей, которые играют свою роль в правильно сформированном XML, они —

Источник

Читайте также:  что делает повар когда у него нет продуктов 100 к 1 ответ
Сказочный портал
Sr.No. Тип и описание
1