Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Определение типа со сложным телом,



Цель работы:

Изучить тип элементов со сложным телом

Ход работы:

 

При определении сложного типа можно воспользоваться уже определенным, базовым, сложным типом, расширив его дополнительными элемента ми, или, наоборот, удалив из него некоторые элементы. Для этого необходимо применить компонент compiexContent.

В этом компоненте, так же как и в компоненте simpiecontent, записывается либо компонент extension, если надо расширить базовый тип, либо компонент restriction, если нужно его сузить.

 

<xsd:complexType name="boo kType">

<xsd:complexContent>

<xsd:restriction base="xsd:anyType">

<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:restriction>

</xsd:complexContent>

</xsd:complexType>

Создайте XMLShema документ со сложным телом, для этого сделайте следующие:

1. Откройте новый файл в вашем текстовом редакторе и введите текст XML-документа, листинг которого представлен ниже

Листинг 3.6

<?xml version="1.0" encoding="windows-1251" ?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:element name="notebook" type="notebookType" />

<xsd:complexType name="notebookType">

<xsd:element name="person" type="personType"

minOccurs="0" maxOccurs="unbounded" />

</xsd:complexType>

<xsd:complexType name="personType">

<xsd:sequence>

<xsd:element name="name">

<xsd:complexType>

<xsd:attribute name="first" type="xsd:string"

use="optional" />

<xsd:attribute name="second" type="xsd:string"

use="optional" />

<xsd:attribute name="surname" type="xsd:string"

use="required" />

</xsd:complexType>

</xsd:element>



<xsd:element name="birthday" type="ruDate" minOccurs="0" />

<xsd:element name="address" type="addressType"

minOccurs="0" maxOccurs="unbounded" />

<xsd:element name="phone-list" type="phone-listType"

minOccurs="0" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="addressType" >

<xsd:sequence>

<xsd:element name="street" type="xsd:string" />

<xsd:element name="city" type="cityType" />

<xsd:element name="zip" type="xsd:positiveInteger" />

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name='cityType'>

<xsd:simpleContent>

<xsd:extension base='xsd:string' >

<xsd:attribute name='type' type='placeType'

default='город' />

</xsd:extension>

</xsd:simpleContent>

</xsd:complexType>

<xsd:simpleType name="placeType">

<xsd:restriction base = "xsd:string">

<xsd:enumeration value="город" />

<xsd:enumeration value="поселок" />

<xsd:enumeration value="деревня" />

</xsd:restriction>

</xsd:simpleType>

<xsd:complexType name="phone-istType">

<xsd:element name="work-phone" type="xsd:string"

minOccurs="0" maxOccurs="unbounded" />

<xsd:element name="home-phone" type="xsd:string"

minOccurs="0" maxOccurs="unbounded" />

</xsd:complexType>

<xsd:simpleType name="ruDate">

<xsd:restriction base="xsd:string">



<xsd:pattern value="[0-9]{2}.[0-9]{2}.[0-9]{4}" />

</xsd:restriction>

</xsd:simpleType>

</xsd:schema>

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

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

представлено на рисунке 3.6

Рисунок 3.6


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!