Книга: Тидуэлл Д. «XSLT». Xslt книга


Глава 1 Основы XSLT. XSLT

Глава 1

Основы XSLT

Добро пожаловать в мир языка преобразований расширенной таблицы стилей, XSLT (Extensible Stylesheet Language Transformations). Эта книга послужит вам путеводителем в огромном мире XSLT, который каждую минуту расширяется непредсказуемым образом. Мы хотим, чтобы этот мир стал и вашим миром. Нам нужно охватить весьма большой материал, поскольку в наши дни XSLT используется в очень интересных местах и очень интересными способами. В этой книге вы увидите, как это все работает.

Собственно XSLT представляет собой средство обработки и форматирования содержимого документов XML. XML уже стал очень популярным, теперь настала очередь XSLT. XML дает вам возможность структурировать данные в документах, a XSLT позволяет работать с содержимым документов XML — оперировать содержимым и создавать другие документы (например, при сортировке XML записей базы данных сотрудников или при сохранении данных в документ HTML, а также при детальном форматировании данных).

С содержимым документов XML можно работать, написав собственную программу, реализующую интерфейс с приложениями разборщика (parser) XML, однако при этом приходится писать код программы самостоятельно. При помощи XSLT вы можете выполнять задачи подобного же рода, не прибегая к программированию. Вместо того чтобы писать код обработки содержимого документов XML на Java, Visual Basic или С++, можно просто указать при помощи XSLT, что вы хотите сделать, и процессор XSLT сделает все остальное. Именно для этих целей и предназначен XSLT, и в мире XML он выходит на ключевые позиции.

Поделитесь на страничке

Следующая глава >

it.wikireading.ru

О чем эта книга?. Технология 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-технологии работать — просто, удобно и эффективно.

Поделитесь на страничке

Следующая глава >

it.wikireading.ru

Книга: Тидуэлл Д.. XSLT

