Стивен Холзнер - XSLT

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

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

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

Эта книга посвящена XSLT — мощным и удобным системам преобразования документов. В ней не только рассматривается весь синтаксис XSLT, от основ до специальных аспектов, но и подробно излагаются современные способы использования XSLT.
Вы найдете сотни практических примеров, таких как осуществление преобразований XSLT на web-cepвepax, подключение к базам данных и использование браузеров для осуществления преобразований на лету.
Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике

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

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

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

Интервал:

Закладка:

Сделать

Приоритет шаблона можно установить при помощи атрибута priority. В приведенном ниже листинге 3.8 правило, созданное элементом , имеет меньший приоритет, чем правило, созданное элементом .

Листинг 3.8. Установка приоритета шаблона

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

The Planets Table



The Planets Table

Name Mass Radius Day

(Very heavy)

Процессор XSLT выбирает шаблон с наивысшим приоритетом, который добавляет текст " (Very heavy)" после каждого значения массы. В следующем примере использован шаблон с наивысшим приоритетом:

The Planets Table



The Planets Table

</Н1>

Name Mass Radius Day
Mercury .0553(Very heavy) 1516 miles 58.65 days
Venus .815(Very heavy) 3716 miles 116.75 days
Earth 1(Very heavy) 2107 miles 1 days

УСОВЕРШЕНСТВОВАНИЯ В XSLT 2.0

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

О приоритетах полезно знать еще одно: если двум шаблонам удовлетворяет один и тот же узел, и этим шаблонам не были присвоены приоритеты, процессор XSLT выберет шаблон с более узким правилом выбора. Например, условию " PLANET" будет отдано предпочтение перед обобщенным условием " *".

Элемент

Элемент позволяет скопировать узел из исходного дерева в выходное. Заметьте, однако, что это поверхностное (shallow) копирование, при котором не копируются потомки и атрибуты узла. У элемента есть один атрибут:

use-attribute-sets. Задает названия наборов атрибутов, которые нужно применить к создаваемому элементу. Принимает значение списка QName, разделенных символами-разделителями. Этот атрибут можно использовать только в том случае, когда контекстный узел является элементом. Дополнительная информация о наборах атрибутов приведена в главе 6.

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

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

Листинг 3.9. Таблица стилей, копирующая элементы

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

Однако не копирует атрибуты — вот результат применения этой таблицы стилей к planets.xml:

Mercury

.0553

58.65

1516

.983

43.4

Venus

.815

116.75

3716

.943

66.8

Earth

1

1

2107

1

128.4

Копирование атрибутов несколько сложнее, потому что нужно найти какой-либо способ применить к каждому атрибуту элемента. Это можно сделать, например, при помощи элемента , о котором пойдет речь в главе 5.

Листинг 3.10. Копирование атрибутов

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

А вот результат — заметьте, что на этот раз атрибуты не затронуты:

Mercury

.0553

58.65

1516

.983

43.4

Venus

.815

116.75

3716

.943

66.8

Earth

1

1

2107

1

128.4

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

ГЛУБОКОЕ КОПИРОВАНИЕ

Пример использования для осуществления глубокого копирования документа будет приведен в главе 4, в которой описывается функция узла и объясняется, как рекурсивно вызывать один и тот же шаблон.

Элемент

Элемент позволяет осуществлять глубокое копирование узлов, при котором копируется не только узел, но и все его атрибуты и потомки. У этого элемента единственный атрибут:

select(обязательный). Узел или набор копируемых узлов. Этот элемент пуст и не имеет содержимого.

Ниже приведен пример работы этого элемента; в этом случае я заменил в листинге 3.10 элемент элементом , который явно выбирает для копирования все атрибуты контекстного элемента.

Листинг 3.11. Применение

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

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

Интервал:

Закладка:

Сделать

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

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


Отзывы о книге «XSLT»

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

x