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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Чтобы быть уверенным в том, что эти новые шаблоны применяются в правильном порядке, соответствующем заголовкам HTML-таблицы, я явно перечислю все новые шаблоны, выбирая их один за другим при помощи атрибута select:

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

The Planets Table



The Planets Table

Name Mass Radius Day

ИСПОЛЬЗОВАНИЕ ИМЕНОВАННЫХ ШАБЛОНОВ

К шаблонам можно также обращаться по имени. Этот вопрос будет рассмотрен в главе 9.

Теперь к каждому элементу , и применяется новый шаблон: мы не просто получаем строковое значение узла при помощи , мы можем дополнительно обработать каждый элемент — например, прочитать значения атрибута UNITS. Сначала я получу строковые значения каждого из элементов , и . Теперь, когда у нас есть шаблон для каждого из этих узлов-элементов и каждый узел является контекстным узлом в своем шаблоне, вместо того, чтобы ссылаться на узел элемента по имени, мы можем сослаться на него как на контекстный узел при помощи выражения XPath "." (листинг 3.2):

Листинг 3.2. Версия planets.xsl с выбором

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

The Planets Table



The Planets Table

Name Mass Radius Day

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

Чтение значений атрибутов

Чтобы получить доступ к значению атрибута при помощи XPath, нужно добавить к имени атрибута префикс @, например: " @src", " @height", " @width" и т.д.

Для выбора любого атрибута можно применить выражение " @*". Чтобы сослаться на атрибут UNITSв каждом элементе , и , следует использовать выражение " @UNITS". Следовательно, получить значения и отобразить единицы (unit) каждого измерения в planets.xmlможно так (листинг 3.3).

Листинг 3.3. Чтение значений атрибутов

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

The Planets Table



The Planets Table

Name Mass Radius Day

Результаты работы показаны на рис. 3.1, Как видите, теперь мы извлекли строковое значение атрибута UNITS и отобразили его.

Рис 31Вывод значений атрибутов первый вариант Рисунок 31 не совсем точен - фото 13

Рис. 3.1.Вывод значений атрибутов, первый вариант

Рисунок 3.1 не совсем точен: обратите внимание на то, что между значением и соответствующей единицей измерения в таблице нет пробела. Процессор XSLT просто поместил в результирующее дерево текст без каких-либо разделителей между текстовыми узлами. Хотя это в точности соответствует требованиям рекомендации XSLT, нам бы хотелось, чтобы элементы таблицы выглядели как «1516 miles», а не «1516miles». Как нам добавить этот дополнительный пробел?

Элемент

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

disable-output-escaping. Устанавливается в yesдля того, чтобы такие символы, как < и >, выводились буквально, а не как <и >. По умолчанию установлен в no.

Этот элемент может содержать только текстовый узел.

Текстовые узлы создаются при помощи элемента , позволяющего по ходу дела замещать элементы целиком на текст. Одна из целей применения — сохранить символы-разделители, как в следующем примере (листинг 3.4), в котором элемент используется для вставки пробелов.

Листинг 3.4. Вставка пробелов в таблицу стилей

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

The Planets Table



The Planets Table

Name Mass Radius Day

Новый результат виден на рис. 3.2, на котором между числовыми значениями и их единицами измерения вставлены пробелы.

Рис 32Вывод значений атрибутов второй вариант Как видите элемент весьма - фото 14

Рис. 3.2.Вывод значений атрибутов, второй вариант

Как видите, элемент весьма удобен. Тем не менее вам следует знать вот что: по умолчанию элементы заменяют символы, которые могут входить в разметку, на эскейп-последовательности. Например, Here is а greater-than sign: >будет выведено как «Here is a greater-than sign: >,», а не как «Herе is a greater-than sign: >». А если попытаться использовать < внутри элемента , процессор XSLT посчитает, что вы пытаетесь открыть элемент внутри элемента , что неверно. Как же вывести значащие символы, такие как < и >, если есть необходимость? Это можно сделать путем отключения вывода ESC-последовательностей (disabling output escaping).

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

Интервал:

Закладка:

Сделать

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

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


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

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

x