Слайд 1XML
© Составление, Будаев Д.С., Гаврилов А.В., 2013
Лекция 13
УНЦ «Инфоком»
Самара
2013
Слайд 2План лекции
Общие принципы
Document type definition
SAX и DOM
Работа с SAX и
DOM в Java
Запись XML в Java
XML-сериализация в Java
Слайд 3У истоков
Standard Generalized Markup Language (SGML)
Предназначался для описания структуры сложных
документов
Был разработан в 1970 году
Основные цели:
Все документы должны быть выполнены
в строгом соответствии с правилами
Уменьшение количества документации
Слайд 4Наследники
Hypertext Markup Language (HTML)
Язык разметки гипертекста (описание представления Web-страницы)
Extensible Markup
Language (XML)
Язык для описания иерархических данных (портируемое хранение данных)
http://www.w3.org/http://www.w3.org/XML/
Слайд 5Отличия XML от HTML
XML чувствителен к регистру
В XML нужно закрывать
тэги
В XML часто встречаются тэги, одновременно открывающие и закрывающие
/>
В XML значения атрибутов должны быть заключены в кавычки
В XML все атрибуты должны иметь значения
Слайд 6Пример XML
Helvetica 36
Times Roman 12
400 200
0
50
100
Слайд 7Структура XML-документа
Заголовок
Объявления типа документа
Корневой элемент
web-app PUBLIC "-//Sun Microsystems, Inc.
//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
Слайд 8Структура XML-документа
Смешанное наполнение не рекомендуется
Существуют атрибуты
Helvetica
36
Helvetica
36
Слайд 9Некоторые инструкции
Символы
Стандартные символы
Инструкции обработки
Комментарии
é, ™
< > & " '
This is a comment. -->
Слайд 10Правильный документ
Начинается с объявления
Содержит один уникальный корневой элемент
Все открытые теги
закрываются
Учтена чувствительность к регистру
Теги корректно вложены друг в друга
Значения всех
атрибутов заключены в кавычки
Специальные символы задаются с помощью инструкций
Слайд 11Document Type Definition
(DTD)
Содержит правила, описывающие структуру документа
Транслятор может автоматически проверять
документ на соответствие этим правилам
Описывает дочерние элементы и атрибуты для
каждого элемента
Включение в XML-документ
Слайд 13Примеры выражений
Описание меню
Описание шрифта
size (#PCDATA)>
Описание главы в книге
(intro,(heading,(para|image|table|note)+)+)>
Слайд 16Примеры выражений
gridbag (row)*>
CDATA "1">
|SOUTHEAST|SOUTH|SOUTHWEST|WEST|NORTHWEST)
"CENTER">
Слайд 17XML Schema
Предназначена для того же, что и DTD
Для описания правил
используется непосредственно XML
Имеет более гибкие возможности, чем DTD
Расширяема
Более гибкие возможности
Есть
понятие типа данных
Есть понятие пространства имен
Сложнее в восприятии и программировании средств, ее обрабатывающих
www.w3.org/XML/Schema
http://www.w3schools.com/Schema/default.asp
Слайд 18Поддержка типов данных
Проще описывать допустимое содержимое документа
Проще проверять корректность данных
Проще
накладывать ограничения на данные
Проще определять формат данных
Слайд 19XML Schema описывается на XML
Не требуется изучение еще одного языка
Вы
можете использовать свой любимый XML-редактор для работы со схемой
Вы можете
работать со схемой программно
Вы можете изменять свою схему с помощью XSLT
Слайд 20Документ и тип DTD
Tove
Jani
Reminder
Don't forget
me this weekend!
from (#PCDATA)>
Слайд 23Extensible Stylesheet Language (XSL)
Комплекс технологий, связанных с преобразованием и представлением
XML-документов
Обычно используется для преобразования документов в XML, HTML, текст и
PDF (XSL-FO)
XSL Transformations (XSLT) – язык, на котором описываются правила преобразования
XPath – язык, позволяющий формулировать используемые в процессе преобразования выражения, использующие различные фрагменты документа
http://www.w3.org/Style/XSL/
http://www.w3schools.com/xsl/
Слайд 24XPath
Вспомогательный язык, позволяющий обращаться к элементам документа
Имя элемента представляется в
виде пути
/bookstore/book/title
Обращение может происходить и к атрибутам
http://www.w3.org/TR/xpath
http://www.w3schools.com/Xpath/default.asp
Слайд 26Принципы XSL
Контекстно-зависимый язык
Основные элементы – выводимый текст и шаблоны
Текст просто
выводится
Шаблоны описывают некоторые действия
Могут быть вызваны явно
Могут быть вызваны неявно,
по условию совпадения шаблона
Имеются средства управления ходом выполнения
Позволяет создавать и вызывать бибилиотеки с помощью тега
Слайд 27Пример XML (catalog.xml)
Empire Burlesque
Bob Dylan
USA Columbia 10.90 1985
Hide your heart
Bonnie Tyler
UK
CBS Records
9.90
1988
…
Слайд 28Пример XSL (tranformation.xsl)
My CD Collection
Title |
Artist |
|
|