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

Здесь есть возможность читать онлайн «Алексей Валиков - Технология XSLT» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2002, Издательство: БХВ-Петербург, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Технология XSLT: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Технология XSLT»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Технология XSLT», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Эти определения эквивалентны. На практике следует пользоваться тем, которое кажется более понятным.

Примеры паттернов

body— соответствует элементам bodyс нулевым пространством имен;

xhtml:body— соответствует элементам body, принадлежащим пространству имен с префиксом xhtml;

body/a— соответствует дочерним элементам аэлемента body;

*— соответствует любому элементу, который принадлежит нулевому пространству имен;

а[1]— соответствует каждому первому элементу асвоего родительского узла; элемент будет соответствовать этому паттерну, если ему не предшествует никакой братский элемент a— то есть из всех дочерних элементов анекоторого узла этому паттерну будет соответствовать только первый в порядке просмотра документа элемент;

a[position() mod 2 = 0]— соответствует каждому четному элементу aсвоего родительского узла; иначе говоря, из всех элементов анекоторого узла этому паттерну будут соответствовать только четные;

/— соответствует корневому узлу;

/html— узел будет соответствовать этому паттерну тогда и только тогда, когда он является элементом с именем htmlи нулевым пространством имен и находится при этом в корне элемента;

//html— соответствует любому элементу htmlдокумента, принадлежащему нулевому пространству имен; этот паттерн равносилен паттерну html;

*[starts-with(local-name(), 'A') or starts-with(local-name(), 'a')]— соответствует любому элементу, имя которого начинается на букву "а"в любом регистре символов;

*[string-length(local-name())=2]— соответствует любому элементу, локальная часть имени которого состоит из двух символов;

*[starts-with(namespace-uri(),'http') or starts-with(namespace-uri(), 'HTTP')]— соответствует любому элементу, URI пространства имен которого начинается на "http"или "HTTP";

br[not(*)]— соответствует элементу br, который не имеет дочерних элементов;

id('i')— соответствует элементу, уникальный атрибут которого (атрибут, имеющий тип ID) равен "i";

id('i')/@id— соответствует атрибуту idэлемента, уникальный атрибут которого равен "i"; заметим, что уникальный атрибут элемента вовсе не обязательно должен иметь имя id;

key('name', 'html')/@href— соответствует атрибуту hrefузла, значение ключа с именем "name"которого равно "html";

*|@*— соответствует любому элементу или атрибуту;

a|b|с— соответствует элементам а, bи с;

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

node() | attribute::* | namespace::*— соответствует любому узлу, включая узлы атрибутов и пространств имен;

node()[not(self::text())]— соответствует любому узлу, кроме текстового узла, узла атрибута и узла пространства имен.

Выражения

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

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

Базовая конструкция, использующаяся в выражениях, называется первичным выражением (от англ. primary expression). Первичные выражения могут быть переменными, литералами, числами, вызовами функций, а также обычными выражениями Expr, сгруппированными в круглых скобках:

[XP15] PrimaryExpr ::= VariableReference

| '(' Expr ')'

| Literal

| Number

| FunctionCall

Переменные

Переменные вызываются в выражениях XPath по своему имени, которому предшествует символ " $". Например, если мы объявили переменную nodes:

то использовать в выражениях мы ее будем как $nodes.

Переменные, так же как элементы и атрибуты XML, могут иметь расширенные имена вида QName, состоящие из префикса пространства имен и локальной части имени. Это позволяет создавать переменные, принадлежащие различным пространствам имен.

Пример

Мы можем определить две переменные с одинаковыми локальными частями имен в разных пространствах, используя при определении имени префикс. Естественно, префикс должен быть заранее связан с URI пространства имен.

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

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Технология XSLT» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Стивен Холзнер - XSLT
Стивен Холзнер
Алексей Сахарков - Технология террора
Алексей Сахарков
Отзывы о книге «Технология XSLT»

Обсуждение, отзывы о книге «Технология XSLT» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x