
- •Часть №1
- •Лабораторная работа №1 Структура xml документа
- •Лабораторная работа №2 Пространство имен и сущности
- •Лабораторная работа №3 Комментарии, разделы cdata,инструкции по обработке
- •Часть№2
- •Лабораторная работа №1 Синтаксис dtd
- •Лабораторная работа №2 Дочернее содержимое элемента, задание смешанного содержимого
- •Лабораторная работа №3 Атрибуты
- •Лабораторная работа №4 Подмножества dtd
- •Лабораторная работа №5 Валидность документа dtd
- •Валидность документа
- •Требования корректности формирования и валидности
- •Лабораторная работа №6 Общие внутренние и внешние примитивы dtd.
- •Xод работы:
- •Лабораторная работа №7 Параметрические внутренние и внешние примитивы
- •Xод работы:
- •Лабораторная работа №8 Ссылки на примитивы
- •Xод работы:
- •Использование предварительно определенных примитивов
- •Создайте xml-документ с использованием предварительно определенных примитивов и ссылками на примитивы на любую тематаку.
- •Отобразите документ в браузере Часть №3
- •Изучить встроенные простые типы данных xmlShema.
- •Xод работы:
- •Типы long, int, short и byte
- •Отобразите документ в браузере Лабораторная работа №2 Определение простых типов данных и пространство имен
- •Сужение
- •Не более чем из пяти целых чисел следующим образом:
- •Создайте xmlShema документ с простыми типами данных и пространством имен имен, для этого сделайте следующие:
- •Лабораторная работа №3 Объявление элементов и их атрибутов
- •Создание группы элементов и атрибутов в сложном типе
- •Лабораторная работа №5 Определение типа со сложным телом,
- •Лабораторная работа №6 Аннотирование схем, включение файлов схемы в другую схему
- •Часть №4
- •Лабораторная работа №1 Входной и выходной документы, инструкция обработки и корневой элемент
- •Лабораторная работа №2 Описание структуры с помощью шаблонов
- •Лабораторная работа №3 Встроенные шаблонные правила
- •Лабораторная работа №4 Модульная организация преобразования
- •Лабораторная работа №5 Инструкции управления
- •Лабораторная работа №6
- •Лабораторная работа №7
- •Лабораторная работа №8
- •Часть №5
- •Лабораторная работа №1 Интерфейс программы и создание xsd документа
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Xslt трансформация
- •Лабораторная работа №4 Создание документа dtd и его применение к xml.Конвертирование dtd в Shema.
- •Напечатайте следующий тест:
Создайте XML Shema документ содержащий встроенные типы данных на любую тематику
Отобразите документ в браузере Лабораторная работа №2 Определение простых типов данных и пространство имен
Цель работы:
Изучить простые типы данных XMLShema и пространства имен
Ход работы:
В схемах XML с помощью встроенных типов можно тремя способами определить новые типы простых элементов. Они вводятся как сужение (restriction) встроенного или ранее определенного простого типа, список (list) или объединение (union) простых типов. Простой тип определяется компонентом схемы simpieType, имеющим вид
<xsd:simpleType name="имя типа">Определение типа</xsd:simpleType>
Сужение
Сужение простого типа определяется компонентом restriction, в котором атрибут base указывает сужаемый простой тип, а в содержимом задаются ограничения, выделяющие определяемый простой тип. Например, почтовый индекс zip можно определить как шесть арабских цифр следующим образом
<xsd:simpleType name="zip">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9]{6}" />
</xsd:restriction>
</xsd:simpleType>
Можно дать другое определение простого типа zip как целого положител ного числа, находящегося в диапазоне от 100000 до 999999:
<xsd:simpleType name="zip">
<xsd:restriction base="xsd:positiveInteger">
<xsd:minlnclusive value="100000" />
<xsd:maxlnclusive value="999999" />
</xsd:restriction>
</xsd:simpleType>
Список
Простой тип-список — это тип элементов, в теле которых записываются через пробел несколько значений одного и того же простого типа. Например, в документе XML может встретиться такой элемент, содержащий список целых чисел:
<days>21 34 55 4 6</days>
Список определяется компонентом list, в котором атрибутом itemType указывается тип элементов определяемого списка. Тип элементов списка можно определить и в содержимом элемента list. Например, показанный выше элемент документа XML days можно определить в схеме так:
<xsd:element name="days" type="listOfInteger" />
а использованный при его определении тип listofinteger задать как список
Не более чем из пяти целых чисел следующим образом:
<xsd:simpleType name="listOfInteger">
<xsd:restriction>
<xsd:simpleType>
<xsd:list itemType="xsd:integer" />
</xsd:simpleType>
<xsd:maxLength value="5" />
</xsd:restriction>
</xsd:simpleType>
Объединение
Простой тип-объединение определяется компонентом union, в котором атрибутом memberTypes можно указать имена объединяемых типов. Например:
<xsd:union memberTypes="xsd:string xsd:integer listOfInteger" />
Другой способ — записать в содержимом компонента union определения простых типов, входящих в объединение. Например:
<xsd:attribute name="size">
<xsd:simpleType>
<xsd:union>
<xsd:simpleType>
<xsd:restriction base="xsd:positiveInteger">
<xsd:minlnclusive value="8"/>
<xsd:maxlnclusive value="72"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumerat ion value="small"/>
<xsd:enumeration value="medium"/>
<xsd:enume rat ion value="large"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:union>
</xsd:simpleType>
</xsd:attribute>
<xsd:enumeration value>-это ограничение, которое может использоваться для того, чтобы сузить набор возможных значений почти любого простого типа.
Пространства имен языка XSD
Имена элементов и атрибутов, используемые при записи схем, определены в пространстве имен с идентификатором http://www.w3.org/2001/XMLSchema. Префикс имен, относящихся к этому пространству, часто называют xs или xsd.
Можно сделать это пространство имен пространством по умолчанию, но тогда надо задать пространство имен для определяемых в схеме типов и элементов. Для удобства такого определения введено понятие целевого пространства имен (target namespace). Идентификатор целевого пространства имен определяется атрибутом targettiamespace, например:
<xsd:schema targetNamespace="http://some.firm.com/2003/ntbNames">
Следует заметить, что в целевое пространство имен попадают только глобальные имена, чьи описания непосредственно вложены в корневой элемент schema.
В схемах и документах XML часто применяется еще одно стандартное пространство имен. Рекомендация языка XSD определяет несколько атрибутов:
type, nil, schemaLocation, noNamespaceSchemaLocation, которые применяются
не только в схемах, а и непосредственно в описываемых этими схемами до
кументах XML, называемых экземплярами схем (XML schema instance). Им на этих атрибутов относятся к пространству имен http://www.w3.org/2001/XMLSchema-instance. Этому пространству имен чаще всего приписывают префикс xsi, например:
<xsd:schema xmins:xsd="http://www.w3.org/2001/XMLSchema"
xmins:xsi="http://www.w3.org/2001/XMLSchema-instance">