Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Технология преобразования документов XSLT

Тип Реферат
Предмет Информатика и программирование
Просмотров
472
Размер файла
148 б
Поделиться

Ознакомительный фрагмент работы:

Технология преобразования документов XSLT

Московский государственный технический университет имени Н.Э. Баумана

Домашнее задание по курсу: “Технология XML”

Тема: “Технология XSLT”

Выполнила: студентка Заварзина В.В.

Проверил: Гапанюк Ю.Е.

Москва, 2010

Содержание

Введение

XSLT как язык

Преобразования

Области применения XSLT

XSLT в архитектуре клиент-сервер

XSLT на стороне сервера

XSLT на стороне клиента

Пространство имен в XSLT

XSLT и другие языки

Введение

XSLT означает eXtensibleStyleSheetLanguageforTransformation, что на русский язык традиционно переводится как “расширяемый язык стилей для преобразований”. Работа над XSLT была инициирована проектом XSL - eXtensibleStyleSheetLanguage (расширяемым языком стилей).

Спецификация XSLT гласит, что это язык для преобразования одних XML – документов в другие XML – документы. Но по мере развития язык перерос ее и теперь уместнее сказать, что XSLT – это язык для преобразования структуры документов.


XSLT как язык

Любое преобразование можно условно поделить на 3 составляющие:

1. Обращение к преобразуемому объекту;

2. Создание результата преобразования;

3. Логика, связывающая первые два действия и направляющая процесс преобразования.

Применительно к преобразованию XML – документов первая подзадача означает получение информации, которую этот документ содержит – в том числе и информацию о структуре, которая является неотъемлемой его частью. Обращение в данном случае имеет несколько смыслов, в том числе – опрашивать, делать запросы, вычислять, выбирать; в общем смысле – задавать о документе вопросы и получать на них ответы. Для этой цели в XSLTслужитязык, называемый XPath – язык путей в XML – документах. XPath является лаконичным, но при этом очень мощным средством обращения к XML – документам. Роль XPath в XSLT так велика, что их можно было бы считать единым целым, если бы только XPath не использовался также и в других языках, предназначенных для работы с XML.

Вторая и третья условные части преобразования являются прерогативой самого XSLT. XSLT – это XML – язык в полном смысле этого слова: программы на XSLT являются хорошо оформленными XML – документами. XSLT также использует пространство имен; практически все имена, которые встречаются в XSLT рассматриваются как расширенные имена, характеризуемые локальной частью вкупе с URI – уникальным идентификатором пространства имен.

В отличие от традиционных императивных языков программирования, преобразование в XSLT не является последовательностью действий, которую необходимо выполнить для достижения результата. Преобразование – это набор шаблонных правил, каждое из которых определяет процедуру обработки определенной части документа.

XSLT – интерпретация “Hello? World!”, когда мы преобразуем документ:

Синтаксис XSLT, являющийся чистым XML, может показаться для языка программирования не совсем обычным, однако, вряд ли какой другой синтаксис был бы более удобным.

Преобразования

В преобразовании в основном участвуют три документа:

- входящий документ, который подвергается преобразованию;

- документ, который описывает само преобразование;

- выходящий документ, который является результатом преобразования.


Схема XSLT – преобразования

Процессор получает входящий документ и преобразование, и, применяя правила преобразования, генерирует выходящий документ – такова в общем внешняя схема картины. На самом деле процессор оперирует не самими документами, а древовидными моделями их структур – именно структурными преобразованиями занимается XSLT, оставляя за кадром синтаксис, который эти структуры выражает.

Древовидные структуры XSLT

Хотя практически все процессоры выполняют каждый из трех этапов, рабочей областью XSLT является только второй этап, этап преобразования. XSLT практически не контролирует парсинг входящего документа, как правило этим занимается встроенный или внешний SAX- или DOM- парсер.

Сериализация является процессом создания физической интерпретации результирующего дерева, а если эта задача делегируется XSLT – процессору, то преобразованию под силу контролировать физический вывод генерируемого документа.

Сериализация в XSLT

Области применения XSLT

В отличие от языка XML, предметную область XSLT задать очень легко. XSLT следует применять там, где необходимо преобразование одного документа в другой.

Естественно, XSLT имеет также и некоторые ограничения:

- XSLT не подходит для описания преобразований с очень сложной логикой;

- XSLT не подходит для преобразований, которые требуют сложных вычислений.

Первое ограничение связано с тем, что преобразование XSLT – это всего лишь набор элементарных правил. В подавляющем большинстве случаев этого достаточно для описания преобразования, однако встречаются также и такие задачи, для которых данного набора правил будет недостаточно. Например, древовидные структуры могут описываться математическими выражениями, но при этом преобразование для упрощения или вычисления этого дерева выражений может быть чересчур сложным для XSLT.

Второе ограничение является следствием простоты языка XPath, который используется в XSLT для вычислений. XPath предоставляет только самые простейшие вычислительные конструкции, которых явно недостаточно для сложных задач. Кроме того, функциональный стиль XSLT и отсутствие изменяемых переменных делают очень затруднительными многошаговые и циклические вычисления.

