Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППТС-2 / Слайды / Lect4-04.pptx
Скачиваний:
3
Добавлен:
12.05.2015
Размер:
293.31 Кб
Скачать

Лекция 4­04

Схемы XML (структуры)

1

Схема XML. Элемент attribute.Формат

Элемент attribute определяет атрибут и имеет

<префикс:attribute name = NCName ref = QName type = QName default = string fixed = string

use = (optional | prohibited | required) :

optional id = ID

form = (qualified | unqualified)

>

(annotation?, (simpleType?)) </префикс:attribute>

2

Схема XML. Элемент attribute. Атрибуты

Атрибуты в элементе attribute имеют следующий смысл:

name – имя атрибута;

ref – ссылка на объявление атрибута;

type – тип данных значения атрибута;

default – значение атрибута по умолчанию;

fixed – используется для присвоения атрибуту постоянного (фиксированного) значения;

use – используется для того, чтобы указать, что атрибут является необязательным (optional) – значение по умолчанию, обязательным (required) или

запрещенным (prohibited).

 

id – связывает с атрибутом уникальный

 

идентификатор;

 

form – используется для отмены значения заданного в

 

атрибуте attributeFormDefault элемента schema или в

 

атрибуте form элемента-родителя.

 

Если родителем элемента attribute является элемент

3

schema, то объявление атрибута является глобальным,

иначе локальным.

 

Схема XML. Элемент attribute. Примеры

1)<xs:attribute name="age" type="xs:positiveInteger" use="required"/>

Объявление обязательного атрибута age, значение которого – целое положительное число.

2) <xs:attribute name="RGBColor" default="red" use="optional">

<xs:simpleType> <xs:restriction>

<xs:enumeration value="red"/> <xs:enumeration value="green"/> <xs:enumeration value="blue"/>

</xs:restriction> </xs:simpleType>

</xs:attribute>

Объявление необязательного атрибута RGBColor, значением которого является один из цветов RGB. Значение атрибута по умолчанию – "red4".

Схема XML. Встроенные атрибуты

Вспецификации схемы XML определены четыре встроенных

объявления атрибута, которые доступны без объявления в любой схеме XML. Объявления всех атрибутов являются глобальными, т.е. их можно использовать в любом элементе XML. Ограничения на значения этих атрибутов отсутствуют. Для этих атрибутов в качестве целевого пространства имен используется

http://www.w3.org/2001/XMLSchema-instance.

Объявление атрибута type задает тип атрибута, значение

которого имеет тип данных QName.

Объявление атрибута nil задает атрибут, значение которого имеет тип данных boolean.

Объявления атрибутов schemaLocation и

 

noNamespaceSchemaLocation задают местонахождения

 

схемы соответственно с указанием пространства имен и без

указания пространства имен. Значения для этих атрибутов

 

имеют тип данных anyURI.

5

Схема XML. Элемент element. Назначение

Объявление элемента выполняет:

локальную проверку значений элемента с использованием определения типа;

задание значения по умолчанию или фиксированного значения для элемента;

обеспечение уникальности и ограничений на отношения на значения связанных элементов и атрибутов;

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

через группы подстановок элемента.

6

Схема XML. Элемент element. Формат

<префикс:element name = NCName ref = QName type = QName default = string fixed = string id = ID

form = (qualified | unqualified) fixed = string

abstract = boolean : false

block = (#all| List(extension | restriction | substitution))

final = (#all | List(extension | restriction)) maxOccurs = (nonNegativeInteger | unbounded) : 1 minOccurs = nonNegativeInteger : 1

nillable = boolean : false substitutionGroup = QName

>

(annotation?, ((simpleType | complexType)?, (unique | key |

keyref)*))

 

</префикс:element>

7

 

Схема XML. Элемент element. Атрибуты (1)

Атрибуты name, ref, type, id, default, form и fixed в элементе element имеют тот же смысл, что и в элементе attribute (атрибут name является обязательным только в том случае, если родительским элементом данного элемента является элемент schema или элемент redefine). Остальные атрибуты задают следующие свойства:

abstract – указывает, что элемент просто задает другие

элементы, которые находятся в его группе подстановки (substitutionGroup);

block – запрещает замену этого элемента элементом его

группы подстановки (значение substitution) или запрещает замену этого типа элемента производным

сужающим типом (значение restriction) или расширенным типом (значение extension), если же задано значение #all, то блокируются все приведенные выше замены;

final – действует аналогично атрибуту block, но блокирует

только замены типа restriction и/или extension;

8

Схема XML. Элемент element. Атрибуты (2)

maxOccurs – задает максимальное число появлений элемента в документе (элемент может также появляться в документе сколько угодно раз – значение unbounded), по умолчанию элемент может появиться в документе только один раз;

minOccurs – задает минимальное число появлений элемента (по умолчанию значение этого атрибута равно 1);

nillable указывает, что для элемента недоступно никакое

значение, когда для него задается атрибут nil;

substitutionGroup – указывает, что данный элемент может замещаться элементом, заданным в группе подстановки.

9

Схема XML. Элемент element. Примеры

1)<xs:element name="birthDate" type="xs:date"/>

Объявление элемента birthDate (дата рождения) с типом данных

date

<xs:element name ="author"

minOccurs="1" maxOccurs="5">

2)

<xs:simpleType>

 

 

 

<xs:restriction>

<xs:pattern

value="[A-Я][а-я]{1,18} [A-Я]\. [A-Я]\."> </xs:restriction>

</xs:simpleType> </xs:element>

Объявление элемента author (автор). Минимальное количество

 

элементов в документе XML – 1, максимальное – 5. Значением элемента

является шаблон для фамилии и инициалов автора.

10

 

Соседние файлы в папке Слайды