XML - угату

advertisement
XML-ТЕХНОЛОГИИ
Лекция 1
Введение в XML
Курс «XML-технологии»

Лекций – 14 часов

Лабораторные работы – 16 часов

Зачет
Рекомендуемая литература

Эдди, С.Э. XML. : Наиболее полное руководство .— СПб. : Питер, 2000 .— 480с.

Миронов, В. В. XML- технологии в базах данных. Введение : [учебное пособие для
студентов высших учебных заведений, обучающихся по специальности 351400
"Прикладная информатика (по областям)" и другим междисциплинарным
специальностям] / В. В. Миронов, Н. И. Юсупова ; Уфимский государственный
авиационный технический университет (УГАТУ) .— Уфа : УГАТУ, 2004 .— 182 с.

Миронов, В. В. XML-технологии в электронных документах. Документы Word :
[учебное пособие для студентов вузов, обучающихся по специальности 080801
"Прикладная информатика (по областям" и другим междисциплинарным
специальностям] / В. В. Миронов, Н. И. Юсупова, Г. Р. Шакирова ; Уфимский
государственный авиационный технический университет (УГАТУ) .— Уфа : УГАТУ,
2009 .— 207 с.

Миронов, В. В. Иерархические модели данных: концепции и реализация на основе
XML : [монография] / В. В. Миронов, Н. И. Юсупова, Г. Р. Шакирова ; под ред. Н. И.
Юсуповой .— Москва : Машиностроение, 2011 .— 453 с.
Языки разметки. Терминология

Язык разметки (Википедия) – набор символов или
последовательностей, вставляемых в текст для передачи
информации о его выводе и строении
Языки разметки. Предыстория
В полиграфии
 Форматирование текста (шрифт, специальные
символы и пр.)
 Структурирование текста (заголовок, раздел, абзац и
пр.)
В информатике
 коды разметки (markup codes), вставляемые в
электронные тексты для управления
форматированием, печатью или иной обработкой.
Языки разметки. Предыстория
В полиграфии
В информатике
Языки разметки. Классификация

Логическая

Визуальная
SGML

GML — Generalized Markup Language —
язык обобщенной разметки — 1969 год

SGML — Standard Generalized Markup
Language — стандартизованный язык
обобщенной разметки — 1986 год
Структура SGML-документа

Пролог

DTD-определения

Тело документа
XML: определение
XML — Extensible Markup Language —
Расширяемый язык разметки
XML: стратегия разработчиков

Форма должна соответствовать функциональности

Документы должны распознаваться по их содержимому

Формат должен отделяться от представления

Язык должен быть простым
XML: рекомендации от W3C
1. Простота и эффективность применения любыми интернет-приложениями
2. Поддержка широкого набора приложений
3. Совместимость с языком SGML
4. Упрощенное создание программ, предназначенных для обработки XML-документов
5. Количество дополнительных свойств XML должно быть сведено к абсолютному
минимуму, в идеальном случае – к нулю
6. Простота распознавания человеком и отсутствие неоднозначности
7. Минимизация времени, затраченного на разработку XML-проекта
8. Формальность и лаконичность XML-проекта
9. Простота создания
10. Отсутствие избыточности для XML-разметки.
XML: требования к структуре

имена элементов и атрибутов должны записываться с учетом
чувствительности к регистру символов;

все элементы должны быть корректно закрыты;

элементы должны быть корректно вложенными и не
перекрывать друг друга;

все атрибуты должны иметь значения;

все значения атрибутов должны заключаться в кавычки.
Структура XML-документа
Инструкция по обработке
<?xml?>
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8"?>
Структура XML-документа
Элементы

Элемент XML-документа – это то, что заключено
между открывающим и соответствующим
закрывающим тегами

Имя элемента – имя тега

Пустые элементы:
<Test></Test> = <Test/>
Структура XML-документа
Атрибуты

Элемент может иметь несколько атрибутов

Каждый атрибут имеет имя и значение

