Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_XML.doc
Скачиваний:
16
Добавлен:
03.05.2019
Размер:
3.94 Mб
Скачать

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

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

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

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

Здесь “Имя” есть имя объявляемого типа элемента. “Опись_содержимого” - это описание содержимого, которое определяет, что может содержать элемент. В следующем разделе приведены различные типы описаний содержимого, которые можно использовать. Ниже приведено объявление типа элемента с именем TITLE, для содержимого которого могут использоваться только символьные данные (дочерние элементы не допускаются):

<!ELEMENT TITLE (#PCDATA)>

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

<!ELEMENT GENERAL ANY>

В качестве последнего примера рассмотрим законченный XML-документ с двумя типами элементов. Объявление типа элемента COLLECTION указывает, что он может содержать один или несколько элементов CD, a объявление типа элемента CD указывает, что он может содержать только символьные данные. Заметим, что документ соответствует этим объявлениям, и, следовательно, является валидным:

<?xml version="1.0"?>

<!DOCTYPE COLLECTION

[

<!ELEMENT COLLECTION (CD)+>

<!ELEMENT CD (#PCDATA)>

<!-- Вы также можете включать комментарии в DTD. -->

]

>

<COLLECTION>

<CD>Концерты для скрипки Моцарта</CD>

<CD>Балет ”Лебединое озеро” Чайковского</CD>

<CD>”Лунная соната” Бетховена</CD>

</COLLECTION>

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

3.6. Описание содержимого элемента

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

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

<!ELEMENT IMAGE EMPTY>

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

<IMAGE></IMAGE>

<IMAGE />

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

<!ELEMENT MISC ANY>

  • Содержимое элемента (также называемое дочернее содержимое). При таком описании типа содержимого элемент может содержать дочерние элементы, но не может непосредственно содержать символьные данные.

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