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

Тут можно читать онлайн Алексей Валиков - Технология XSLT - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство БХВ-Петербург, год 2002. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Технология XSLT
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2002
  • Город:
    Санкт-Петербург
  • ISBN:
    нет данных
  • Рейтинг:
    4.75/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

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

Технология XSLT - описание и краткое содержание, автор Алексей Валиков, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

Технология XSLT - читать онлайн бесплатно полную версию (весь текст целиком)

Технология XSLT - читать книгу онлайн бесплатно, автор Алексей Валиков
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Пути файловой системы, приведенные выше, в точности совпадают с путями выборки, которые мы бы использовали для обращения к соответствующим частям ХМL-документа. Путь выборки " /" содержит корневой узел, путь выборки " /java/Lib/Servlets/src" — элемент src, принадлежащий элементу Servlets, который принадлежит элементу Lib, который принадлежит элементу Java, находящемуся в корне элемента. Путь выборки " Doc/XMLParser" выбирает элементы XMLParser, находящиеся в элементах Doc, принадлежащих контекстному узлу.

В XPath существует два вида путей выборки — относительные и абсолютные пути. Абсолютный путь (например, " /Java/Doc/ClassGenerator") начинается ведущей косой чертой (" /") и отсчитывается от корневого узла документа, в то время как относительный путь (например, " Doc/XMLParser") отсчитывается от контекстного узла.

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

Пример

В файловой системе выполнить путь вида Lib/Servlets/classesозначает:

□ из текущего каталога перейти в подкаталог Lib;

□ затем перейти в подкаталог Servlets;

□ и наконец — в подкаталог classes.

Для того чтобы выполнить такой же путь выборки в XML-документе, нужно

сделать следующее:

□ выполнить первый шаг, " Lib" — выбрать все дочерние элементы контекстного узла, имеющие имя " Lib";

□ затем выполнить шаг " Servlets" — для каждого из узлов, выбранных предыдущим шагом, выбрать дочерние элементы " Servlets" и объединить их в одно множество;

□ наконец, выполнить шаг " classes" — для каждого из узлов, выбранных на предыдущем этапе, выбрать дочерние элементы classesи объединить их в одно множество.

Опишем более подробно алгоритм вычисления пути выборки:

□ если путь выборки является абсолютным путем, то первый его шаг выполняется в контексте корневого узла документа, который содержит контекстный узел;

□ если путь выборки является относительным путем, то первый его шаг выполняется относительно контекстного узла;

□ каждый последующий шаг пути выборки выполняется для каждого узла множества, выбранного на предыдущем шаге, — таким образом выбирается несколько множеств, которые затем объединяются — это и есть множество, выбранное на текущем шаге.

Пример

Рассмотрим процесс выполнения пути выборки /A/B/D/G/Iв следующем документе:

На рис. 6.2 показано логическое дерево, соответствующее этому документу.

Рис 62 Логическое дерево представляющее XMLдокумент Для того чтобы лучше - фото 48

Рис. 6.2. Логическое дерево, представляющее XML-документ

Для того чтобы лучше понять процесс выбора, проследим по шагам за тем, как будет обрабатываться этот путь.

1. Данный путь (рис. 6.3) является абсолютным путем выборки, значит, он должен выполняться, начиная от корневого узла.

Рис 63 Начальный узел пути выборки 2 Первым шагом пути рис 64 является - фото 49

Рис. 6.3. Начальный узел пути выборки

2. Первым шагом пути (рис. 6.4) является шаг A, который выбирает все дочерние элементы Aконтекстного узла.

Рис 64 Первый шаг 3 Вторым шагом пути рис 65 является шаг B который - фото 50

Рис. 6.4. Первый шаг

3. Вторым шагом пути (рис. 6.5) является шаг B, который выбирает все дочерние элементы в узлов множества, выбранного на предыдущем шаге. Так как тогда был выбран единственный узел A, текущий шаг выберет два дочерних элемента в этого узла.

Рис 65 Второй шаг 4 На очередном шаге рис 66 мы выбираем дочерние - фото 51

Рис. 6.5. Второй шаг

4. На очередном шаге (рис. 6.6) мы выбираем дочерние элементы D. Как можно заметить, один из элементов в, выбранных на прошлом этапе, не содержит таких элементов, значит, в этом случае, шаг выборки возвратит пустое множество. Второй элемент Bимеет три дочерних элемента B. В итоге мы получим множество, состоящее из трех элементов D.

Рис 66 Третий шаг 5 Следующий шаг Gрис 67 выбирает дочерние элементы - фото 52

Рис. 6.6. Третий шаг

5. Следующий шаг, G(рис. 6.7) выбирает дочерние элементы G. Первый элемент D, выбранный на прошлом шаге, включает один элемент G, второй не имеет таких элементов, третий — имеет три дочерних элемента G. Таким образом, на данном шаге будет выбрано множество, состоящее из четырех элементов G.

Рис 67 Четвертый шаг 6 Последний шаг Iрис 68 выбирает для каждого из - фото 53

Рис. 6.7. Четвертый шаг

6. Последний шаг, I(рис. 6.8) выбирает для каждого из четырех элементов Gдочерние элементы I. Первый элемент Gне имеет дочерних элементов, второй имеет один дочерний элемент I, третий не содержит элементов и четвертый содержит два элемента I. В итоге результатом выполнения этого шага будет множество, состоящее из 3 элементов I.

Рис 68 Пятый шаг Пути выборки соответствует продукция LocationPath которая - фото 54

Рис. 6.8. Пятый шаг

Пути выборки соответствует продукция LocationPath, которая записывается следующим образом:

[XP1] LocationPath ::= RelativeLocationPath

| AbsoluteLocationPath

Эта продукция означает, что путь выборки может быть либо относительным путем, которому соответствует продукция RelativeLocationPath, либо абсолютным путем с продукцией AbsoluteLocationPath:

[XP2] AbsoluteLocationPath ::= '/' RelativeLocationPath?

| AbbreviatedAbsoluteLocationPath

[XP3] RelativeLocationPath ::= Step

| RelativeLocationPath '/' Step

| AbbreviatedRelativeLocationPath

Упростим LocationPath, раскрыв дочерние продукции:

LocationPath ::= '/'

| RelativeLocationPath

| '/' RelativeLocationPath

| '//' RelativeLocationPath

Таким образом, путь выборки имеет четыре основных варианта, которые мы сейчас и разберем:

□ путь '/'— используется для обращения к корневому узлу дерева;

□ путь вида RelativeLocationPath— есть относительный путь выборки;

□ путь вида '/' RelativeLocationPath— это абсолютный путь выборки, то есть относительный путь, которому предшествует '/';

□ путь вида '//' RelativeLocationPath— это абсолютный путь выборки, в котором использован сокращенный синтаксис. Путь такого вида эквивалентен пути вида '/descendant-or-self:node()/' RelativeLocationPath. Первой его частью является путь '/descendant-or-self:node()', который выбирает все узлы документа (кроме узлов атрибутов и пространств имен).

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Алексей Валиков читать все книги автора по порядку

Алексей Валиков - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Технология XSLT отзывы


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


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

Напишите свой комментарий
x