- Главная
- Информатика
- Схема XML-Data Reduced (XDR)
Содержание
- 2. Что такое схемы XDR. Стандарт XML-Data Reduced, или просто XDR, - это только часть полной спецификации
- 3. Объявления элементов и атрибутов XDR. Cхемы XDR – это экземпляры XML, а значат они состоят из
- 4. Вы создадите схему XDR для этого элемента, содержащую корневой элемент Schema, и элемент ElementType, определяющий элемент
- 5. content=“{empty | textOnly | mixed }” dt:type”datatype” model=“{open | closed}” name=“idref” order=“{one | seq | many}”
- 6. Вложенные объявления ElementType. Как и в случае DTD, вложенные элементы, указанные в схеме XDR, должны быть
- 7. только другие элементы (content=“eltOnly”). Элемент message определяется как дочерний по отношению к элементу note. В стр.9
- 8. Вложенные элементы. Обязательно нужно помнить, что пустые элементы в экземпляре XML – это такие элементы, которые
- 9. Проверка атрибутов в экземпляре XML c помощью схемы XDR. Никогда не поздно передумать и объявить как
- 10. Aтрибуты элемента AttributeType Таб2:
- 11. В нашем примере атрибут относится к элементу message. Таким образом, элемент ElementType для элемента note будет
- 12. Объявление и определение атрибутов в схеме XDR (message04.xdr): name=“Untitled-schema” xmlns=“urn:schemas-microsoft-com:xml-data” xmlns:dt=“urn:schemas-microsoft-com:datatypes”> dt:type=“string”/> В строках 10 и
- 13. Типы данных в схемах XDR. В схемах XDR вы можете указывать типы данных для элементов и
- 17. Примеры типов данных. Рассмотрим пример добавления новых атрибутов к документу message05.xml Remembler to buy milk on
- 18. Индикаторы вхождения в схемах XDR В схемах XDR необходимо указывать наличие нескольких дочерних элементов. Укажите, сколько
- 19. Экземпляр XML с несколькими дочерними элементами message07.xml Remembler to buy milk on the way home from
- 20. Дополнительные ограничения типов данных в схемах XDR Если вы решили использовать тип данных number или string
- 21. Правильный экземпляр с группированием элементов message09.xml Remembler to buy milk on the way home from work
- 22. name=“message” xmlns=“urn:schemas-microsoft-com:xml-data” xmlns:dt=“urn:schemas-microsoft-com:datatypes”> dt:type=“string”/> В строке 9 объявляется, что новый элемент receipt содержится в корневом элементе
- 24. Скачать презентацию
Слайд 2Что такое схемы XDR.
Стандарт XML-Data Reduced, или просто XDR, - это
Что такое схемы XDR.
Стандарт XML-Data Reduced, или просто XDR, - это
спецификации XML-Data, направленной компанией Microsoft в консорциум W3S.
Как и схемы DTD, схемы XDR определяют элементы, представленные в
экземпляре XML, а также любые атрибуты, которые связаны с указанными
элементами. Для того, чтобы провести проверку на соответствие стандартам,
каждый элемент в экземпляре должен быть объявлен в соответствующей схеме.
Отсутствие элемента в схеме определяет его отсутствие в правильном
экземпляре XML.
Взаимосвязи элементов также определяются в схеме XDR; таким образом, все
дочерние элементы, содержащиеся в определенных элементах экземпляра,
объявляются и в дальнейшем определяются в соответствии с их собственным
содержанием. Сюда относятся последовательность, в которой дочерние
Элементы приводятся в документе, а также количество дочерних элементов.
Схема определяет и то, пустой ли элемент или он содержит текстовые данные,
другие элементы или определенную комбинацию последних. Схема также может
определять значения атрибутов.
Слайд 3Объявления элементов и атрибутов XDR.
Cхемы XDR – это экземпляры XML, а
Объявления элементов и атрибутов XDR.
Cхемы XDR – это экземпляры XML, а
атрибутов XML. Так как схемы XDR соответствуют всем синтаксическим
правилам и стандартам XML, они должны соответствовать наборам правил,
установленных для данного языка описания схем. Схемы XDR расширяемы.
Поскольку схемы XDR проверяются с помощью других систем, к их структурам
применяются определенные правила и ограничения. Например, корневой
элемент в схеме XDR всегда называется Shema и всегда содержит атрибут
xmlns, определяющий пространство имен как для него, так и для содержащихся
в нем дочерних элементов.
Это означает, что вы создаете документ XML, который соответствует схеме,
которая, в свою очередь, должна соответствовать еще одной схеме. К счастью,
вам придется иметь дело только с 2 из этих трех документов: ваших документов
XML и схемой, используемой для его проверки.
Создадим документ XML и сохраним его под именем message01.xml.
work
Корневой элемент в этом файле содержит атрибут xmlns со значением
“x-schema:message01.xdr”>. Это указывает проверяемому обработчику на то, что
схема, связанная со стандартным пространством имен для этого документа,
содержится в файле message01.xdr.
Слайд 4 Вы создадите схему XDR для этого элемента, содержащую корневой элемент
Schema,
Вы создадите схему XDR для этого элемента, содержащую корневой элемент
Schema,
Корневой элемент Schema в схеме XDR содержит элементы и атрибуты,
соответствующие всем ограничивающим правилам для экземпляра документа
XML. Все определения в схеме XML содержатся в рамках элемента Schema
верхнего уровня. Определение элемента Schema должно базироваться на
пространстве имен xmlns = “urn: schemas-microsoft-com:xml-data”. Элемент Schema в
документе схемы XML также должен содержать объявления пространств имен
для других схем, таких как пространство имен, определяющее встроенные
типы данных для схемы XML. Типы данных используются для ограничения
строковых данных таким образом, чтобы они принимали только такие значения,
как даты, числовые значения, числа с плавающей запятой и т.д. Пространство
имен для схемы XDR: xmlns = “urn:schemas-microsoft-com:xml-data”.
Таким образом, корневой элемент Schema схемы XML практически всегда
выглядит следующим образом:
xmlns:=“urn:schemas-microsoft-com:datatypes”>
<--Объявления других элементов-->
Элемент ElementType – это элемент XDR, используемый для определения
ограничений, которые накладываются на элементы в соответствующем
экземпляре XML.
Элемент ElementType в схемах XDR имеет следующий синтаксис:
Слайд 5 content=“{empty | textOnly | mixed }”
dt:type”datatype”
model=“{open | closed}”
name=“idref”
dt:type”datatype”
model=“{open | closed}”
name=“idref”
Каждый из этих атрибутов имеет значение, зависящее от описываемого
элемента. Например,
атрибут content свидетельствует о том, что содержание объявляемого элемента
должно быть пустым, быть только текстовыми данными, другими
элементами или соответствовать модели смешанного
содержания.
Атрибут dt:type объявляет тип данных для элемента. Допустимые типы данных
– date, number, time и т.д.
Атрибут model указывает на то, может ли содержание быть только
определяемого моделью типа, или оно может выходить за ее
рамки. Если модель содержания определена как открытая,
элемент может включать в себя дополнительные элементы или
атрибуты, явно не указанные в этой модели. Если модель
содержания определена как закрытая, элемент не может
включать в себя доп.элементы и атрибуты.
Атрибут name используется для идентификации самого определяемого
элемента.
Атрибут order определяет порядок следования дочерних элементов. Значение
one допускает включение только 1 элемента из набора, значение
seq требует указания элементов в строго определенном порядке,
а значение many допускает указание элементов в любом порядке,
вплоть до отсутствия некоторых из них.
Слайд 6Вложенные объявления ElementType.
Как и в случае DTD, вложенные элементы, указанные в
Вложенные объявления ElementType.
Как и в случае DTD, вложенные элементы, указанные в
быть объявлены и определены. Изменим документ message01.xml так, чтобы в
нем содержался один дочерний элемент, message, и один корневой элемент
note, сохраним изменения в файле message02.xml:
Приведем схему XDR для проверки документа – message02.xml. Создадим эту
схему и сохраним как файл – message02.xdr:
xmlns=“urn:schemas-microsoft-com:xml-data”
xmlns:dt=“urn:schemas-microsoft-com:datatypes”>
Строки 1-5 практически совпадают с аналогичными строками из схемы
message01.xdr. Однако в стр.3 указано имя схемы – его указывать не
обязательно. Строки с 6 по 8 указывают на то, что элемент note содержит
Слайд 7
только другие элементы (content=“eltOnly”). Элемент message определяется как
дочерний по отношению
только другие элементы (content=“eltOnly”). Элемент message определяется как
дочерний по отношению
В стр.9 элемент message определяется как содержащий только текстовые
данные. Этот элемент указан в схеме дважды, один раз в стр.7, где он
объявляется как дочерний по отношению к элементу note, а второй раз – в стр.9,
где он определяется полностью.
Элемент element – это дочерний элемент по отношению к элементу ElementType
в схеме XDR. В элемент ElementType могут быть включены дочерние элементы,
перечисленные в следующей таб.1:
Слайд 8Вложенные элементы.
Обязательно нужно помнить, что пустые элементы в экземпляре XML – это
Вложенные элементы.
Обязательно нужно помнить, что пустые элементы в экземпляре XML – это
элементы, которые не содержат данные или другие элементы. Пустые элементы
все равно могут содержать атрибуты, но между их открывающим и закрывающим
дескрипторами не содержатся никаких данных. Это не означает, что пустые
элементы совершенно бесполезны.
Рассмотрим файл message03.xml, который содержит пустой элемент number:
Cхема XDR для документа XML с пустым элементом (файл message03.xdr):
xmlns=“urn:schemas-microsoft-com:xml-data”
xmlns:dt=“urn:schemas-microsoft-com:datatypes”>
Слайд 9Проверка атрибутов в экземпляре XML c помощью схемы XDR.
Никогда не поздно
Никогда не поздно
только что вы планировали объявить как атрибут.
Создадим пример, в котором к элементу message добавлен новый атрибут.
message04.xdr:
Remembler to buy milk on the way home from work
Поскольку был добавлен атрибут в экземпляр XML, необходимо отразить это
дополнение и в схеме XDR. Атрибуты объявляются в схемах XDR с помощью
элемента AttributeType:
dt:type=“primitive-type”
dt:values=“enumerated-values”
name=“idref”
reguired=“{yes | no}”>
Слайд 10Aтрибуты элемента AttributeType
Таб2:
Aтрибуты элемента AttributeType
Таб2:
Слайд 11 В нашем примере атрибут относится к элементу message. Таким образом,
элемент
В нашем примере атрибут относится к элементу message. Таким образом,
элемент
элемент attribute для объявления нового атрибута.
Рассмотрим элемент attribute:
type=“attribute -type”
[required=“{yes | no}”]>
Атрибуты элемента attribute в схемах XDR
Таб3
Слайд 12Объявление и определение атрибутов в схеме XDR (message04.xdr):
name=“Untitled-schema”
xmlns=“urn:schemas-microsoft-com:xml-data”
Объявление и определение атрибутов в схеме XDR (message04.xdr):
xmlns=“urn:schemas-microsoft-com:xml-data”
В строках 10 и 11 объявляется и определяется атрибут number элемента message.
Слайд 13Типы данных в схемах XDR.
В схемах XDR вы можете указывать типы данных
Типы данных в схемах XDR.
В схемах XDR вы можете указывать типы данных
Различных типов данных существует достаточно много, что идеально подходит
для построения тех или иных предложений, работающих с данными. Типы
данных определяют их форматирование и разрешают синтаксическим
анализаторам XML и приложениям проверять типы данных во время
проверки документов на соответствие стандартам. Для того, чтобы в схеме XDR
могли быть определены типы данных, в объявлении корневого элемента Schema
должно быть указано пространство имен типов данных Microsoft.
xmlns:dt=“urn:schemas-microsoft-com:datatypes”>
По соглашению префикс dt: назначается этому пространству имен и
используется в схеме XDR для идентификации типов данных.
Типы данных для схем XDR
Таб4
Слайд 17Примеры типов данных.
Рассмотрим пример добавления новых атрибутов к документу message05.xml
= “x-schema:message05.xdr”>
Remembler to buy milk on the way home from work
Схема XDR для проверки указанных типов данных message05.xdr
name=“Untitled-schema”
xmlns=“urn:schemas-microsoft-com:xml-data”
xmlns:dt=“urn:schemas-microsoft-com:datatypes”>
dt:type=“string”/>
Примеры типов данных.
Рассмотрим пример добавления новых атрибутов к документу message05.xml
Remembler to buy milk on the way home from work
Схема XDR для проверки указанных типов данных message05.xdr
xmlns=“urn:schemas-microsoft-com:xml-data”
xmlns:dt=“urn:schemas-microsoft-com:datatypes”>
Слайд 18Индикаторы вхождения в схемах XDR
В схемах XDR необходимо указывать наличие нескольких дочерних
Индикаторы вхождения в схемах XDR
В схемах XDR необходимо указывать наличие нескольких дочерних
Укажите, сколько раз дочерний элемент может встречаться в родительском
элементе, используя атрибуты minOccur и maxOccur элемента element. Полный
синтаксис приведен ниже:
[minOccur=“{0 | 1”}”]
[maxOccur=“{0 | *”}”]
Вы уже сталкивались с элементами element, который содержали обязательный
атрибут type. Этот атрибут связывает объявление с элементом в экземпляре XML.
Атрибут minOccur может принимать значения только от “0” до “1”. Cтрока
minOccur=“1” указывает на то, что дочерний элемент должен содержаться как
минимум 1 раз. Строка minOccur=“0” указывает на то, что дочерний элемент
необязателен.
Атрибут maxOccur может принимать значения только от “1” или “*”. Cтрока
maxOccur=“1” указывает на то, что дочерний элемент должен содержаться
максимум 1 раз. Строка minOccur=“0” указывает на то, что дочерний элемент может
встречаться в родительском элементе неограниченное число раз.
Атрибуты minOccur и maxOccur по умолчанию равны “1”.
Слайд 19Экземпляр XML с несколькими дочерними элементами message07.xml
number =“10” date=“2001-07-29” from=“Kathy Shepherd”>
Remembler to buy milk on the way home from work
I need some help with my homework
I need some help with my homework
I need some help with my homework
Схема XDR с атрибутами minOccur и maxOccur – message07.xdr
name=“Untitled-schema”
xmlns=“urn:schemas-microsoft-com:xml-data”
xmlns:dt=“urn:schemas-microsoft-com:datatypes”>
dt:type=“string”/>
Экземпляр XML с несколькими дочерними элементами message07.xml
Remembler to buy milk on the way home from work
I need some help with my homework
I need some help with my homework
I need some help with my homework
Схема XDR с атрибутами minOccur и maxOccur – message07.xdr
xmlns=“urn:schemas-microsoft-com:xml-data”
xmlns:dt=“urn:schemas-microsoft-com:datatypes”>
Слайд 20Дополнительные ограничения типов данных в схемах XDR
Если вы решили использовать тип данных
Дополнительные ограничения типов данных в схемах XDR
Если вы решили использовать тип данных
bin.base64), вы можете задать минимальную или максимальную длину этих
атрибутов. В пространстве имен типов данных Microsoft существуют специальные
атрибуты minLength и maxLength, которые используются для проверки связанного
документа XML. Эти атрибуты указываются в рамках элемента AttributeType; при
этом используется следующий синтаксис:
reguired=“yes”
dt: minLength=“положительное целое число”
dt: maxLength=“положительное целое число”/>
Определение групп содержания
Предположим, вам необходимо проверить целый ряд необязательных элементов
в экземпляре XML, используя схему XDR. Например, в вашем приложении
управления сообщениями вам надо реализовать выбор между 2 вариантами,
такими как complete и incomplete. Например, если элемент message содержит
элемент complete, это означает, что соответствующее сообщение принято
приложением полностью. Возможно, какие-то неполадки не позволяют получить
сообщение целиком. В этом случае элемент message будет содержать элемент
incomplete, а не элемент complete.
Слайд 21 Правильный экземпляр с группированием элементов message09.xml
number =“10” date=“2001-07-29” from=“Kathy Shepherd”>
Remembler to buy milk on the way home from work
I need some help with my homework
I need some help with my homework
I need some help with my homework
Добавлены элементы receipt и complete.
Элемент group схемы XDR позволяет вам задавать ограничения для группы
дочерних элементов в рамках родительского элемента. Этот элемент
содержится в элементе ElementType.
(message09.xdr):
Правильный экземпляр с группированием элементов message09.xml
Remembler to buy milk on the way home from work
I need some help with my homework
I need some help with my homework
I need some help with my homework
Добавлены элементы receipt и complete.
Элемент group схемы XDR позволяет вам задавать ограничения для группы
дочерних элементов в рамках родительского элемента. Этот элемент
содержится в элементе ElementType.
(message09.xdr):
Слайд 22name=“message”
xmlns=“urn:schemas-microsoft-com:xml-data”
xmlns:dt=“urn:schemas-microsoft-com:datatypes”>
xmlns=“urn:schemas-microsoft-com:xml-data”
xmlns:dt=“urn:schemas-microsoft-com:datatypes”>
В строке 9 объявляется, что новый элемент receipt содержится в корневом
элементе note. Атрибут order=“one” указывает на то, что в документе XML должен
содержаться только один элемент complete или incomplete в рамках элемента
message, чтобы этот документ считался правильным.