Алексей Валиков - Технология 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 - читать книгу онлайн бесплатно, автор Алексей Валиков
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

attribute::*— выберет все атрибуты контекстного узла;

attribute::href— выберет атрибут hrefконтекстного узла, если он существует;

parent::*— выберет родительский узел контекстного узла, если тот является элементом, и пустое множество, если родительский узел имеет другой тип, например является корнем дерева;

parent::node()— выберет родительский узел контекстного узла вне зависимости от его типа. Единственный случай, когда этот шаг выберет пустое множество — это когда контекстный узел является корневым узлом документа;

parent::xsl:template— выберет родительский узел, если тот является элементом с именем template и имеет пространство имен с префиксом xsl, иначе выберет пустое множество;

self::*— выберет контекстный узел, если он является элементом и пустое множество узлов, если контекстный узел имеет другой тип;

self:*— выберет все дочерние элементы контекстного узла, принадлежащие пространству имен с префиксом self;

self::text()— выберет контекстный узел, если он является текстовым узлом;

self::node()— выберет контекстный узел вне зависимости от его типа;

self::query— выберет контекстный узел, если он является элементом с именем query, и пустое множество, если контекстный узел имеет другое имя или не является элементом;

preceding::para— выберет все элементы para, которые предшествуют контекстному узлу в порядке просмотра документа;

preceding::comment()— выберет все узлы комментариев, которые предшествуют контекстному узлу в порядке просмотра документа;

preceding-sibling::*— выберет все братские (принадлежащие тому же родителю) элементы контекстного узла, которые предшествуют ему в порядке просмотра документа;

following::processing-instruction('fop')— выберет все узлы инструкций по обработке, которые имеют имя (целевое приложение) "fop"и следуют за контекстным узлом в порядке просмотра документа;

following-sibling::text()— выберет все текстовые узлы, которые являются братьями контекстного узла и следуют за ним в порядке просмотра документа;

descendant::*— выберет все элементы-потомки контекстного узла;

descendant::node()— выберет все узлы-потомки контекстного узла;

descendant::b— выберет все элементы b, являющиеся потомками контекстного узла;

descendant-or-self::*— выберет все элементы-потомки контекстного узла, а также сам контекстный узел, если он также является элементом;

ancestor::*— выберет все элементы, которые являются предками контекстного узла; выбранное множество не будет включать корневой узел, поскольку он не является элементом;

ancestor::node()— выберет все узлы, являющиеся предками контекстного узла; выбранное множество будет включать корневой узел (за исключением того случая, когда контекстный узел сам является корневым);

ancestor::p— выберет все элементы p, являющиеся предками контекстного узла;

ancestor-or-self::node()— выберет контекстный узел, а также все узлы, являющиеся его предками. Выбранное этим шагом множество будет всегда включать корневой узел;

ancestor-or-self::body— выберет все элементы body, которые являются предками контекстного узла, а также сам контекстный узел, если он является элементом body;

namespace::*— выберет все узлы пространств имен, ассоциированные с контекстным узлом; это множество будет, как минимум, содержать узел пространства имен xml;

namespace::xyz— выберет узел пространства имен, определяемого префиксом xyz; поскольку один префикс может соответствовать только одному пространству, возвращаемое множество будет содержать не более одного узла.

Шаги выборки с предикатами:

child::*[1]— выберет первый дочерний элемент контекстного узла; этот шаг выборки равносилен child::*[position()=1];

child::p[1]— выберет первый дочерний элемент p контекстного узла; этот шаг выборки равносилен child::p[position()=1];

child::*[last()]— выберет последний дочерний узел контекстного узла; этот шаг выборки равносилен child::*[position()=last()];

child::*[last()-1]— выберет предпоследний дочерний узел контекстного узла; этот шаг выборки равносилен шагу child::*[position()=last()]. Если контекстный узел имеет только один дочерний элемент, выбираемое множество будет пустым;

child::p[position() mod 2 = 0]— выберет все четные элементы p;

child::p[position() mod 2 = 1]— выберет все нечетные элементы p;

child::а[2][attribute::name='b']— Выберет второй дочерний элемент аконтекстного узла, если он имеет атрибут nameсо значением "b";

child::a[attribute::name='b'][2]— выберет второй дочерний элемент а контекстного узла из тех, которые имеют атрибут nameсо значением "b"; этот шаг выборки отличается от шага выборки в предыдущем примере — порядок следования предикатов имеет значение;

child::a[position()=$i]— выберет дочерний элемент а, позиция которого равна значению переменной i;

parent::*['root']— выберет родительский узел контекстного узла, если он является элементом; если он является корнем документа, этот шаг выборки не выберет ничего; предикат ['root']не имеет никакого действия, поскольку строка 'root'как непустая строка тождественно преобразуется в истину;

preceding-sibling::*[attribute::*]— выберет все братские узлы контекстного узла, которые предшествуют ему, являются элементами и содержат, по крайней мере, один атрибут;

preceding-sibling:p[1]— выберет ближайший (первый в обратном порядке просмотра) элемент p, который предшествует контекстному узлу;

following::а[attribute::href][not(descendant::img)]— выберет все узлы, которые следуют за контекстным в порядке просмотра документа, являются элементами с именем а, имеют атрибут href, но не имеют элементов-потомков с именем img;

ancestor::node()[2]— выберет второго предка (то есть "деда") контекстного узла;

descendant-or-self::a[attribute::href]— выберет контекстный узел, а также все узлы-потомки контекстного узла, если они являются элементами с именем аи имеют атрибут href;

namespace::*[contains(self::node(), 'XML')]— выберет узлы пространств имен, которые ассоциируются с контекстным узлом, и строковое значение (URI) которых содержит подстроку 'XML'.

Использование сокращенного синтаксиса в шагах выборки:

table— выберет все дочерние элементы tableконтекстного узла; этот шаг выборки равносилен child::table;

@*— выберет все атрибуты контекстного узла; полная версия этого шага выборки выглядит как attribute::*;

*[i]— выберет первый дочерний элемент контекстного узла; этот шаг выборки равносилен шагу child::*[position()=1];

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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