Скачать презентацию Практическое занятие 1 Использование технологий разметки для структурирования Скачать презентацию Практическое занятие 1 Использование технологий разметки для структурирования

XML-теория.pptx

  • Количество слайдов: 50

Практическое занятие 1. Использование технологий разметки для структурирования и обмена данными 1. С помощью Практическое занятие 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) получил по той причине, XML cвое название расширяемый язык разметки XML (Extensible Markup Language) получил по той причине, что в нем нет фиксированного формата, как в HTML. В то время как язык HTML ограничивается набором твердо закрепленных тегов, пользователи XML могут создавать свои собственные тэги, которые бы отвечали тематике документа. Таким образом, XML - это метаязык. Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов.

Сходство с HTML • В XML существуют открывающие, закрывающие и пустые тэги. • Теги Сходство с HTML • В XML существуют открывающие, закрывающие и пустые тэги. • Теги в документе могут быть вложены друг в друга. • Теги начала и конца элемента являются основными используемыми в XML разметками. Так же как и в HTML тэги могут иметь атрибуты, причем количество атрибутов зависит от фантазии автора. • Документы XML могут содержать ссылки на другие объекты.

Основные отличия от HTML Большое внимание уделяется контролю документа. Проверка действительности документа предполагает выполнение Основные отличия от HTML Большое внимание уделяется контролю документа. Проверка действительности документа предполагает выполнение следующих действий: • Синтаксическая проверка; • Проверка валидности документа.

Части XML документа Процессинговые инструкции Элементы Корневой элемент Дочерние элементы Атрибуты Комментарии <? xml Части XML документа Процессинговые инструкции Элементы Корневой элемент Дочерние элементы Атрибуты Комментарии Mercury Venus

Процессинговые инструкции • Процессинговые инструкции внешнему приложению : • Используются для отправки команд внешнему Процессинговые инструкции • Процессинговые инструкции внешнему приложению : • Используются для отправки команд внешнему приложению; • Количество процессинговых инструкций не ограничено. • Процессинговые инструкции XML-процессору – XML декларация • Начинается с ключевых слов; • Может появляться только один раз в самом начале документа; • Используется для объявления версии XML и кодировки

Элементы XML документа <Element. Name> содержимое </Element. Name> • • • В имени элемента Элементы XML документа содержимое • • • В имени элемента не может быть пробелов; Имя не может начинаться с цифры или знака препинания; Имя не может начинаться с xml; content Нельзя допускать пробелов у кавычек (<); Регистрозависимость ; Первый элемент документа – корневой элемент; Все дочерние элементы должны быть в единственном корневом; Соблюдение вложенности элементов; Пустой дочерний элемент может записываться так:

Атрибуты элемента • Декларируются в открывающем тэге; • Несколько атрибутов разделяются пробелами; • Атрибут Атрибуты элемента • Декларируются в открывающем тэге; • Несколько атрибутов разделяются пробелами; • Атрибут состоит из имени и значения • Каждое имя должно быть уникально в рамках одного элемента; • Нельзя использовать пробелы в именах атрибутов; • Значение атрибута должно быть в кавычках. Willow Имя Значение

Комментарии • Не могут быть внутри тэга Well-Formed <plants><!--native --></plants> Not Well-Formed <plants<!--native -->></plants> Комментарии • Не могут быть внутри тэга Well-Formed Not Well-Formed > • Используется двойное тире <--native –frost tolerant --> <--native -- frost tolerant-->

Текстовые данные • Существуют 5 заданных сущностей <weather>Sunny & >32<weather> Неверно <weather>Sunny & > Текстовые данные • Существуют 5 заданных сущностей Sunny & >32 Неверно Sunny & > 32 Верно • Использование СDATA 32 AND Condition. Description = Sunny}]>

Пространство имен – это набор имен элементов, идентифицированных одной ссылкой. Проблема: <Order> <Employee> <Name>Jane Пространство имен – это набор имен элементов, идентифицированных одной ссылкой. Проблема: Jane Doe Developer The Joshua Tree U 2