Тидуэлл Д.XSLTЦель книги "XSLT", 2-е издание - научить читателя эффективно использовать XSLT. Рассматриваются как XSLT 1. 0, так и XSLT 2. 0, а также версии 1. 0 и 2. 0 языка XPath. В спецификации XSLT 2. 0 язык… — Символ-Плюс, - Подробнее...20132154бумажная книга
Дуг ТидуэллXSLT. 2-е изданиеЦель книги «XSLT», 2 е издание – научить читателя эффективно использовать XSLT. Рассматриваются как XSLT 1. 0, так и XSLT 2. 0, а также версии 1. 0 и 2. 0 языка XPath. В спецификации XSLT 2. 0 язык… — Символ-Плюс, (формат: Мягкая глянцевая, 864 стр.) электронная книга Подробнее...390электронная книга
Майкл КэйXSLT. Справочник программистаС ростом популярности стандарта XML появилась необходимость в адекватном средстве обработки XML-данных. Консорциумом W3C был разработан XSLT – гибкий и переносимый языкпреобразований, используемый и… — Символ-Плюс, (формат: Мягкая глянцевая, 864 стр.) электронная книга Подробнее...390электронная книга
Сэл МанганоXSLT. Сборник рецептовЯзык XSLT (Extensible Stylesheet Language Transformation) стал основным инструментом обработки XML-документов, но многие разработчики все еще не освоили его в полной мере и потому считают, что проще… — ДМК Пресс, электронная книга Подробнее...2008519электронная книга
Мангано С.XSLT. Сборник рецептовЯзык XSLT (Extensible Stylesheet Language Transformation) стал основным инструментом обработки XML-документов, но многие разработчики все еще не освоили его в полной мере и потому считают, что проще… — БХВ-Петербург, - Подробнее...2008627бумажная книга
Мангано СэлXSLT. Сборник рецептовЯзык XSLT (Extensible Stylesheet Language Transformation) стал основным инструментом обработки XML-документов, но многие разработчики все еще не освоили его в полной мере и потому считают, что проще… — BHV, Подробнее...2008948бумажная книга
Мангано С.XSLT Сборник рецептовЯзык XSLT (Extensible Stylesheet Language Transformation) стал основным инструментом обработки XML-документов, но многие разработчики все еще не освоили его в полной мере и потому считают, что проще… — БХВ-Петербург, (формат: Мягкая глянцевая, 864 стр.) Подробнее...2008738бумажная книга
Сэл МанганоXSLT. Сборник рецептовЯзык XSLT (Extensible Stylesheet Language Transformation) стал основным инструментом обработки XML-документов, но многие разработчики все еще не освоили его в полной мере и потому считают, что проще… — ДМК Пресс, БХВ-Петербург, (формат: Мягкая глянцевая, 864 стр.) Подробнее...2008782бумажная книга
Мангано С.XSLT. Сборник рецептов864 стр. Язык XSLT (Extensible Stylesheet Language Transformation) стал основным инструментом обработки XML_документов, но многие разработчики все еще не освоили его в полной мере и потому считают… — BHV, (формат: Мягкая глянцевая, 864 стр.) Подробнее...2008743бумажная книга
Сэл МанганоXSLT. Сборник рецептовЭта книга будет изготовлена в соответствии с Вашим заказом по технологии Print-on-Demand. Язык XSLT (Extensible Stylesheet Language Transformation) стал основным инструментом обработки… — ДМК Пресс, - Подробнее...2008695бумажная книга
Сэл МанганоXSLT. Сборник рецептовЯзык XSLT (Extensible Stylesheet Language Transformation) стал основным инструментом обработки XML-документов, но многие разработчики все еще не освоили его в полной мере и потому считают, что проще… — ДМК Пресс, БХВ-Петербург, (формат: 70x100/16, 864 стр.) Подробнее...2008671бумажная книга
Мангано С.Мангано XSLT. Сборник рецептовЯзык XSLT (Extensible Stylesheet Language Transformation) стал основным инструментом обработки XML-документов, но многие разработчики все еще не освоили его в полной мере и потому считают, что проще… — БХВ-Петербург, (формат: 70х100/16, 864 стр.) Подробнее...2008511бумажная книга
Эллиот Расти ГарольдXML. Справочник«XML. Справочник» необходим каждому серьезному разработчику, использующему эту новую технологию. Читатели найдут различные темы – от базовых синтаксических правилдо деталей создания DTD или API для… — Символ-Плюс, (формат: Мягкая глянцевая, 864 стр.) электронная книга Подробнее...290электронная книга
Theodore Leung W.Professional XML Development with Apache Tools. Xerces, Xalan, FOP, Cocoon, Axis, XindiceWhat is this book about? If you're a Java programmer working with XML, you probably already use some of the tools developed by the Apache Software Foundation. This book is a code-intensive guide to… — John Wiley&Sons Limited, (формат: Мягкая глянцевая, 864 стр.) электронная книга Подробнее...2664.41электронная книга
Нимейер ПатрикПрограммирование на JavaЕсли вы новичок, то перед вами практическое пособие по изучению свойств и интерфейса языка Java. Авторы Патрик Нимейер и Дэниэл Леук, используя великолепные, реалистичные и забавные примеры… — Эксмо, (формат: 70x100/16, 864 стр.) Мировой компьютерный бестселлер Подробнее...20141669бумажная книга

dic.academic.ru

Другая книга про XSLT / Хабр

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

Это не реклама «еще одной cms», и «еще одного шаблонизатора», а лишь предложение познакомиться с одним из подходов к использованию технологии XSLT при создании сайтов, где в качестве системы управлением контента взята UMI.CMS. Да, я не скрываю, что я работаю в компании UMISoft, и что нам нравится наш XSLT-шаблонизатор, и нам всем нравится XSLT. Можно даже с уверенностью сказать, что мы все искренне любим XSLT. Однако трудно делиться этими чувствами с другими разработчиками, так как первое, что они вспоминают при слове XSLT – это толстые тома от 500 до 1000 страниц, на чтение которых у них не хватает или времени, или сил.

Поэтому эта книга специально сделана короткой (изначально 55 страниц текста в Word), и рассчитана на людей, которые не имеют представления об XSLT (однако все же имеют представление об HTML и CSS). Никаких глубоких навыков в программировании также не предполагается, и, более того, по моему личному убеждению, некоторым разработчикам многолетний опыт только мешает начать использовать XSLT «по назначению» и «правильно».

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

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