Значение атрибута заключается в кавычки:
<Test attribute="Test">Текст и т.д.</Test>
Структура XML-документа
Вложение элементов

Вложение – это размещение элементов внутри других
элементов

Родительские элементы → дочерние элементы

Каждый дочерний элемент должен заканчиваться до
начала следующего дочернего элемента:
<X><Y1></Y1><Y2></Y2></X> − Y1,Y2 – дочерние
элементы для X
<X><Y1><Y2></Y2></Y1></X> − Y1 – дочерний элемент
для X, Y2 – дочерний элемент для Y1
Структура XML-документа
Правильные и неправильные документы

Правильный XML = корректный XML = well-formed
XML

Правильный XML – это код XML, составленный с
соблюдением всех правил XML: правильное
именование элементов, вложение, именование
атрибутов и т. п.
Структура XML-документа
Сущности

Сущности — мнемонические коды, определяющие некоторое
содержимое:
<!ENTITY имя_сущности "значение_сущности">
Пример
Объявление:
<?xml version="1.0"?>
<!DOCTYPE report SYSTEM "/xml/dtds/reports.dtd" [
<!ENTITY customer "Acme, Inc.">
]>
Использование:
<report><title>Отчет о тестировании</title>
<summary>В результате выполнения последнего регрессионного
тестирования были получены превосходные результаты. Теперь заказ для
&customer; завершен, и можно предоставить финальный код.</summary>

Структура XML-документа
Сущности

Сущности можно объявлять как внешние ресурсы :
<!ENTITY имя_сущности SYSTEM "URL">
Пример
Объявление:
<?xml version="1.0"?>
<!DOCTYPE report SYSTEM "/xml/dtds/books.dtd" [
<!ENTITY chapter01 SYSTEM "chapter01.xml">
]>
Использование:
<book><title>Какая-то книга</title>
<Ch1>Содержание первой главы имеет следующий вид:
& chapter01;</Ch1></book>

Структура XML-документа
Пространства имен
Пространство имен XML – это уникально именованное множество, которому
могут принадлежать имена элементов и атрибутов XML-документа.
Префикс пространства имен – это краткое обозначение пространства имен в
пределах документа, вводимое для того, чтобы не записывать громоздкий URI
с каждым локальным именем.
Полное имя объекта: URI пространства имен (глобальный); префикс
пространства имен (локальный); имя (локальное)
Структура XML-документа
Пространства имен
Пример:
<!-- Элемент данных в одном документе -->
<table>
<tr><th>Date</th><th>Заказчик</th><th>Количество</th></tr>
<tr><td>25-01-2005</td><td>Acme, Inc</td><td>125.61</td></tr>
...
</table>
<!-- Домашняя мебель в другом документе /-->
<table>
<type>Обеденный</type><width>4</width><length>8</width>
<color>Вишня</color>
</table>
Объявление пространства имен с префиксом:
<furniture:table xmlns:table="http://www.w3.org/XML/">
Структура с пространствами имен:
<furniture:table><type>Обеденный</type><width>4</width><length>8</width><color>Вишн
я</color></furniture:table>
XML: требования к структуре на практике
имена элементов и атрибутов должны записываться с учетом
чувствительности к регистру символов:
<Студент/>
<студент/>
<СТУДЕНТ/>
<СТудент/> и т. д. — разные элементы


все элементы должны быть корректно закрыты:
Правильно: <Студент>…</Студент>
Неправильно: <Студент>…</студент2>
XML: требования к структуре на практике
элементы должны быть корректно вложенными и не
перекрывать друг друга:
Правильно: <Группа> <Студент>…</Студент> </Группа>
Неправильно: <Группа> <Студент>…</Группа></Студент>



все атрибуты должны иметь значения:
Правильно: <Студент ФИО="Иванов"/>
Неправильно: <Студент ФИО/>
все значения атрибутов должны заключаться в кавычки:
Правильно: <Студент ФИО="Иванов"/>
Неправильно: <Студент ФИО =Иванов/>
XML-анализаторы:
событийно-управляемый
XML-анализаторы:
древовидный
Download