Jane Doe" src="https://present5.com/presentation/1/312707111_442045586.pdf-img/312707111_442045586.pdf-12.jpg" alt="Пространство имен • Общий синтаксис: Jane Doe" /> Пространство имен • Общий синтаксис: Jane Doe Developer The Joshua Tree U 2 } } the http: //hrweb http: //market

Пространство имен • Подход к именованию пространства имен - использование URI (универсальный идентификатор ресурса) Пространство имен • Подход к именованию пространства имен - использование URI (универсальный идентификатор ресурса) Some Data More Data Jane Doe Developer The Joshua Tree U 2

Понятие валидации XML-документа Valid XML Not Valid XML <Orders>my data</Orders> <orders>my data</orders> XML Processor Понятие валидации XML-документа Valid XML Not Valid XML my data my data XML Processor Оба документа синтаксически корректны, но… Валидация Схема, разработанная для данного XML-документа Ошибка! В схеме корневой элемент документа обозначен строчными буквами! Приложение Только валидный документ может быть обработан сторонним приложением

Ход проверки документа Передаваемые между системами данные должны проверяться для обработки Клиент Организация A Ход проверки документа Передаваемые между системами данные должны проверяться для обработки Клиент Организация A 1 2 Организация B 3 2 3 1. Проверка пользовательского ввода перед загрузкой 2. Валидация (проверка) словаря XML документа 3. Валидация (проверка) бизнесс-логики приложения.

DTD схема Document Type Definition Определение типа документа DTD схема Document Type Definition Определение типа документа

Схема DTD (Document Type Definition) DTD – это язык описания структуры документа. Он описывает: Схема DTD (Document Type Definition) DTD – это язык описания структуры документа. Он описывает: • Какие элементы могут присутствовать в документе; • Вхождение элементов (повторения и т. п. ); • Возможные атрибуты элементов; • Обязательные / необязательные атрибуты; • PCDATA и CDATA; • Применяемые в документе сущности.

