Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabKompl1_XML.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
13.8 Mб
Скачать

Создайте xmlShema документ с простыми типами данных и пространством имен имен, для этого сделайте следующие:

  1. Откройте новый файл в вашем текстовом редакторе и введите текст 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>

  1. Воспользуйтесь командой Save (Сохранить) текстового редактора, для сохранения документа на вашем жестком диске, присвоив ему имя ProstTip.xsd

  2. Откройте файл в вашем браузере и вас ложно получится то что представлено на рисунке 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 документ с элементами и их атрибутами, для этого сделайте следующее:

  1. Откройте новый файл в вашем текстовом редакторе и введите текст 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>

  1. Воспользуйтесь командой Save (Сохранить) текстового редактора, для сохранения документа на вашем жестком диске, присвоив ему имя El&Atr.xsd

  2. Откройте файл в вашем браузере и вас ложно получится то, что представлено на рисунке 3.2

Рисунок 3.2

Упражния для самостоятельной работы

  1. Создайте XMLShema документ с элементами и атрибутами на любую тематику

  2. Отобразите в браузере

Определение сложных типов эменинов

Напомним, что тип элемента называется сложным, если в элемент вложены другие элементы и/или в открывающем теге элемента есть атрибуты. Сложный тип определяется компонентом 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 пустыми сложными элементами, для этого сделайте следующие:

  1. Откройте новый файл в вашем текстовом редакторе и введите текст 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>

  1. Воспользуйтесь командой Save (Сохранить) текстового редактора, для сохранения документа на вашем жестком диске, присвоив ему имя PustiEl.xsd

  2. Откройте файл в вашем браузере и вас ложно получится то, что представлено на рисунке 3.3

Рисунок 3.3

Упражния для самостоятельной работы

  1. Создайте документ XMLShema c пустым элементом

  2. Отобразите в браузере

• определение типа элемента с простым телом;

Этот тип отличается от простого типа только наличием атрибутов и определяется компонентом 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>

Упражния для самостоятельной работы

  1. Создайте документ XMLShema c простым телом

  2. Отобразите в браузере

• определение типа элемента, содержащего вложенные элементы

Вложенные элементы определяется одним из трех компонентов: 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содержащий вложенные элементы, для этого сделайте следующие:

  1. Откройте новый файл в вашем текстовом редакторе и введите текст 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>

  1. Воспользуйтесь командой Save (Сохранить) текстового редактора, для сохранения документа на вашем жестком диске, присвоив ему имя VlogEl.xsd

  2. Откройте файл в вашем браузере и вас ложно получится то, что представлено на рисунке

Рисунок 3.4

Упражнения для самостоятельной работы

  1. Создайте документ XMLShema c вложенными элементами

  2. Отобразите в браузере

Лабораторная работа №4

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]