- •ЯЗЫКИ ОПИСАНИЯ СХЕМ
- •DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ ТИПОВ С ПЕРЕЧИСЛЕНИЕМ
- •ОПРЕДЕЛЕНИЕ DTD
- •DTD: МОДЕЛИ СОДЕРЖИМОГО ЭЛЕМЕНТОВ
- •DTD: СИНТАКСИС ОБЪЯВЛЕНИЯ ЭЛЕМЕНТОВ
- •DTD: СИНТАКСИС ОБЪЯВЛЕНИЯ АТРИБУТОВ
- •DTD: ФУНДАМЕНТАЛЬНЫЕ ТИПЫ АТРИБУТОВ
- •DTD: ВИДЫ МОДАЛЬНОСТИ ДЛЯ ЗНАЧЕНИЙ
- •DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ СТРОКОВОГО ТИПА
- •DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ МАРКИРОВАННЫХ ТИПОВ
- •DTD: ИНДИКАТОРЫ ВХОЖДЕНИЯ И ОБЪЯВЛЕНИЯ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
- •DTD: ВНУТРЕННЯЯ СХЕМА VS. ВНЕШНЯЯ СХЕМА
- •НЕДОСТАТКИ DTD СХЕМ
- •ОПРЕДЕЛЕНИЕ XDR
- •ОБЪЯВЛЕНИЯ ЭЛЕМЕНТОВ И АТРИБУТОВ XDR
- •XDR: СТАНДАРТНЫЕ АТРИБУТЫ ЭЛЕМЕНТА
- •Значение
- •XDR: АТРИБУТЫ ЭЛЕМЕНТА
- •XDR: ТИПЫ ДАННЫХ
- •XDR: ИНДИКАТОРЫ ВХОЖДЕНИЯ В
- •XDR: ОПРЕДЕЛЕНИЕ ГРУПП СОДЕРЖАНИЯ
DTD: ИНДИКАТОРЫ ВХОЖДЕНИЯ И ОБЪЯВЛЕНИЯ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
Символ |
Пример |
Комментарий |
|
|
|
, |
(a, b, c) |
Последовательное |
|
|
использование |
|
|
элементов списка |
|(a | b | c) Используется один из
|
членов списка |
date |
Используется один и |
|
только один элемент |
?subject? Необязательное
|
|
использование (0 или 1 |
|
|
раз) |
+ |
paragraph+ |
Используется один или |
|
|
несколько раз |
* |
brother* |
Используется ноль или |
|
|
несколько раз |
DTD: ВНУТРЕННЯЯ СХЕМА VS. ВНЕШНЯЯ СХЕМА
Объявление внутренней схемы:
<!DOCTYPE корневой_элемент [
<!ELEMENT корневой_элемент (модель содержания)>
]>
Объявление внешней схемы:
<!DOCTYPE корневой_элемент SYSTEM “name.DTD”>
НЕДОСТАТКИ DTD СХЕМ
Не являются экземплярами XML. Требуется изучение совершенно другого языка.
Не предоставляют контроль за типами данных, за исключением самых простых текстовых данных.
Не являются экземплярами XML, поэтому их нельзя легко расширить или преобразовать к другим языкам разметки – HTML или DHTML.
Не обеспечивают поддержки пространств имен XML.
ОПРЕДЕЛЕНИЕ XDR
XDR = XML-Data Reduced
XML-Data – полное имя языка описания схем, предложенного Microsoft, XML-Data Reduced – это “часть” полной рекомендации.
Схема XDR - это экземпляр XML, т.е. соответствует всем синтаксическим правилам и стандартам XML.
Реализуя проверки данных на уровне документа с помощью схемы, приложения, генерирующие и принимающие транзакции, можно оптимизировать для обеспечения максимального быстродействия. Соответствие полей и правильность записей проверяются на уровне экземпляров XML.
ОБЪЯВЛЕНИЯ ЭЛЕМЕНТОВ И АТРИБУТОВ XDR
Корневым элементом в схеме XDR всегда является элемент Schema: <Schema
name=“имя_схемы” xmlns=”urn:schemas-microsoft-com:xml-data” xmlns:dt=“urn:schemas-microsoft-com:datatypes”>
<-- Объявления других элементов --> </Schema>
Элемент ElementType имеет синтаксис: <ElementType
content=“{empty | texOnly | eltOnly | mixed}”> dt:type “datatype”
model=“{open | closed}” name = “idref” order=“{one | seq | many}”
>
XDR: СТАНДАРТНЫЕ АТРИБУТЫ ЭЛЕМЕНТА
ELEMENTTYPE
Имя |
Комментарий |
|
атрибута |
||
|
||
|
|
|
name |
Имя элемента |
|
content |
Содержание элемента. Допустимые значения: empty (пустой элемент), |
|
eltOnly (может быть только контейнером для других элементов), textOnly |
||
|
(только текстовые данные), mixed (смешанные данные). |
|
dt:type |
Тип данных элемента |
|
model |
Может принимать значения: |
|
Open – разрешено использовать элементы, не определенные в схеме |
||
|
Closed – запрещено использовать элементы, не определенные в схеме |
|
|
Порядок следования дочерних элементов в экземпляре XML. |
|
order |
Допустимые значения: |
|
one – предполагается наличие одного документа |
||
|
many – любое количество элементов в любом порядке |
|
|
seq – элементы указываются в строго заданном порядке. |
Имя |
Комментарий |
|
элемента |
||
|
||
element |
Объявляет дочерний элемент |
|
description |
Обеспечивает описание элемента ElementType |
|
datatype |
Обеспечивает тип данных элемента ElementType |
|
group |
Определяет порядок следования элементов |
|
AttributeType |
Определяет атрибут |
|
attribute |
Определяет сведения о дочернем элементе AttributeType |
<AttributeType default=“default-value” dt:type=“primitive-type” dt:values=“enumerated-values” name=“idref” required=“{yes|no}”
>
Значение |
Комментарий |
|
default |
Значение по умолчанию |
|
dt:type |
Один из следующих типов: |
|
entity, entities, enumeration, id, idref , nmtoken, |
||
|
nmtokens, notation, string |
|
dt:values |
Допустимые значения |
|
name |
Имя атрибута |
|
required |
Указывает на обязательное наличие атрибута в |
|
описании |
||
|
<attribute default=“default-value” type=“attribute-type” [required=“{yes|no}”
]>
