- •ЯЗЫКИ ОПИСАНИЯ СХЕМ
- •DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ ТИПОВ С ПЕРЕЧИСЛЕНИЕМ
- •ОПРЕДЕЛЕНИЕ DTD
- •DTD: МОДЕЛИ СОДЕРЖИМОГО ЭЛЕМЕНТОВ
- •DTD: СИНТАКСИС ОБЪЯВЛЕНИЯ ЭЛЕМЕНТОВ
- •DTD: СИНТАКСИС ОБЪЯВЛЕНИЯ АТРИБУТОВ
- •DTD: ФУНДАМЕНТАЛЬНЫЕ ТИПЫ АТРИБУТОВ
- •DTD: ВИДЫ МОДАЛЬНОСТИ ДЛЯ ЗНАЧЕНИЙ
- •DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ СТРОКОВОГО ТИПА
- •DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ МАРКИРОВАННЫХ ТИПОВ
- •DTD: ИНДИКАТОРЫ ВХОЖДЕНИЯ И ОБЪЯВЛЕНИЯ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
- •DTD: ВНУТРЕННЯЯ СХЕМА VS. ВНЕШНЯЯ СХЕМА
- •НЕДОСТАТКИ DTD СХЕМ
- •ОПРЕДЕЛЕНИЕ XDR
- •ОБЪЯВЛЕНИЯ ЭЛЕМЕНТОВ И АТРИБУТОВ XDR
- •XDR: СТАНДАРТНЫЕ АТРИБУТЫ ЭЛЕМЕНТА
- •Значение
- •XDR: АТРИБУТЫ ЭЛЕМЕНТА
- •XDR: ТИПЫ ДАННЫХ
- •XDR: ИНДИКАТОРЫ ВХОЖДЕНИЯ В
- •XDR: ОПРЕДЕЛЕНИЕ ГРУПП СОДЕРЖАНИЯ
ЯЗЫКИ ОПИСАНИЯ СХЕМ
DTD (Document Type Definition) - язык определения типа документов
XDR (XML Data Reduced) – диалект XML, разработанный Microsoft
XSD (язык определения схем XML) – консорциум W3C
ОПРЕДЕЛЕНИЕ DTD
DTD (Document Type Definition) – язык определения типа документа.
Подход, унаследованный от SGML.
Схема DTD предоставляет шаблон разметки документа, в котором указываются наличие, порядок следования и расположение элементов и их атрибутов в документе XML.
DTD: МОДЕЛИ СОДЕРЖИМОГО ЭЛЕМЕНТОВ
Элементы
|
|
|
|
|
|
|
|
|
Пустые |
|
Контейнер |
||||||
|
|
|
|
|
ы |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
с о д е р ж а т |
|||
|
|
|
|
|
|
|||
Данны |
Дочерние |
|
Данные |
|||||
|
е |
|
элементы |
|
+ |
|||
|
|
|
|
|
дочерние |
|||
|
|
|
||||||
|
|
|
|
|
|
|
элементы |
|
DTD: СИНТАКСИС ОБЪЯВЛЕНИЯ ЭЛЕМЕНТОВ
Содержание |
Синтаксис |
Комментарий |
|
|
|
Данные |
<!ELEMENT имя |
Содержит только |
|
(#PCDATA)> |
текстовые данные |
Другие элементы |
<!ELEMENT имя |
Содержит только |
|
(дочерний элемент 1, |
дочерние элементы |
|
дочерний элемент 2)> |
|
Смешанное |
<!ELEMENT имя |
Содержит комбинацию |
|
(#PCDATA, дочерний |
текстовых данных и |
|
элемент)*> |
дочерних элементов |
|
|
|
EMPTY |
<!ELEMENT имя |
Ничего не содержит |
|
EMPTY> |
|
ANY |
<!ELEMENT имя ANY> |
Может содержать |
|
|
текстовые данные или |
|
|
дочерние элементы |
DTD: СИНТАКСИС ОБЪЯВЛЕНИЯ АТРИБУТОВ
<!ATTList
имя_элемента имя_атрибута1 (тип) значение_по_умолчанию
имя_элемента имя_атрибута2 (тип) значение_по_умолчанию >
DTD: ФУНДАМЕНТАЛЬНЫЕ ТИПЫ АТРИБУТОВ
Строки
Маркированные атрибуты
Атрибуты с перечислением
DTD: ВИДЫ МОДАЛЬНОСТИ ДЛЯ ЗНАЧЕНИЙ
АТРИБУТОВ
Значение |
Комментарий |
|
|
|
|
#REQUIRED |
Атрибут обязательно должен |
|
быть указан |
||
|
||
|
|
|
#FIXED |
Значение атрибута не |
|
должно отличаться от |
||
|
указанного |
|
#IMPLIED |
Необязательное значение |
|
|
|
DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ СТРОКОВОГО ТИПА
Пример:
<!ATTLIST message
number CDATA #REQUIRED date CDATA #REQUIRED from CDATA #FIXED
status CDATA #IMPLIED>
DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ МАРКИРОВАННЫХ ТИПОВ
Маркированные типы атрибутов:
Значение |
Комментарий |
|
ID |
Уникальный идентификатор |
|
элемента (начинается с буквы, |
||
|
двоеточия или подчеркивания) |
|
IDREF |
Ссылка на элемент, содержащий |
|
атрибуты ID |
||
|
||
ENTITIES |
Ссылка на внешний элемент |
|
NMTOKEN |
Содержит буквы , цифры , точки , |
|
знаки подчеркивания , переносы , |
||
|
двоеточия , но не пробелы |
DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ ТИПОВ С ПЕРЕЧИСЛЕНИЕМ
Пример:
<!ATTLIST message |
|
|
number |
ID |
#REQUIRED |
from |
CDATA |
#REQUIRED |
alert |
(low | normal | urgent) |
|
“normal”> |
|
|