Скачать: «Применение технологии XSLT при разработке сайтов на UMI.CMS»

habr.com

Версии XSLT. XSLT

Спецификации XSLT разрабатывались значительно активнее, чем спецификации для всего XSL. Рекомендация XSLT 1.0 была окончательно принята 16 ноября 1999 г., и эта версия является сегодня основной версией XSLT.

Затем появился рабочий проект XSLT 1.1 и, хотя первоначально он рассматривался в качестве пролога новой рекомендации, ряд сотрудников W3C начал работать над XSLT 2.0 — и через некоторое время W3C решил прекратить работу над рекомендацией XSLT 1.1. Это означает, что рабочий проект XSLT 1.1 не будет развиваться далее — он навсегда останется в виде рабочего проекта и никогда не станет рекомендацией. Иными словами, не будет выпущено официальной версии 1.1 для XSLT.

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

Ниже перечислены изменения в XSLT 1.0, сделанные в рабочем проекте XSLT 1.1; заметьте, что этот список приведен здесь только в качестве справочного материала, так как большая часть материала вряд ли пока что-нибудь для вас значит:

• исключен поддерживаемый в XSLT 1.0 тип данных фрагмента результирующего дерева;

• метод вывода больше не может произвольно добавлять узлы пространства имен, поскольку процесс установки пространства имен применяется автоматически;

• была добавлена поддержка для XML Base;

• теперь поддерживаются несколько выходных документов при помощи элемента <xsl:document>;

• элемент <xsl:apply-imports> теперь может иметь параметры;

• функции расширения теперь можно определять при помощи функции <xsl:script>;

• функции расширения теперь могут возвращать внешние объекты, не соответствующие никаким типам данных XPath.

В этой книге рассматривается рекомендация XSLT 1.0. а также рабочий проект XSLT 1.1. В развитие данной темы W3C и выпустил требования для XSLT 2.0, которые также рассматриваются в книге под именем XSLT 2.0. В следующем списке приведен обзор целей XSLT 2.0:

• добавить дополнительную поддержку для работы с содержимым схемы XML при помощи XSLT;

• упростить работу со строками;

• упростить работу с XSLT; 

• улучшить поддержку различных языков;

• сохранить обратную совместимость с XSLT 1.0;

• поддерживать повышенную эффективность процессора.

Хотя XSLT 2.0 еще некоторое время не будет выпущен в окончательном варианте, я рассмотрю все, что о нем известно, при обсуждении имеющих к нему отношение тем. Например, разработанный W3C последователь HTML — это основанный на XML язык XHTML. В XSLT 1.0 и в рабочем проекте XSLT 1.1 нет прямой поддержки преобразований из XML в XHTML, поэтому нам придется создать это преобразование с нуля. Однако такая поддержка входит в состав XSLT 2.0, и я отмечу этот факт при обсуждении XHTML.

Таким образом, мы рассмотрели краткий обзор тематики; давайте перейдем к работе. XSL предназначен для работы с документами XML, поэтому сначала я хочу рассмотреть структуру документов XML. Вы будете работать с документами XML, но сами таблицы стилей XSL также являются документами XML, что следует помнить при их написании. В этой книге считается, что вы обладаете знаниями и XML, и HTML.

Поделитесь на страничке

Следующая глава >

it.wikireading.ru

Что нужно для XSLT-преобразования. XSLT

Что нужно для XSLT-преобразования

Для осуществления XSLT-преобразования, такого как преобразование planets.xml в planets.html, необходим XSLT-процессор. Для преобразований документов XML можно использовать XSLT тремя способами:

• используя отдельные программы, называемые процессорами XSLT. Существует несколько программ, осуществляющих XSLT-преобразования, обычно основанных на Java, — с некоторыми из них мы познакомимся в этой главе;

• на стороне клиента. Клиентская программа, например браузер, может осуществлять преобразование, считывая таблицу стилей, заданную в инструкции обработки <?xml-stylesheet?>. В частности, Internet Explorer может осуществлять преобразования подобного рода; 

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

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

Поделитесь на страничке

Следующая глава >

it.wikireading.ru