XML-теория.pptx
- Количество слайдов: 50
Практическое занятие 1. Использование технологий разметки для структурирования и обмена данными 1. С помощью языка разметки XML организуйте структуру контента web- сервиса заданной в варианте индивидуального задания предметной области (разработайте xml-словарь, реализуйте структуру представления модулей и данных). 2. Создайте DTD-схему для проверки валидности структуры контента web-сервиса, убедитесь в ее корректности и соответствии xml-документа данной схеме. 3. Создайте XML-схему (схему XSD) для проверки валидности структуры контента webсервиса, убедитесь в ее корректности. 4. Создайте новый проект с названием Validate. XML в инструментальной среде Microsoft Visual Studio текущей версии. Загрузите в него созданные ранее xml-документ и xml-схему, убедитесь в соответствии xml-документа загруженной схеме. 5. Для преобразования необходимых модулей в формат HTML создайте соответствующие таблицы XSLT. Убедитесь в корректности их работы. 6. С помощью таблицы XSLT преобразуйте необходимые части контента web-сервиса в HTML. 7. Структурируйте получившийся HTML-контент: разместите данные на различных страницах, оптимизируйте работу с контентом. 8. Откорректируйте созданные ранее шаблоны XSLT для преобразования xml в html формат таким образом, чтобы данные на страницах HTML отображались с использованием оформления, соответствующего теме контента web-сервиса. 9. В случае необходимости добавьте элементы HTML на страницы web- сервиса, необходимые для обмена информацией между клиентской и серверной частями приложения (формы, поля и т. п. ). 10. Продумайте возможные API для интеграции потенциальной информационной системой. созданного Вами модуля web-сервиса с
XML cвое название расширяемый язык разметки XML (Extensible Markup Language) получил по той причине, что в нем нет фиксированного формата, как в HTML. В то время как язык HTML ограничивается набором твердо закрепленных тегов, пользователи XML могут создавать свои собственные тэги, которые бы отвечали тематике документа. Таким образом, XML - это метаязык. Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов.
Сходство с HTML • В XML существуют открывающие, закрывающие и пустые тэги. • Теги в документе могут быть вложены друг в друга. • Теги начала и конца элемента являются основными используемыми в XML разметками. Так же как и в HTML тэги могут иметь атрибуты, причем количество атрибутов зависит от фантазии автора. • Документы XML могут содержать ссылки на другие объекты.
Основные отличия от HTML Большое внимание уделяется контролю документа. Проверка действительности документа предполагает выполнение следующих действий: • Синтаксическая проверка; • Проверка валидности документа.
Части XML документа Процессинговые инструкции Элементы Корневой элемент Дочерние элементы Атрибуты Комментарии xml version="1. 0"? >
Процессинговые инструкции • Процессинговые инструкции внешнему приложению : • Используются для отправки команд внешнему приложению; • Количество процессинговых инструкций не ограничено. • Процессинговые инструкции XML-процессору – XML декларация • Начинается с ключевых слов; • Может появляться только один раз в самом начале документа; • Используется для объявления версии XML и кодировки xml version="1. 0" encoding="UTF-8"? >
Элементы XML документа
Атрибуты элемента • Декларируются в открывающем тэге; • Несколько атрибутов разделяются пробелами; • Атрибут состоит из имени и значения • Каждое имя должно быть уникально в рамках одного элемента; • Нельзя использовать пробелы в именах атрибутов; • Значение атрибута должно быть в кавычках.
Комментарии • Не могут быть внутри тэга Well-Formed
Текстовые данные • Существуют 5 заданных сущностей
Пространство имен – это набор имен элементов, идентифицированных одной ссылкой. Проблема:
Пространство имен • Подход к именованию пространства имен - использование URI (универсальный идентификатор ресурса)
Понятие валидации XML-документа Valid XML Not Valid XML
Ход проверки документа Передаваемые между системами данные должны проверяться для обработки Клиент Организация A 1 2 Организация B 3 2 3 1. Проверка пользовательского ввода перед загрузкой 2. Валидация (проверка) словаря XML документа 3. Валидация (проверка) бизнесс-логики приложения.
DTD схема Document Type Definition Определение типа документа
Схема DTD (Document Type Definition) DTD – это язык описания структуры документа. Он описывает: • Какие элементы могут присутствовать в документе; • Вхождение элементов (повторения и т. п. ); • Возможные атрибуты элементов; • Обязательные / необязательные атрибуты; • PCDATA и CDATA; • Применяемые в документе сущности.
Элементы в DTD-схема: XML-документ:
Элементы в DTD • Пустые элементы: • Элементы с произвольным содержимым:
Модификаторы DTD Модификатор Значение * Элемент может появиться сколько угодно раз или не появиться вообще ? Элемент может появиться только один раз или не появиться вообще + Элемент должен появиться как минимум один раз • Выборочное вхождение элементов
Атрибуты DTD-схема: XML-документ:
Сущности DTD-схема: XML-документ:
Включение схемы DTD в XMLдокумент n Внешняя декларация DTD n DTD схема n Внутренняя декларация DTD bookstore (book)*> book (title, author*, price)> book genre CDATA #REQUIRED> title (#PCDATA)> author (name | (first-name, last-name))> price (#PCDATA)> name (#PCDATA)> first-name (#PCDATA)> last-name (#PCDATA)> xml version='1. 0'? >
Проверка соответствия XMLдокумента схеме
Схема XML XSD-схема
XML схема Описывает структуру XML-документа: • Определяет элементы, которые могут появляться в документе; • Определяет атрибуты, которые могут появляться в документе; • Определяет, какие элементы являются дочерними; • Определяет последовательность, в которой появляются дочерние элементы; • Определяет число дочерних элементов; • Определяет пустой ли элемент или он может включать в себя текст; • Определяет типы данных элементов и атрибутов; • Определяет значения атрибутов по умолчанию.
Пример работы со схемами:
XML-схема
Типы элементов XML-схемы • Простые типы (Simple Type); • Сложные типы (Complex Type).
Простые элементы
Сложные элементы
Типы данных XML-схемы имеют множество встроенных типов данных. Чаще всего встречаются: • • • string; decimal; integer; boolean; date; time.
XSLT e. Xtensible Stylesheet Language Transformations
XSLT (e. Xtensible Stylesheet Language Transformations) это декларативное описание преобразования (трансформации) любого XML-документа. Спецификация XSLT входит в состав XSL и является рекомендацией W 3 C.
Таблица стилей XSLT • Таблица преобразования XML-документов. • С ее помощью можно создавать различные типы документов на выходе: • HTML-документы (HTML с синтаксисом XML); • Другие XML документы (с отличной от исходного документа грамматикой); • Текстовые документы.
Использование возможностей XSLT Таблицы XSLT предоставляют широкий спектр возможностей, например позволяют: • Трансформировать одну XML-грамматику в другую; • Отфильтровывать нежелательные данные; • Сортировать XML-данные; • Реструктуризировать XML-документ; • Выполнять вычисления.
Трансформация XML-документа в другой XML-документ XML документ + XSLT процессор XML-документ с другой грамматикой XSLT таблица
Трансформация XML в HTML • Трансформация XML в HTML с использованием XSLT XML документ + XSLT процессор HTML документ XSLT таблица
Reid | 91000 |
Три основных способа преобразования XMLдокументов с помощью XSLT в другие форматы: 1. XML-документ и связанная с ним таблица стилей отправляются клиенту (веб-браузеру), который преобразует документ как указано в таблице стилей, и после этого представляет результат пользователю. 2. Сервер применяет таблицу стилей XSLT к XMLдокументу и преобразует его в другой формат (обычно, в HTML). После этого результат отправляется клиенту (веб-браузеру). 3. Какая-то программа преобразует оригинальный XMLдокумент в другой формат (обычно, в HTML), затем результат помещается на сервер. И сервер, и клиент имеет дело с уже преобразованным документом.
Создание XSLT файла • Файл XSLT – это XML-документ. • Используемое пространство имен:
Структура таблицы XSLT • Единственный элемент
Работа с шаблонами
Шаблонное совпадение
Применение шаблонов для выборочных узлов •
Именованные шаблоны
Создание узлов-элементов
Создание узлов-атрибутов Создание наборов атрибутов
Создание текстовых узлов
Создание комментариев и процессинговых инструкций