Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
197
Добавлен:
17.04.2018
Размер:
333.31 Кб
Скачать

ИП. XML. Корректность

МИЭТ, 2017

Поскольку в XML некоторые символы имеют специальное значения, в текстах тегов и атрибутов такие символы должны быть заменены на специальные последовательности:

Символ

Заменяющая последовательность

<

<

&

&

>

>

` (амперсанд)

'

'' (двойная кавычка)

"

В XML определены два метода записи специальных символов: ссылка на сущность (entity) и ссылка по номеру символа.

Задание символа кодом: код: AT&T

ИП. XML. Пространство имен

МИЭТ, 2017

При использовании XML документов возможны ситуации конфликтор имен т. е. ситуации когда одно и то-же имя элемента определяет элемент с разным содержанием. Например, это может быть при объединении больших XML документов.

Решение - определение пространств имен вида:

xmlns[:prefix]="пространство имен"

Пример использования пространства имен:

<?xml version="1.0" encoding="utf-8"?> <vuz:document xmlns:vuz="http://www.miet.ru"

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

<vuz:kafedra>

<title>ИПОВС</title>

<authors>

<author>Гагарина Л.Г.</author> <author>Илюшечкин В.М.</author>

<authors>

</vuz:section>

</vuz:document>

ИП. XML. XML-схема

МИЭТ, 2017

XML схема описывает структуру XML документа в виде подобном самому XML документу. Это позволяет получить функциональность DTD не запоминая синтаксис DTD.

XML-схема

DTD

Определение модели содержания (т.е. правила вхождения элементов друг в друга и порядок следования друг за другом и допустимое количество одних элементов в других)

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

Определение значений по умолчанию

 

Поддерживают типы данных

Определение сущностей (подстановок)

Расширяются (наследованием)

 

Поддерживают пространства имен

 

ИП. XML. XML-схема

МИЭТ, 2017

Каждая XML-схема содержит корневой элемент <shema>

<xs:schema

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

// элементы с префиксом xs будут относиться к пространству имен www.w3.org

xmlns="http://miet.ru"

// элементы без префикса будут относиться к пространству имен miet.ru

targetNamespace="http://miet.ru"

// элементы определяемые этой схемой будут относиться к пространству имен miet.ru

>

// определения элементов

</xs:schema>

Подключение схемы к XML документу. Схема подключается к элементу

<projects xmlns:miet="http://www.w3.org/2001/XMLSchema-instance" miet:schemaLocation="portfolio.xsd">

// содержание: xml-теги и т.д

</projects>

ИП. XML. XML-схема. Простые элементы

МИЭТ, 2017

Простые элементы не имеют ни атрибутов ни вложенных элементов

Формат: <xs:element name="name" type="date_type"/>

Наиболее часто используемые типы данных (date_type):

xs:string

xs:decimal

xs:integer

xs:boolean

xs:date

xs:time

<!-- определение простых элементов --> <xs:element name="title" type="xs:string"/>

<!-- элемент в XML -->

<title>Мобильное приложение “Student Assistant”</title>

ИП. XML. XML-схема. Атрибуты

МИЭТ, 2017

Формат: <xs:attribute name="name" type="date_type"/>

Наиболее часто используемые типы данных (date_type):

xs:string

xs:decimal

xs:integer

xs:boolean

xs:date

xs:time

<!-- определение атрибутов -->

<xs:attribute name="year" type="xs:integer" default="2017"/>

<!-- элемент в XML -->

<project id="000001" year="2017">

ИП. XML. XML-схема. Составные элементы

МИЭТ, 2017

Существует четыре вида составных элементов:

элементы, которые содержать только другие элементы

элементы, которые содержать как другие элементы, так и текст

элементы, которые содержать только текст

пустые элементы при этом все они могут содержать атрибуты

Описание элемента, который может содержать только другие элементы

<!-- определение составных элементов -->

<xs:element name="projects">

<xs:complexType>

<xs:sequence>

<xs:element ref="project" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

</xs:element>

ИП. XML. XML-схема. Составные элементы

МИЭТ, 2017

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

<!-- определение составных элементов -->

<xs:element name="author">

<xs:complexType>

<xs:simpleContent> <xs:extension base="xs:string">

<xs:attribute ref="country"/>

</xs:extension>

</xs:simpleContent> </xs:complexType>

</xs:element>

Описание пустого элемента. Например: <product articul="1345" />

<!-- определение составных элементов -->

<xs:element name="product">

<xs:complexType>

<xs:attribute name="articul" type="xs:positiveInteger"/>

</xs:complexType>

</xs:element>

ИП. XML. XML-схема. Составные элементы

МИЭТ, 2017

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

<!-- определение составных элементов -->

<xs:element name="projects"> <xs:complexType mixed="true">

<xs:sequence>

<xs:element ref="project" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence>

</xs:complexType>

</xs:element>

ИП. XML. XML-схема. Индикаторы

МИЭТ, 2017

Индикаторы очередности:

all

-

любой порядок элементов

choice

- либо один элемент, либо другой

sequence

-

точный порядок элементов

Индикаторы частотности:

minOccurs

-

минимальное число вхождений (0-отсутствие)

MaxOccurs

-

максимальное число вхождений

<!-- определение составных элементов --> <xs:element name="person">

<xs:complexType>

<xs:choice>

<xs:element name="full_name" type="xs:string"/>

<xs:element name="child_name" type="xs:string" maxOccurs="10" minOccurs="1"/>

</xs:choice>

</xs:complexType>

</xs:element>

Соседние файлы в папке Интернет технологии