XSLT в архитектуре клиент-сервер

Многие из систем, применяющих XSLT, так или иначе, сводятся к клиент-серверной архитектуре, в которой клиент делает запрос, а сервер в качестве ответа возвращает некоторые данные. XSLT в таких решениях может использоваться для приведения структуры данных из внутреннего формата сервера к некоторому внешнему формату, понятному клиенту. Примером подобной системы может быть Web-сервер, предоставляющий клиентам информацию, которая динамически генерируется из базы данных.

Классическим и широко применяемым решением для такого рода задачи являются серверные компоненты, сервлеты и различные скриптовые языки, которые преобразуют запросы клиента в запросы к базе данных, а затем оформляют результаты выполнения в виде HTML и отсылают клиенту.

Минус этого решения в том, что оно слишком сильно зависит от презентации данных. Новая презентация или сравнительно серьезное исправление старой заставляют, чуть ли не полностью переписывать Web-приложение.

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

Схема взаимодействия XML и XSLT в архитектуре клиент-сервер

На этой схеме нет четкой границы, которая отделяла бы клиент от сервера. Дело в том, что существует два принципиально различных способа использования XSLT в подобной архитектуре: преобразования могут выполняться как на стороне сервера, так и на стороне клиента.

XSLT на стороне сервера

Применение XSLT на стороне сервера совершенно незаметно для клиента – он, как и раньше, в ответ на свой вопрос получает HTML или документ в другом требуемом формате. В данном случае связка XML+XSLT является дополнительным звеном, дополнительным уровнем абстракции, который позволяет отделять данные от презентации, добиваясь простоты и универсальности. Создание преобразований для генерации HTML по имеющимся XML-документам – задача совершенно иного плана, чем написание серверных приложений и программ, которые непосредственно работают с результатами выполнения запросов к базе данных.

Минусом этого способа является то, что мы все равно возвращаем клиенту представление данных, а не сами данные. Естественно, используя XSLT, множество доступных представлений расширить очень легко, но это множество в любом случае будет ограничено. Для большинства Web- систем этого более чем достаточно, но существующие Web-технологии больше ориентированы на представление данных, чем на сами данные – они стараются предвосхитить вопросы на заранее процедуры ответов.

XSLT на стороне сервера

XSLT на стороне клиента

Идея использования XSLT на стороне клиента заключается в том, чтобы отдавать клиенту отдельно нужные ему данные и отдельно преобразование, которое будет создавать для этих данных требуемое представление. Четкое разделение данных и их представления предоставит клиенту полную свободу распоряжаться полученной информацией. Преобразование в этом случае всего лишь предлагает возможную трактовку этой информации, ни к чему не обязывая.

Еще одним достоинством выполнения преобразований на стороне клиента является разгрузка сервера, ведь такой подход освобождает его от необходимости выполнять процедуру преобразования.

Основным ограничением этого способа является предложение, что программное обеспечение на стороне клиента сможет выполняться преобразования. К сожалению, решение такого вида может применяться только в очень ограниченном числе случаев – когда достоверно известно, что целевой клиент поддерживает XSLT.

преобразование документ сервер стиль

Пространство имен в XSLT

Для того, чтобы выделить элементы и атрибуты, которые принадлежат логической схеме XSLT, в этом языке применяется механизм пространств имен. Это означает, что в документе, преобразования элементы, относящиеся к XSLT, должны принадлежать его пространству имен.

Уникальный идентификатор ресурса пространства имен XSLT имеет вид: http://www.w3.org/199/XSL/Transform

Пример простого преобразования, в котором объявлено пространство имен:

XSLT и другие языки

Несмотря на то, что XSLT является вполне самостоятельным языком, его очень часто используют как составную часть в проектах, которые пишутся на других языках программирования. Тому существует множество причин. Попытаемся выделить главные из них:

· Традиционные императивные языки программирования очень плохо подходят для обработки древовидно структурированных данных. Программы, действия в которых непременно выполняются последовательно одно за другим, в общем случае не могут эффективно (с точки зрения компактности и понятности кода) обработать сложные иерархические структуры.

· В некоторых случаях XSLT-преобразования документов оказываются, наоборот, настолько сложны, что из соображений эффективности и простоты бывает намного легче использовать традиционные языки.

· Во многих проектах использование XSLT может обеспечить лёгкую и гибкую интеграцию. Например, если одним из этапов процедуры обмена XML-данными будет XSLT-преобразование, расширение количества форматов, известных системе, будет производиться не дописыванием исходного кода, а добавлением преобразований. А поскольку XSLT обеспечивает не только синтаксические, но и семантические преобразования, то есть преобразования на структурном уровне, роль этого языка в проектах интеграции, основанных на использовании XML, может быть очень велика.

· Использование XSLT-преобразований может коренным образом упростить создание web-ориентированных приложений. Надо сказать, что во многих случаях XSLT-преобразования просто избавляют от необходимости программировать что-либо на других языках; однако даже тогда, когда без традиционных подходов не обойдёшься, XSLT служит хорошую службу, обеспечивая простой, удобный и легко настраиваемый вывод фрагментов HTML.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно