Технология XSLT

Технология XSLT

Книга посвящена разработке приложений для преобразования XML-документов с использованием XSLT — расширяемого языка стилей для преобразований. Обсуждается применение языков XSLT и XPath в решении практических задач: выводу документов в формате HTML, использованию различных кодировок для интернационализации и, в частности, русификации приложений, вопросам эффективности существующих подходов для решения проблем преобразования. Для иллюстрации материала используется большое количество примеров.

Для начинающих и профессиональных программистов

Жанр: Программирование
Серия: Мастер
Всего страниц: 168
ISBN: -
Год издания: 2002
Формат: Полный

Технология XSLT читать онлайн бесплатно

Шрифт
Интервал

Предисловие

О чем эта книга?

Сложно переоценить влияние, которое за последнюю пару-тройку лет оказало на информационные технологии появление и распространение расширяемого языка разметки XML (от англ. extensible Markup Language). XML-технологии нашли применение во множестве областей и стали незаменимыми инструментами для многих решений.

Вместе с тем, сам язык XML — это не более чем текстовый формат представления данных. XML не имеет особого смысла вне практических приложений и сила XML — прежде всего в прикладных технологиях, которые связаны с этим языком.

Эта книга посвящена одной из таких технологий, языку XSLT. XSLT — это расширяемый язык стилей для преобразований (от англ. extensible Stylesheet Language for Transformations), который используется для описания преобразований структуры документов. XSLT позволяет трансформировать одни документы в другие, пользуясь простыми наборами правил преобразования.

Одной из сильнейших сторон языка XML является возможность отделять данные от их представления, хранить информацию в простом и понятном формате, стандарт которого четко оговорен. Такой подход имеет целый ряд достоинств: универсальность решений, снижение времени и стоимости разработки систем, широкие возможности по интеграции и обмену данными, многоцелевое использование информации и тому подобное.

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

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

Заметим, что эти две разные на первый взгляд задачи — представление данных и конвертация ХМL-документов различных логических схем — имеют общий корень. В обоих случаях для достижения результата документы должны быть преобразованы. В первом случае из исходного документа нужно получить документ, который может быть визуализирован (например — сгенерировать HTML). Во втором случае один из документов должен быть преобразован так, чтобы его схема соответствовала схеме другого документа.

Вместе с тем, преобразование древовидно структурированных XML-документов при помощи обычных языков программирования (таких, например, как Java, С или Pascal) является очень трудоемкой задачей. Такие программы громоздки, сложны и дорогостоящи в поддержке, поскольку они крайне чувствительны к малейшим изменениям в формате преобразуемого документа.

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

В этой книге XSLT рассматривается совместно с языком XPath (от англ. XML Path Language — язык путей в XML-документах), который используется для обращения к частям XML-документов. XPath играет в XSLT крайне важную роль, предоставляя средства для вычисления выражений на XML-документах, но кроме XSLT он используется в таких XML-технологиях, как XPointer и XQuery.

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

Естественно, столь простой язык (а XSLT, безусловно, несложный язык как в изучении, так и в использовании) имеет свои границы. Встречаются задачи, решения которых с помощью XSLT либо не существуют вообще, либо они неудобны. В этих случаях можно прибегнуть к расширениям языка, которые позволяют использовать в XSLT-преобразованиях подпрограммы, написанные на более традиционных языках программирования, например — Java или С++.

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

Таким образом, на вопрос "о чем эта книга?" можно ответить так: она написана о прикладных XML-технологиях преобразования, которые призваны облегчить использование структурированных данных в пользовательских приложениях, открывая новые возможности проектам самого различного масштаба. Изучая языки XSLT и XPath, мы на примерах увидим, как заставить XML-технологии работать — просто, удобно и эффективно.


Рекомендуем почитать
Моё "долго и счастливо"

Нелегко любить принца. Вся страна считает тебя ведьмой, приворотившей наследника, король хочет от тебя избавиться, отец его отвергнутой невесты объявляет войну, а сам принц, не интересуясь твоим мнением, запирает тебя в башне. И ты одна в чужом мире, где тебя никто не ждёт.


Там тебя никто не ждёт

Cтудентка ин.яза Катя - ветер в голове, мальчики-романтика-косметика. Эдвард - опальный принц, проклятый собственным отцом, мечтающий только, чтобы ему позволили просто жить. Она не волшебница с палочкой-выручалочкой, а он не принц из сказки. Но если сказка сходит с ума, приходится бежать. А если не получается - сражаться, даже если надежды больше не осталось.


Дрозд

Алан Грофилд — актер. Но когда денег не хватает он — вор.Если бы провели опрос на тему «Вы рискнете жизнью ради своей страны?» большинство мужчин ответили бы утвердительно. Но никто не спросил Грофилда!Агенты правительственной спецслужбы дают Алану выбор: сесть в тюрьму за неудавшееся ограбление, либо узнать зачем лидеры стран Третьего мира тайно встречаются в канадской глуши.Ситуация изменчива, возможно смертельна, однако Грофилда мучает вопрос: причем тут албанцы?


Физика: Парадоксальная механика в вопросах и ответах

В увлекательной форме автор пособия рассказывает о парадоксах механики, приводит примеры и решает задачи, задает непростые вопросы и отвечает на них, объясняя физическую суть привычных явлений, изучаемых в школьном курсе механики.Для учителей общеобразовательных школ.


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.


Тотальное превосходство

Художник? любовник? убийца? адепт тайного знания?.. Герой романа знает о себе только одно, он должен добиться тотального превосходства во всем…Интеллектуальный триллер, колеблющийся между «Американской мечтой» Нормана Мейлера и «Шатунами» Юрия Мамлеева.Новый блестящий талант в «Мастер серии».


Наркокурьер Лариосик

Кинематографическая природа остросюжетной прозы Григория Ряжского очевидна — как несомненны и ее чисто литературные достоинства. Мир страшен и кровав — и страшнее всего, пожалуй, в заглавной повести «Наркокурьер Лариосик», — но и не восхититься его красотой нельзя.В литературу — с парадного подъезда престижной серии — входит зрелый мастер.


Месторождение ветра

Проза Марины Палей не поддается расчленению на внутреннее и внешнее, на сюжет и стиль. Суверенный мир, созданный этим писателем, существует благодаря виртуозному стилю и обусловлен разнообразием интонации. Огромный дар свободы не может ограничить себя одним героем, одной темой или одной страной.


Приемы создания интерьеров различных стилей

Книга по созданию трехмерных проектов интерьеров при помощи популярного редактора трехмерной графики 3ds Max позволит каждому, кто хочет заняться моделированием 3D-интерьеров, найти необходимую информацию для воплощения идеи в жизнь. Описывается моделирование элементов и стили оформления интерьеров, работа с материалами и текстурами, способы повышения реалистичности изображений, визуализация. Рассматриваются особенности создания интерьеров в различных стилях: минимализм, ренессанс, барокко, античный, рококо, хай-тек, техно и др.