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

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

Стивен Холзнер - XSLT краткое содержание

XSLT - описание и краткое содержание, автор Стивен Холзнер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике

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

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

Интервал:

Закладка:

Сделать

Функция keyслужит для поиска узлов с определенным значением по именованному ключу, ее следует применять следующим образом:

node-set key(name, value)

Функции передаются имя ключа nameв виде строки и требуемое значение ключа value, которое нужно найти. Функция возвращает набор узлов из найденных узлов.

Ключи создаются при помощи элемента . Мы уже видели следующий пример в главе 4 — здесь я при помощи ключей выбираю планеты, чей атрибут COLORустановлен в « BLUE»:

.

.

.

Earth

"(Earth = 1)">1

1

2107

1

128.4

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

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

.

.

.

Теперь я могу применить образец « key()» для выбора элементов с атрибутом COLORсо значением « BLUE» таким образом:

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

.

.

.

Name Mass Radius Day

.

.

.

И вот результат — как видите, единственной планетой, удовлетворившей образцу, была Земля:

<���НЕАD>

The Planets Table



The Planets Table

Name Mass Radius Day
Earth 1 (Earth = 1) 2107 miles 1 days

system-property()

Функция system-propertyвозвращает значение нескольких системных свойств в виде строк; вот как ей следует пользоваться:

string system-property(property)

Можно проверять следующие возможные значения системного свойства property:

xsl:version. Возвращает версию XSLT;

xsl:vendor. Возвращает строку, идентифицирующую производителя процессора XSLT;

xsl:vendor-url. Возвращает URL производителя процессора XSLT.

Вот пример — версию XSLT можно проверить, вызвав system-property('xsl:version');

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

.

.

.

.

.

.

Проверка версии XSLT может понадобиться, если вы хотите воспользоваться возможностями, которые появились в последних версиях.

unparsed-entity-uri()

Функция unparsed-entity-uri()предоставляет доступ к объявлениям неразобранных сущностей в DTD или схеме исходного документа. Неразобранная сущность (unparsed entity) — это обычно двоичные данные, такие как файл с рисунком. Функция применяется следующим образом:

string unparsed-entity-uri(name)

В функцию передается имя name неразобранной сущности, и функция возвращает для нее идентификатор. В следующем примере (листинг 8.6) я добавил в planets.xmlDTD и объявил три неразобранных сущности, соответствующих рисункам планет — image1, image2и image3, — и обратился к ним, добавив в каждый элемент атрибут IMAGE.

Листинг 8.6. 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

.

.

.

Заметьте, что некоторые процессоры XSLT не могут осуществлять выборку по ID, потому что они не читают объявления DTD и схему XML. Это одна из задач, которые призван решить XSLT 2.0 — сделать доступной информацию об идентификаторах.

last()

Функция lastвозвращает число узлов в наборе узлов, поэтому ее значение равно позиции последнего узла. Она применяется следующим образом:

number last()

Следующий пример из главы 5 последовательно выводит в результирующий документ имена планет. Однако я хочу, чтобы выводилось не просто «The first three planets are: Mercury Venus Earth» (первые три планеты: Меркурий Венера Земля), a «The first three planets are: Mercury, Venus, and Earth.» Необходимые знаки пунктуации можно добавить, определяя элемент, с которым мы работаем, при помощи функции position и проверяя позицию при помощи :

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

The Planets

The first three planets are:

,

and

.

Вот результат:

The Planets

The first three planets are: Mercury, Venus, and Earth.

local-name()

Функция local-nameвозвращает локальное (неполное) имя узла. Функция применяется следующим образом:

string local-name(node-set?)

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

В следующем примере я создаю новые элементы при помощи и определяю имена контекстных узлов при помощи local-name:

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

name()

Функция nameаналогична local-name, за тем исключением, что она возвращает полностью определенное имя узла. Вот как следует применять эту функцию:

string name(node-set?)

namespace-uri()

Функция namespace-uriвозвращает строку, содержащую URI пространства имен в расширенном имени узла. Как правило, это URI в объявлении пространства имен, установленное при помощи атрибутов xmlnsили xmlns:prefix. Функция применяется следующим образом (заметьте, что эту функцию можно применять только к элементам или атрибутам, результатом обработки остальных узлов будет пустая строка):

string namespace-uri(node-set?)

Например, в planets.xmlя могу добавить пространство имен «star» (звезда):

Mercury

.0553

58.65

1516

.983

43.4

Venus

.815

116.75

3716

.943

66.8

.

.

.

И я могу найти URI этого пространства имен в таблице стилей при помощи namespace-uri:

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

xmlns:star="http://www.starpowder.com">

.

.

.

Вот результат:

http://starpowder.com

position()

Функция positionвозвращает позицию контекстного узла:

number position()

С этой функцией мы встречались на протяжении всей книги. Такой пример вы уже видели раньше в этой главе, в нем для создания предложения «The first three planets are: Mercury, Venus, and Earth.» используются функции lastи position:

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

The Planets

The first three planets are:

,

and

.

Полученный результат:

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

Интервал:

Закладка:

Сделать


Стивен Холзнер читать все книги автора по порядку

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




XSLT отзывы


Отзывы читателей о книге XSLT, автор: Стивен Холзнер. Читайте комментарии и мнения людей о произведении.


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

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