Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
XML.docx
Скачиваний:
10
Добавлен:
17.11.2018
Размер:
55.28 Кб
Скачать

Форма записи dtd

Объявление типа документа имеет следующую обобщенную форму записи:

<!DOCTYPE Имя DTD>

Здесь Имя указывает на имя элемента Документ. Имя действительного элемента Документ должно в точности соответствовать имени, записанному в объявлении.

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

Создание dtd

DTD состоит из символа левой квадратной скобки ([), после которой следует ряд объявлений разметки, заканчивающихся правой квадратной скобкой (]). Объявления разметки описывают логическую структуру документа; т.е. задают элементы документа, атрибуты и другие компоненты. На рисунке 5.2 приведен законченный валидный XML-документ, содержащий DTD с единственным объявлением разметки, которое определяет один тип элемента в документе, SIMPLE.

Рис. 5.2. 

DTD в этом примере документа указывает, что документ может содержать только элементы типа SIMPLE (это единственный заданный тип элемента), и что элемент SIMPLE может иметь любое допустимое для данного типа содержимое (ключевое слово ANY).

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

  • Объявления типов элементов. Они определяют типы элементов, которые может содержать документ, а также содержимое и порядок следования элементов.

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

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

  • Объявления нотаций. Нотация описывает формат данных или идентифицирует программу, используемую для обработки определенного формата.

  • Инструкции по обработке. Эта тема затрагивалась в разделе "Использование инструкций по обработке" в лекции 4.

  • Комментарии. О них говорилось в разделе "Добавление комментариев" в лекции 4.

  • Ссылки на параметрические примитивы. Любой из приведенных выше компонентов может содержаться внутри параметрического примитива и добавляться путем ссылки на параметрический примитив.

Форма записи объявления типа элемента

Объявление типа элемента имеет следующую обобщенную форму:

<!ELEMENT Имя опись_содержимого>

Здесь Имя есть имя объявляемого типа элемента. (Свод правил по правильному заданию имен элементов приведен в разделе "Анатомия элемента" в лекции 3.) опись_содержимого – это описание содержимого, которое определяет, что может содержать элемент. В следующем разделе приведены различные типы описаний содержимого, которые вы можете использовать.

Ниже приведено объявление типа элемента с именем TITLE, для содержимого которого могут использоваться только символьные данные (дочерние элементы не допускаются):

<!ELEMENT TITLE (#PCDATA)>

А вот объявление для типа элемента с именем GENERAL, содержимое которого может быть любым:

<!ELEMENT GENERAL ANY>

Вы можете описать содержимое элемента – т.е. заполнить часть опись_содержимого в объявлении типа элемента – четырьмя различными способами.

  • Пустое содержимое (EMPTY). Ключевое слово EMPTY указывает, что элемент должен быть пустым – т.е. не может иметь содержимого. Например:

<!ELEMENT IMAGE EMPTY>

Ниже приведены валидные элементы IMAGE, которые вы можете поместить в документ:

<IMAGE></IMAGE>

<IMAGE />

  • Любое содержимое (ANY). Ключевое слово ANY указывает, что элемент может иметь любое допустимое для этого типа содержимое. То есть элемент этого типа может содержать или не содержать дочерние элементы в любом порядке и с любым количеством вхождений, иметь или не иметь чередующиеся символьные данные. Это наиболее неопределенный тип описания содержимого и дает возможность создавать типы элементов без ограничений на их содержимое. Вот пример соответствующего объявления:

<!ELEMENT MISC ANY>

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]