Similar presentations:
Лекция 10
1.
ЛЕКЦИЯ 10. ЯЗЫКИ ОПИСАНИЯ СХЕМXML
2. ЯЗЫКИ ОПИСАНИЯ СХЕМ
(Document Type Definition) - языкопределения типа документов
XDR (XML Data Reduced) – диалект XML,
разработанный Microsoft
XSD
(язык определения схем XML) –
консорциум W3C
DTD
3. ОПРЕДЕЛЕНИЕ DTD
DTD(Document Type Definition) – язык
определения типа документа.
Подход, унаследованный от SGML.
Схема DTD предоставляет шаблон разметки
документа, в котором указываются наличие,
порядок
следования
и
расположение
элементов и их атрибутов в документе XML.
4. DTD: МОДЕЛИ СОДЕРЖИМОГО ЭЛЕМЕНТОВ
ЭлементыПустые
Контейнеры
с о д е р ж а т
Данные
Дочерние
элементы
Данные
+
дочерние
элементы
5. DTD: СИНТАКСИС ОБЪЯВЛЕНИЯ ЭЛЕМЕНТОВ
СодержаниеСинтаксис
Комментарий
Данные
<!ELEMENT имя
(#PCDATA)>
Содержит только
текстовые данные
Другие элементы
<!ELEMENT имя
(дочерний элемент 1,
дочерний элемент 2)>
Содержит только
дочерние элементы
Смешанное
<!ELEMENT имя
(#PCDATA, дочерний
элемент)*>
Содержит комбинацию
текстовых данных и
дочерних элементов
EMPTY
<!ELEMENT имя
EMPTY>
<!ELEMENT имя ANY>
Ничего не содержит
ANY
Может содержать
текстовые данные или
дочерние элементы
6. DTD: СИНТАКСИС ОБЪЯВЛЕНИЯ АТРИБУТОВ
<!ATTListимя_элемента имя_атрибута1 (тип) значение_по_умолчанию
имя_элемента имя_атрибута2 (тип) значение_по_умолчанию >
7. DTD: ФУНДАМЕНТАЛЬНЫЕ ТИПЫ АТРИБУТОВ
СтрокиМаркированные атрибуты
Атрибуты с перечислением
8. DTD: ВИДЫ МОДАЛЬНОСТИ ДЛЯ ЗНАЧЕНИЙ АТРИБУТОВ
ЗначениеКомментарий
#REQUIRED
Атрибут обязательно должен
быть указан
#FIXED
Значение атрибута не
должно отличаться от
указанного
#IMPLIED
Необязательное значение
9. DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ СТРОКОВОГО ТИПА
Пример:<!ATTLIST message
number
date
from
status
CDATA
CDATA
CDATA
CDATA
#REQUIRED
#REQUIRED
#FIXED
#IMPLIED>
10. DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ МАРКИРОВАННЫХ ТИПОВ
Маркированные типы атрибутов:Значение
ID
IDREF
ENTITIES
NMTOKEN
Комментарий
Уникальный идентификатор
элемента (начинается с буквы,
двоеточия или подчеркивания)
Ссылка на элемент, содержащий
атрибуты ID
Ссылка на внешний элемент
Содержит буквы , цифры , точки ,
знаки подчеркивания , переносы ,
двоеточия , но не пробелы
11. DTD: ОБЪЯВЛЕНИЯ АТРИБУТОВ ТИПОВ С ПЕРЕЧИСЛЕНИЕМ
Пример:<!ATTLIST message
number
from
alert
ID
#REQUIRED
CDATA
#REQUIRED
(low | normal | urgent) “normal”>
12. DTD: ИНДИКАТОРЫ ВХОЖДЕНИЯ И ОБЪЯВЛЕНИЯ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
СимволПример
Комментарий
,
(a, b, c)
|
(a | b | c)
Последовательное
использование
элементов списка
Используется один из
членов списка
Используется один и
только один элемент
Необязательное
использование (0 или 1
раз)
Используется один или
несколько раз
Используется ноль или
несколько раз
date
?
subject?
+
paragraph+
*
brother*
13. DTD: ВНУТРЕННЯЯ СХЕМА VS. ВНЕШНЯЯ СХЕМА
Объявление внутренней схемы:<!DOCTYPE корневой_элемент [
<!ELEMENT корневой_элемент (модель содержания)>
]>
Объявление внешней схемы:
<!DOCTYPE корневой_элемент SYSTEM “name.DTD”>
14. НЕДОСТАТКИ DTD СХЕМ
Неявляются экземплярами XML. Требуется
изучение совершенно другого языка.
Не предоставляют контроль за типами данных, за
исключением самых простых текстовых данных.
Не являются экземплярами XML, поэтому их нельзя
легко расширить или преобразовать к другим
языкам разметки – HTML или DHTML.
Не обеспечивают поддержки пространств имен
XML.
15. ОПРЕДЕЛЕНИЕ XDR
XDR = XML-Data ReducedXML-Data
– полное имя языка описания схем,
предложенного Microsoft, XML-Data Reduced – это “часть”
полной рекомендации.
Схема XDR - это экземпляр XML, т.е. соответствует всем
синтаксическим правилам и стандартам XML.
Реализуя проверки данных на уровне документа с помощью
схемы, приложения, генерирующие и принимающие
транзакции, можно оптимизировать для обеспечения
максимального быстродействия. Соответствие полей и
правильность записей проверяются на уровне экземпляров
XML.
16. ОБЪЯВЛЕНИЯ ЭЛЕМЕНТОВ И АТРИБУТОВ 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}”
>
17. XDR: СТАНДАРТНЫЕ АТРИБУТЫ ЭЛЕМЕНТА ELEMENTTYPE
Имяатрибута
name
content
dt:type
model
order
Комментарий
Имя элемента
Содержание элемента. Допустимые значения: empty (пустой элемент),
eltOnly (может быть только контейнером для других элементов), textOnly
(только текстовые данные), mixed (смешанные данные).
Тип данных элемента
Может принимать значения:
Open – разрешено использовать элементы, не определенные в схеме
Closed – запрещено использовать элементы, не определенные в схеме
Порядок следования дочерних элементов в экземпляре XML.
Допустимые значения:
one – предполагается наличие одного документа
many – любое количество элементов в любом порядке
seq – элементы указываются в строго заданном порядке.
18.
XDR: ДОЧЕРНИЕ ЭЛЕМЕНТЫ ДЛЯ ЭЛЕМЕНТАELEMENTTYPE
Имя
элемента
element
description
datatype
group
AttributeType
attribute
Комментарий
Объявляет дочерний элемент
Обеспечивает описание элемента ElementType
Обеспечивает тип данных элемента ElementType
Определяет порядок следования элементов
Определяет атрибут
Определяет сведения о дочернем элементе AttributeType
19.
XDR: ОБЪЯВЛЕНИЕ АТРИБУТОВ<AttributeType
default=“default-value”
dt:type=“primitive-type”
dt:values=“enumerated-values”
name=“idref”
required=“{yes|no}”
>
20.
XDR: АТРИБУТЫ ЭЛЕМЕНТА ATTRIBUTETYPEЗначение
default
dt:type
dt:values
name
required
Комментарий
Значение по умолчанию
Один из следующих типов:
entity , entities , enumeration , id , idref , nmtoken ,
nmtokens , notation , string
Допустимые значения
Имя атрибута
Указывает на обязательное наличие атрибута в
описании
21.
XDR: СИНТАКСИС ЭЛЕМЕНТА ATTRIBUTE<attribute
default=“default-value”
type=“attribute-type”
[required=“{yes|no}”
]>
22. XDR: АТРИБУТЫ ЭЛЕМЕНТА ATTRIBUTE
Значениеdefault
type
required
Комментарий
Значение по умолчанию
Имя элемента AttributeType , определенного в данной схеме. Должно
соответствовать атрибуту name элемента AttributeType
Указывает на обязательное наличие атрибута в описании
23. XDR: ТИПЫ ДАННЫХ
Атрибут элемента Schema:Xmlns:dt=“urn=schemas-microsoft-com:datatypes”
Список типов данных:
http://msdn.microsoft.com/en-us/library/ms256121(VS.85).aspx
24. XDR: ИНДИКАТОРЫ ВХОЖДЕНИЯ В СХЕМАХ XDR
<elementtype=“element-type”
[minOccur=“{0|1}”]
[maxOccur=“{1|*}”]
>
25. XDR: ОПРЕДЕЛЕНИЕ ГРУПП СОДЕРЖАНИЯ
Элемент group содержится в элементеElementType и имеет синтаксис:
<group order=“(one|seq|many)” minOccur=“(0|1)”
maxOccur=“(1|*)”>
<element type=“ElementType/”>
<element type=“ElementType/”>
<element type=“ElementType/”>
<element type=“ElementType/”>
</group>
programming