
- •Часть №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.
- •Напечатайте следующий тест:
Создайте xmlShema документ с простыми типами данных и пространством имен имен, для этого сделайте следующие:
Откройте новый файл в вашем текстовом редакторе и введите текст XMLShema-документа, листинг которого представлен ниже
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsd:simpleType name="Book">
<xsd:restriction>
<xsd:simpleType>
<xsd:list itemType="xsd:integer" />
</xsd:simpleType>
<xsd:maxLength value="5" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Title">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]" />
</xsd:restriction>
</xsd:simpleType>
<xsd:attribute name="Binding">
<xsd:simpleType>
<xsd:union>
<xsd:simpleType>
<xsd:restriction base="xsd:positiveInteger">
<xsd:minlnclusive value="1"/>
<xsd:maxlnclusive value="5"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="mass market paperback"/>
<xsd:enumeration value="hardcover"/>
<xsd:enumeration value="trade paperback"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:union>
</xsd:simpleType>
</xsd:attribute>
</xsd:schema>
Воспользуйтесь командой Save (Сохранить) текстового редактора, для сохранения документа на вашем жестком диске, присвоив ему имя ProstTip.xsd
Откройте файл в вашем браузере и вас ложно получится то что представлено на рисунке 3.1
Рисунок 3.1
Лабораторная работа №3 Объявление элементов и их атрибутов
Цель работы:
Изучить элементы XMLShema и их атрибуты
Ход работы:
Элементы, из которых будет состоять документ XML, объявляются в схеме компонентом element:
<xsd:element name="имя элемента" type="тип элемента"
minOccurs="наименьшее число появлений элемента в документе"
maxOccurs ="наибольшее число появлений" />
Когда элемент объявлен, то его на него можно объявить ссылку:
<xsd:element ref="note" min0ccurs="0"/>
Атрибут ref позволяет включить элемент, который уже задан в определении
составного типа.
Объявление атрибута элемента тоже несложно:
<xsd:attribute name=" имя атрибута" type="Tип атрибута"
use="обязательность атрибута" default="значение по умолчанию" />
Необязательный атрибут use принимает три значения:
• optional — описываемый атрибут необязателен (это значение по умолчанию);
• required — описываемый атрибут обязателен;
• prohibited — описываемый атрибут неприменим. Это значение полезно при определении подтипа, чтобы отменить некоторые атрибуты базового типа.
Например:
<xsd:attribute name="id" type="positiveInteger" use="required" />
Определение типа атрибута, — а это должен быть простой тип, — можно
вынести в содержимое элемента attribute:
<xsd:attribute пате="имя атрибута">
Тип атрибута
</xsd:attribute>
Создайте XMLShema документ с элементами и их атрибутами, для этого сделайте следующее:
Откройте новый файл в вашем текстовом редакторе и введите текст XML-документа, листинг которого представлен ниже
Листинг 3.1
<xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<xsd:simpleType name="Book" type="xsd:string" value="[A-Z]"/>
<xsd:attribute name="Author" use="required" />
<xsd:simpleType name="Pages" type="xsd:short" value="[0-9]{3}"/>
<xsd:attribute name="Paper" use="required" />
<xsd:simpleType name="Year" type="xsd:date" value="[0-9]{8}"/>
<xsd:attribute name="Year of a writing" use="required" />
<xsd:attribute name="Year of a edition" use="required" />
</xsd:schema>
Воспользуйтесь командой Save (Сохранить) текстового редактора, для сохранения документа на вашем жестком диске, присвоив ему имя El&Atr.xsd
Откройте файл в вашем браузере и вас ложно получится то, что представлено на рисунке 3.2
Рисунок 3.2
Упражния для самостоятельной работы
Создайте XMLShema документ с элементами и атрибутами на любую тематику
Отобразите в браузере
Определение сложных типов эменинов
Напомним, что тип элемента называется сложным, если в элемент вложены другие элементы и/или в открывающем теге элемента есть атрибуты. Сложный тип определяется компонентом compiexType, имеющим вид:
<xsd:complexType name="имя типа" >
Определение типа
</xsd:complexType>
Определение сложного типа можно разделить на три группы:
• определение типа пустого элемента;
Проще всего определяется тип пустого элемента — элемента, не содержащего тела, а содержащего только атрибуты в открывающем теге. Каждый атрибут объявляется одним компонентом attribute, например:
<xsd:complexType name="imageType">
<xsd:attribute name="href" type="xsd:anyURI" />
</xsd:complexType>
После этого определения можно в схеме объявить элемент image типа imageType:
<xsd:element name="image" type="imageType" />
а в документе XML использовать это объявление:
<image href="http://some.com/images/myface.gif" />
Создайте XMLShema документ c пустыми сложными элементами, для этого сделайте следующие:
Откройте новый файл в вашем текстовом редакторе и введите текст XML-документа, листинг которого представлен ниже
Листинг 3.2
<xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<xsd:element name="image">
<xsd:complexType>
<xsd:complexContent>
<xsd:restriction base="xsd:anyType">
<xsd:attribute name="source" type="xsd:string" />
<xsd:attribute name="width" type="xsd: decimal" />
<xsd:attribute name="height" type="xsd: decimal" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Воспользуйтесь командой Save (Сохранить) текстового редактора, для сохранения документа на вашем жестком диске, присвоив ему имя PustiEl.xsd
Откройте файл в вашем браузере и вас ложно получится то, что представлено на рисунке 3.3
Рисунок 3.3
Упражния для самостоятельной работы
Создайте документ XMLShema c пустым элементом
Отобразите в браузере
• определение типа элемента с простым телом;
Этот тип отличается от простого типа только наличием атрибутов и определяется компонентом simpiecontent. В теле этого компонента должен быть либо компонент restriction, либо компонент extension, атрибутом base задающий тип (простой) тела описываемого элемента.
В компоненте extension указываются атрибуты открывающего тега описываемого элемента. Все вместе выглядит так, как в следующем примере:
<xsd:complexType name="calcResultType">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="unit" type="xsd:string" />
<xsd:attribute name="precision"
type="xsd:nonNegativelnteger" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
Упражния для самостоятельной работы
Создайте документ XMLShema c простым телом
Отобразите в браузере
• определение типа элемента, содержащего вложенные элементы
Вложенные элементы определяется одним из трех компонентов: sequence, all или choice.
Компонент sequence применяется в том случае, когда перечисляемые элементы должны записываться в документе в определенном порядке. Пусть, например, мы описываем книгу. Сначала определяем тип:
<xsd:complexType name="bookType">
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="author" type="xsd:normaiizedstring"
minOccurs="0" />
<xsd:element name="title" type="xsd:normaiizedstring" />
<xsd:element name="pages" type="xsd:positivelnteger"
minOccurs="0" />
<xsd:element name="publisher" type="xsd:normaiizedstring"
minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
Компонент choice применяется в том случае, когда надо выбрать один из нескольких элементов. Например, при описании журнала вместо издатель 74 Часть I.
<xsd:complexType name="boo kType">
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="author" type="xsd:normaiizedstring"
minOccurs="0" />
<xsd:element name="title" type="xsd:normaiizedstring" />
<xsd:element name="pages" type="xsd:positivelnteger"
minOccurs="0" />
<xsd:choice>
<xsd:element name="publisher" type="xsd:normaiizedstring"
minOccurs="0" />
<xsd:element name="magazine" type="xsd:normaiizedstring"
minOccurs="0" />
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
Создайте XMLShema документ cсодержащий вложенные элементы, для этого сделайте следующие:
Откройте новый файл в вашем текстовом редакторе и введите текст XML-документа, листинг которого представлен ниже
Листинг 3.4
<xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<xsd:element name="transaction" type="transactionType"/>
<xsd:complexType name="transactionType">
<xsd:sequence>
<xsd:element name="Lender" type="address"/>
<xsd:element name="Borrower" type="address"/>
<xsd:element ref="note" min0ccurs="0"/>
<xsd:element name="books" type="books"/>
</xsd:sequence>
<xsd:attribute name="borrowDate" type="xsd:date"/>
</xsd:complexType>
</xsd:schema>
Воспользуйтесь командой Save (Сохранить) текстового редактора, для сохранения документа на вашем жестком диске, присвоив ему имя VlogEl.xsd
Откройте файл в вашем браузере и вас ложно получится то, что представлено на рисунке
Рисунок 3.4
Упражнения для самостоятельной работы
Создайте документ XMLShema c вложенными элементами
Отобразите в браузере
Лабораторная работа №4