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

XML DTD и Пространства имён

Цели занятия

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

Создание определений DTD

Объявление элемента (Element)

Объявление атрибутов (attributes)

Объяснить использование DTD

Понимание пространств имён

Использование пространств имён

Примеры использования пространств имён

документа – Document Type Definition

Это свойство языка SGML, которое унаследовал язык XML

Содержит список тэгов, допустимых в документе XML, а также определяет грамматическую структуру документа XML

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

Документы XML, основанные на DTD, будут содержать декларацию (объявление) <!DOCTYPE>, которая содержит объявление DTD, или определяет местонахождение внешнего DTD.

DTD бывают двух типов

Внешние DTD

Внутренние DTD

Зачем использовать DTD

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

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

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

Определяет корректные структурные блоки для создания документа XML

Структура DTD

 

Объявление DOCTYPE

 

 

 

 

 

<!DOCTYPE dtd-name

 

 

 

 

 

 

 

 

 

 

 

 

 

[

 

 

 

 

 

 

 

Объявление ЭЛЕМЕНТА

 

 

 

<!ELEMENT element-name

 

 

 

 

 

 

 

 

 

(element-content type) >

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Объявление АТРИБУТА

 

 

 

<!ATTLIST element-name

 

 

 

 

 

 

 

 

 

attribute-name attribute-type

 

 

 

 

 

 

 

 

 

 

 

 

 

 

default-value>

 

 

 

 

 

 

 

]>

 

 

 

 

 

 

 

 

Объявление Элемента

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

Синтаксис

<!ELEMENT element-name (element-content type)>

Пример

<!ELEMENT SHOWROOM

(TV|LAPTOP)+>

Пустой элемент

Пустой (EMPTY) элемент-тип содержимого определяет, что данный элемент не имеет ни элементов потомков, ни символьных данных.

Ключевое слово EMPTY задаётся в круглых скобках

Синтаксис

<!ELEMENT element-name (EMPTY)>

Пример

<!ELEMENT img (EMPTY)>

Пустые элементы могут иметь атрибуты

<img src=“Tittle.gif”></img>

Элементы с данными

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

Тип данных указывается в круглых скобках

Синтаксис

<!ELEMENT element-name (#CDATA)>

или

<!ELEMENT element-name (#PCDATA)>

или

<!ELEMENT element-name (ANY)>

#CDATA означает, что этот элемент содержит символьные данные, которые не обрабатываются синтаксическим анализатором

#PCDATA означает, что элемент содержит данные, которые должны быть обработаны синтаксическим анализатором

Ключевое слово ANY объявляет элемент с произвольным содержимым

Элементы

сэлементами-потомками

Элементы с одним или несколькими элементами потомками записываются с указанием имён потомков в круглых скобках

Синтаксис

<!ELEMENT element-name (child-element-name)>

или

<!ELEMENT element-name (child-element-name, child- element-name,.....)>

Элементы потомки объявляются в последовательном списке, разделённом запятыми

Пример

<!ELEMENT note (to, from, heading, body)>

<!ELEMENT

to

(#CDATA)>

<!ELEMENT

from

(#CDATA)>

<!ELEMENT

heading (#CDATA)>

<!ELEMENT

body

(#CDATA)>

соответствии с частотой появления элементов

Единственное вхождение

<!ELEMENT element-name (child-name)>

Нуль и более вхождений

<!ELEMENT element-name (child-name*)>

Частота появления элемента

Как минимум одно вхождение

<!ELEMENT element-name (child-name+)>

Нуль или одно вхождение

<!ELEMENT element-name (child-name?)>