» » » Алексей Валиков - Технология XSLT


Авторские права

Алексей Валиков - Технология XSLT

Здесь можно скачать бесплатно "Алексей Валиков - Технология XSLT" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование, издательство БХВ-Петербург, год 2002. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Алексей Валиков - Технология XSLT
Рейтинг:
Название:
Технология XSLT
Издательство:
БХВ-Петербург
Год:
2002
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

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

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Технология XSLT"

Описание и краткое содержание "Технология XSLT" читать бесплатно онлайн.



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

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






Спецификация XSLT гласит, что это язык для преобразования одних XML-документов в другие XML-документы. Вне всякого сомнения, таковой и была изначальная идея XSLT. Очевидно, в процессе разработки язык перерос ее и теперь уместнее согласиться с редактором новой версии языка, Майклом Кеем (Michael Kay) в том, что XSLT — это язык для преобразования структуры документов.

XSLT как язык

По большому счету, любое преобразование можно условно поделить на три составляющие:

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

□ создание результата преобразования;

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

Применительно к преобразованию XML-документов первая подзадача означает получение информации, которую этот документ содержит — в том числе и информации о структуре, которая является неотъемлемой его частью. Обращение в данном случае имеет несколько смыслов, в том числе — опрашивать, делать запросы, вычислять, выбирать; в общем смысле — задавать о документе вопросы и получать на них ответы. Для этой цели в XSLT служит язык, называемый XPath — язык путей в ХМL-документах (от англ. XML Path Language). Как мы увидим, XPath является лаконичным, но при этом чрезвычайно мощным средством обращения к XML-документам (а также к их частям). Роль XPath в XSLT так велика, что их можно было бы считать единым целым, если бы только XPath не использовался также и в других языках, предназначенных для работы с XML.

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

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

В качестве первого примера XSLT-преобразования, который будет приведен в этой книге, мы рассмотрим классическую программу "Hello, world!". Листинг 2.1 показывает XSLT-интерпретацию "Hello, world!", когда мы преобразуем документ

<msg>Hello, world!</msg>

в документ вида:

<message>Hello, world!</message>

Листинг 2.1. Преобразование "Hello, world!"

<xsl:stylesheet

 version="1.0"

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


 <xsl:template match="msg">

  <message>

   <xsl:value-of select="."/>

  </message>

 </xsl:template>


</xsl:stylesheet>

Исходный код, представленный выше, является хорошо оформленным XML-документом. Корневым его элементом является элемент xsl:stylesheet, который и обозначает преобразование. Атрибут version указывает на версию языка XSLT, в соответствии с которой был построен этот документ; помимо этого в элементе xsl:stylesheet объявляется пространство имен с префиксом xsl, которому соответствует URI "http://www.w3.org/1999/XSL/Transform". Все элементы преобразования, принадлежащие пространству имен с этим URI, будут восприняты процессором, как принадлежащие языку XSLT.

Элемент xsl:stylesheet имеет один-единственный дочерний элемент xsl:template, который и задает правило преобразования. Атрибут match указывает, что это правило должно обрабатывать элемент msg. Содержимое xsl:template является телом шаблона. Оно выполняется тогда, когда сам шаблон применяется к некоторой части документа. В данном случае тело шаблона будет выполнено, когда само правило будет применяться к элементу msg.

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

Содержимым элемента message является элемент xsl:value-of, который, в отличие от message принадлежит XSLT. Элемент xsl:value-of вычисляет XPath-выражение, заданное в его атрибуте select, и возвращает результат этого вычисления. XPath-выражение, ".", указанное в select, возвращает ту самую часть узла, которая обрабатывается в данный момент, иначе говоря — элемент msg.

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

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

Совсем иным является язык XPath, который представлен в нашем примере лаконичным выражением ".". XPath не придерживается XML-синтаксиса, напротив, он скорее похож на синтаксис путей в операционных системах — в главе 4 мы покажем, насколько верно это сравнение.

В приведенном преобразовании участвовала и третья синтаксическая конструкция, которая называется в XSLT паттерном (от англ. pattern — образец). Паттерн msg, заданный в атрибуте match элемента xsl:template указывает, какая именно часть XML-документа должна быть обработана этим правилом. Синтаксически паттерны являются XPath-выражениями (но не наоборот), однако смысл их различается. XPath-выражения вычисляются и возвращают результат, паттерны же просто устанавливают соответствие некоторому образцу. В нашем преобразовании паттерн msg указывает, что шаблон должен обрабатывать только элементы msg и никакие другие.

Каждое из шаблонных правил может вызывать другие шаблонные правила — в этом случае результат выполнения вызванных шаблонов включается в результат выполнения шаблона, который их вызывал. Для того чтобы продемонстрировать этот принцип мы немного перепишем шаблон "Hello, world!" с тем, чтобы он возвращал результат в виде HTML-документа.

Листинг 2.2. Преобразование "Hello, world!"' с результатом в HTML

<xsl:stylesheet

 version="1.0"

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


 <xsl:template match="/">

  <html>

   <head>

    <title>Message</title>

   </head>

   <body>

    <xsl:apply-templates select="msg"/>

   </body>

  </html>

 </xsl:template>


 <xsl:template match="msg">

  <b>

   <xsl:value-of select="."/>

  </b>

 </xsl:template>


</xsl:stylesheet>

Результат применения этого преобразования к документу

<msg>Hello, world!</msg>

иллюстрирует листинг 2.3.

Листинг 2.3. Результат выполнения преобразования

<html>

 <head>

  <title>Message</title>

 </head>

 <body>

  <b>Hello, world!</b>

 </body>

</html>

В это преобразование мы добавили еще одно шаблонное правило:

<xsl:template match="/">

 <html>

  <head>

   <title>Message</title>

  </head>

  <body>

   <xsl:apply-templates select="msg"/>

  </body>

 </html>

</xsl:template>

Это правило определяет обработку корневого узла — в атрибуте match указан паттерн "/", что соответствует корню документа. Шаблон создает элементы html, head, title, body и в последний включает результат применения шаблонов к элементу msg. Сравнивая тело этого шаблона с результатом выполнения преобразования, можно заметить, что процессор скопировал все элементы, не принадлежащие XSLT, не изменяя их, а элемент xsl:apply-templates выполнил, применив шаблон к элементу msg и включив в body результат (он выделен в листинге полужирным шрифтом).


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Технология XSLT"

Книги похожие на "Технология XSLT" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Алексей Валиков

Алексей Валиков - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Алексей Валиков - Технология XSLT"

Отзывы читателей о книге "Технология XSLT", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.