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

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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

• должен поддерживать средства поиска, основанные на уникальных ограничениях и ключах схемы.

Хотя мы подошли к концу главы, о XPath сказано еще не все. Тема будет продолжена в следующей главе, в которой мы более внимательно рассмотрим доступные в XPath функции и функции, уже встроенные в XSLT.

Глава 8

Работа с функциями XSLT и XPath

В этой главе мы изучим доступные вам в XSLT функции — как встроенные в XSLT, так и функции XPath. Вы уже встречались с этими функциями выборочно (например, с id, generate-id, position, countи т.д). В этой главе мы рассмотрим их все.

Некоторые функции входят в XSLT, некоторые пришли из XPath. И XSLT, и XPath обновляются до версии 2.0, и в конце главы я приведу список новых, готовящихся к выпуску функций. (Пока что никаких новых функций версии 2.0 еще не опубликовано.)

В XSLT встроены следующие функции:

element-available();

function-available();

current();

document();

key();

format-number();

generate-id();

system-property();

unparsed-entity-uri().

Вы также можете пользоваться многими функциями XPath. Я сгруппирую их по типам данных XPath, с которыми они работают. Существует четыре типа данных: наборы узлов, строки, числа и логические значения. С наборами узлов работают следующие функции XPath:

count();

id();

last();

local-name();

name();

namespace-uri();

position().

Следующие функции XPath работают со строками:

concat();

contains();

normalize-space();

starts-with();

string();

string-length();

substring();

substring-after();

substring-before();

translate().

Для работы с числами служат следующие функции XPath:

ceiling();

floor();

number();

round();

sum().

И эти функции XPath работают с логическими значениями:

boolean();

false();

lang();

not();

true().

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

Функции XSLT

В следующем списке перечислены встроенные в XSLT функции:

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

document(). Позволяет считывать несколько документов;

element-available(). Показывает, доступен ли элемент расширения;

format-number(). Форматирует числа при выводе;

function-available(). Показывает, доступна ли функция расширения;

generate-id(). Указывает процессору XSLT присвоить идентификатор узлу и возвратить его. При повторном применении generate-id к тому же узлу функция возвращает присвоенный ранее идентификатор;

key(). Позволяет осуществлять поиск по ключу;

system-property(). Позволяет проверить три системных свойства: xsl:version(версия XSLT, поддерживаемая процессором XSLT), xsl:vendor(производитель процессора XSLT) и xsl:vendor-url(URL производителя процессора XSLT);

unparsed-entity-uri(). Предоставляет доступ к неразобранным сущностям, объявленным в DTD или схеме, через URI.

В следующих разделах все эти функции рассматриваются подробно и с примерами.

current()

Функция currentвозвращает текущий (current) — не контекстный (context) — узел. Контекстный узел шаблона — это узел в выбранном наборе узлов, к которому применяется шаблон. Текущий узел, с другой стороны, это используемый в данный момент узел в таких циклах, как . Функция возвращает текущий узел как набор узлов с одним узлом:

node-set current()

Обратите внимание: currentнельзя применять в образцах, поскольку образцы должны быть независимы от пути обработки, а способы реализации таких структур, как циклы, в процессорах XSLT могут различаться.

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

Листинг 8.1. Применение функции current

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

.

.

.

Name Mass Radius Day

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

document()

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

node-set document(uri, base-uri?)

Функция принимает параметр uri, который может представлять собой URI читаемого документа или набор узлов, чьи строковые значения задают идентификаторы URI. Второй, необязательный параметр base-uriпредставляет собой набор узлов, базовый URI которого используется для вычисления всех относительных URI, могущих находиться в параметре uri.

В следующем примере (листинг 8.2) я обрабатываю в процессоре XSLT один документ, planets1.xml, и также считываю и обрабатываю второй документ, planets2.xml. Вот planets1.xml.

Листинг 8.2. planets1.xml

Вот planets2.xml— в элементе содержится одна планета (листинг 8.3).

Листинг 8.3. planets2.xml

Mercury

.0553

58.65

1516

.983

43.4

А вот таблица стилей planets.xml, которую я применяю к planets1.xml. Таблица стилей содержит шаблон, выбирающий элемент в planets1.xml, и в этом шаблоне я считываю planets2.xmlпри помощи и функции document(листинг 8.4).

Листинг 8.4. Применение функции document

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

The Planets Table



The Planets Table

Name Mass Radius Day

.

.

.

Эта таблица стилей обрабатывает данные в planets1.xmlи также считывает и обрабатывает planets2.xml; вот полный результат — как видите, данные для planets2.xmlдобавились нужным образом:

The Planets Table



The Planets Table

Name Mass Radius Day
Mercury .0553 (Earth = 1) 1516 miles 58.65 days

Функция documentудобна, поскольку позволяет считывать на этапе выполнения такие дополнительные документы, как справка о правах владения или отказе от них, фирменный бланк и т.п.

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

Интервал:

Закладка:

Сделать


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

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




XSLT отзывы


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


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

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