Элементы в DTD-схема: <!ELEMENT letter (title, message)> <!ELEMENT title (#PCDATA)> <!ELEMENT message (#PCDATA)> XML-документ: Элементы в DTD-схема: XML-документ: Заголовок письма Текст письма

Элементы в DTD • Пустые элементы: <!ELEMENT name EMPTY> • Элементы с произвольным содержимым: Элементы в DTD • Пустые элементы: • Элементы с произвольным содержимым:

Модификаторы DTD Модификатор Значение * Элемент может появиться сколько угодно раз или не появиться Модификаторы DTD Модификатор Значение * Элемент может появиться сколько угодно раз или не появиться вообще ? Элемент может появиться только один раз или не появиться вообще + Элемент должен появиться как минимум один раз • Выборочное вхождение элементов

Атрибуты DTD-схема: <!ATTLIST price currency CDATA #REQUIRED symbol CDATA #IMPLIED> XML-документ: <price currency = Атрибуты DTD-схема: XML-документ: 120

Сущности DTD-схема: <!ENTITY name “Hello, world!”> XML-документ: <element>&name; </element> Сущности DTD-схема: XML-документ: &name;

Включение схемы DTD в XMLдокумент n Внешняя декларация DTD n DTD схема n Внутренняя Включение схемы 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документа схеме Проверка соответствия XMLдокумента схеме

Схема XML XSD-схема Схема XML XSD-схема

XML схема Описывает структуру XML-документа: • Определяет элементы, которые могут появляться в документе; • XML схема Описывает структуру XML-документа: • Определяет элементы, которые могут появляться в документе; • Определяет атрибуты, которые могут появляться в документе; • Определяет, какие элементы являются дочерними; • Определяет последовательность, в которой появляются дочерние элементы; • Определяет число дочерних элементов; • Определяет пустой ли элемент или он может включать в себя текст; • Определяет типы данных элементов и атрибутов; • Определяет значения атрибутов по умолчанию.

Пример работы со схемами: Пример работы со схемами:

XML-схема XML-схема

Типы элементов XML-схемы • Простые типы (Simple Type); • Сложные типы (Complex Type). Типы элементов XML-схемы • Простые типы (Simple Type); • Сложные типы (Complex Type).

Простые элементы Простые элементы

Сложные элементы Сложные элементы

Типы данных XML-схемы имеют множество встроенных типов данных. Чаще всего встречаются: • • • Типы данных XML-схемы имеют множество встроенных типов данных. Чаще всего встречаются: • • • string; decimal; integer; boolean; date; time.

XSLT e. Xtensible Stylesheet Language Transformations XSLT e. Xtensible Stylesheet Language Transformations

XSLT (e. Xtensible Stylesheet Language Transformations) это декларативное описание преобразования (трансформации) любого XML-документа. Спецификация XSLT (e. Xtensible Stylesheet Language Transformations) это декларативное описание преобразования (трансформации) любого XML-документа. Спецификация XSLT входит в состав XSL и является рекомендацией W 3 C.

Таблица стилей XSLT • Таблица преобразования XML-документов. • С ее помощью можно создавать различные Таблица стилей XSLT • Таблица преобразования XML-документов. • С ее помощью можно создавать различные типы документов на выходе: • HTML-документы (HTML с синтаксисом XML); • Другие XML документы (с отличной от исходного документа грамматикой); • Текстовые документы.

Использование возможностей XSLT Таблицы XSLT предоставляют широкий спектр возможностей, например позволяют: • Трансформировать одну Использование возможностей XSLT Таблицы XSLT предоставляют широкий спектр возможностей, например позволяют: • Трансформировать одну XML-грамматику в другую; • Отфильтровывать нежелательные данные; • Сортировать XML-данные; • Реструктуризировать XML-документ; • Выполнять вычисления.

Трансформация XML-документа в другой XML-документ XML документ + XSLT процессор XML-документ с другой грамматикой Трансформация XML-документа в другой XML-документ XML документ + XSLT процессор XML-документ с другой грамматикой XSLT таблица Reid 91000

Трансформация XML в HTML • Трансформация XML в HTML с использованием XSLT XML документ Трансформация XML в HTML • Трансформация XML в HTML с использованием XSLT XML документ + XSLT процессор HTML документ XSLT таблица Reid 91000

Reid 91000

Три основных способа преобразования XMLдокументов с помощью XSLT в другие форматы: 1. XML-документ и Три основных способа преобразования XMLдокументов с помощью XSLT в другие форматы: 1. XML-документ и связанная с ним таблица стилей отправляются клиенту (веб-браузеру), который преобразует документ как указано в таблице стилей, и после этого представляет результат пользователю. 2. Сервер применяет таблицу стилей XSLT к XMLдокументу и преобразует его в другой формат (обычно, в HTML). После этого результат отправляется клиенту (веб-браузеру). 3. Какая-то программа преобразует оригинальный XMLдокумент в другой формат (обычно, в HTML), затем результат помещается на сервер. И сервер, и клиент имеет дело с уже преобразованным документом.

…" src="https://present5.com/presentation/1/312707111_442045586.pdf-img/312707111_442045586.pdf-40.jpg" alt="Подключение таблицы XSLT к XML-документу …" /> Подключение таблицы XSLT к XML-документу … XML document content …

Создание XSLT файла • Файл XSLT – это XML-документ. • Используемое пространство имен: <xsl: Создание XSLT файла • Файл XSLT – это XML-документ. • Используемое пространство имен: • Шаблоны XSLT: • Вывод данных:

Структура таблицы XSLT • Единственный элемент <xsl: stylesheet>; • XSLT шаблоны. <xsl: stylesheet version= Структура таблицы XSLT • Единственный элемент ; • XSLT шаблоны. … … … … … …

Работа с шаблонами Работа с шаблонами

Шаблонное совпадение Шаблонное совпадение

Применение шаблонов для выборочных узлов • <xsl: apply-templates> - применяет шаблоны для дочерних узлов; Применение шаблонов для выборочных узлов • - применяет шаблоны для дочерних узлов; • Для того, чтоб применить шаблоны для выборочных узлов, можно использовать атрибут select в .

Именованные шаблоны Именованные шаблоны

Создание узлов-элементов Создание узлов-элементов

Создание узлов-атрибутов Создание наборов атрибутов Создание узлов-атрибутов Создание наборов атрибутов

Создание текстовых узлов Создание текстовых узлов

Создание комментариев и процессинговых инструкций Создание комментариев и процессинговых инструкций