Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Таранова / Лекция-7xml.pptx
Скачиваний:
66
Добавлен:
19.05.2015
Размер:
469.09 Кб
Скачать

Корневой элемент XXX может, но не обязан, содержать один элемент AAA,за которым должен идти один или несколько элементов BBB. Элемент AAA в свою очередь может содержать один элемент CCC и несколько элементов DDD. Элемент BBB должен содержать ровно один элемент CCC и один элемент DDD.:

<!ELEMENT XXX (AAA? , BBB+)> <!

<!ELEMENT BBBAAA (CCC?, D, DDD*)>

<!

ELEMENT CCC (#PCDATA)> <!

ELEMENT DDD (#PCDATA)>

41

<!ELEMENT XXX (AAA+, BBB+)> <!ELEMENT AAA (#PCDATA)> <!ELEMENT BBB (#PCDATA)> <!ATTLIST AAA

true ( yes | no ) #REQUIRED> <!ATTLIST BBB

month (1|2|3|4|5|6|7|8|9|10|11| 12) #IMPLIED>

42

<!DOCTYPE XXX SYSTEM "tutorial.dtd"> <XXX>

<AAA true="yes"/> <AAA true="no"/> <AAA true="yes"/> <BBB month="8" /> <BBB month="2" /> <BBB month="12" />

</XXX>

43

XML-схема (XSD)

XML-схема - это основанная на XML современная альтернатива DTD, описывающая структуру XML-документа, в том числе:

Определяет элементы, которые могут появляться в документе;

Определяет атрибуты, которые могут появляться в документе;

Определяет, какие элементы являются дочерними;

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

Определяет число дочерних элементов;

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

Определяет типы данных элементов и атрибутов;

Определяет значения атрибутов по умолчанию.

44

XML схема поддерживает типы данных

Одним из мощнейших свойств XML схемы является поддержка типов данных:

Упрощается описание содержимого документа

Упрощается определение ограничений по данным

Упрощается проверка корректности данных

Упрощается преобразование данных из одного типа в другой

45

Простой пример схемы на XML Schema, расположенной в файле "country.xsd" и описывающей данные о населении страны:

<?xml version="1.0" encoding="utf-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="country">

<xs:complexType>

<xs:sequence>

<xs:element name="country_name" type="xs:string"/> <xs:element name="population" type="xs:decimal"/> </xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Пример документа, соответствующего этой схеме: <?xml version="1.0" encoding="utf-8"?>

<country> <country_name>France</country_name> <population>59.7</population> </country>

46

Элемент <schema> - это корневой элемент каждой XML схемы:

<?xml version="1.0"?>

<xs:schema>

...

...

</xs:schema>

47

Элемент <schema> может содержать некоторые атрибуты. Часто декларация схемы имеет, например, такой вид:

<?xml version="1.0"?>

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

...

...

</xs:schema>

xmlns:xs="http://www.w3.org/2001/XMLSchema"

указывает на то, что используемые в схеме элементы и типы данных относятся к пространству имен "http://www.w3.org/2001/XMLSchema". Также здесь указывается, что элементы и типы данных, относящиеся к пространству имен "http://www.w3.org/2001/XMLSchema", должны иметь префикс xs

48

Так как мы сделали доступным пространство имен образцов XML схемы мы можем использовать атрибут noNamespaceSchemaLocation:

< xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSc hema-instance" xsi:noNamespaceSchemaLocation=“book.x sd">

. . . . . .

</ xs:schema >

49

Элементы XML-схемы группируются по своей функциональности:

Элементы верхнего уровняПримитивы

Множественные XML-документы и пространства имен

Ограничения IDENTITYАтрибутыИменованные объекты схемы

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

50

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