Чтение онлайн

на главную

Жанры

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

Шрифт:

<xsl text> </xsl:text>

<xsl:value-of select="@UNITS"/>

 </xsl:template>

</xsl:stylesheet>

Вот результирующий документ:

<HTML>

 <HEAD>

<TITLE>

The Formatted Planets Table

</TITLE>

 </HEAD>

 <BODY>

<H1>

The Formatted Planets Table

</H1>

<TABLE BORDER="2">

<TR>

<TD>Name</TD>

<TD>Mass</TD>

<TD>Radius</TD>

<TD>Day</TD>

</TR>

<TR>

<TD>Mercury</TD>

<TD>0,055 (Earth = 1)</TD>

<TD>1,516 miles</TD>

<TD>58,65 days</TD>

</TR>

<TR>

<TD>Venus</TD>

<TD>0,815 (Earth = 1)</TD>

<TD>3,716 miles</TD>

<TD>116,75 days</TD>

</TR>

<TR>

<TD>Earth</TD>

<TD>1 (Earth = 1)</TD>

<TD>2,107 miles</TD>

<TD>1 days</TD>

</TR>

</TABLE>

 </BODY>

</HTML>

Этот

документ показан на рис. 8.3.

Рис. 8.3. Задание десятичных форматов

Вот и все — теперь вы можете задавать параметры форматирования для функции

format-number
.

Новые функции в XSLT 2.0 и XPath 2.0

В XSLT 2.0 и XPath 2.0 планируется включить весьма много функций. В частности, для XSLT 2.0 внесены в план следующие положения:

• должны быть включены функции, которые могут работать с

QName
, для того, чтобы можно было применить объявления пространств имен из области видимости;

• должны быть добавлены функции форматирования даты для поддержки схемы XML;

• должна быть включена функция для преобразования относительных идентификаторов URI в абсолютные;

• должны быть включены функции, упрощающие группировку. В XSLT 2.0 должно быть возможно группировать узлы на основе их строковых значений.

В XPath 2.0 в отношении

функций планируются следующие изменения:

• должен быть расширен набор агрегирующих функций — например, включены функции минимума и максимума; 

• для наборов узлов должны быть реализованы функции пересечения и разности; 

• должна быть включена поддержка дополнительных строковых функций, таких как функции для замены строк, заполнения символами и преобразований регистров в строках;

• должны быть включены агрегирующие функции для работы с коллекциями такими как наборы узлов;

• должны быть определены функции для работы со стандартными типами схемы XML.

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

Глава 9

Именованные шаблоны, параметры и переменные

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

Если задать шаблону имя, его можно вызывать по этому имени при помощи элемента

<xsl:call-template>
. Шаблон применяется при вызове, поэтому вместо того чтобы полагаться на обработку таблицы стилей, принятую в процессоре XSLT по умолчанию, вы можете явно задать, когда и какой шаблон нужно применять. Например, несколько шаблонов могут выбирать один и тот же набор узлов, и вам нужно выбрать из них один или несколько шаблонов, которые будут применены. Именованные шаблоны похожи на режимы, но дают вам больше возможностей управления.

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

language
(язык). При вызове именованного шаблона, заданного для обработки этого параметра, вы можете установить язык в «
en
», «
de
» или «
fr
» и затем вызвать шаблон при помощи элемента
<xsl:with-param>
. В самом именованном шаблоне используемый им параметр
language
объявляется при помощи элемента
<xsl:param>
. После объявления параметра к его значению можно свободно обращаться как
$language
и использовать его в выражениях XPath. В этой главе мы рассмотрим многочисленные примеры работы с параметрами.

Переменные во многом похожи на параметры, с тем лишь отличием, что они по-другому создаются. Параметры, как правило, используются в именованных шаблонах, в то время как переменные применяются более широко, в выражениях XPath любого вида. Как и в языках программирования, в переменных XSLT можно хранить значения и обращаться к ним позже. Но есть одна важная особенность: за исключением особых обстоятельств, вы не можете изменять значение, хранимое в переменной. (В связи с этим некоторые авторы, пишущие об XSLT, считают неправильным называть их переменными.)

Поделиться:
Популярные книги

Отмороженный 8.0

Гарцевич Евгений Александрович
8. Отмороженный
Фантастика:
постапокалипсис
рпг
аниме
5.00
рейтинг книги
Отмороженный 8.0

Скрываясь в тени

Мазуров Дмитрий
2. Теневой путь
Фантастика:
боевая фантастика
7.84
рейтинг книги
Скрываясь в тени

На границе тучи ходят хмуро...

Кулаков Алексей Иванович
1. Александр Агренев
Фантастика:
альтернативная история
9.28
рейтинг книги
На границе тучи ходят хмуро...

Восход. Солнцев. Книга I

Скабер Артемий
1. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга I

Заставь меня остановиться 2

Юнина Наталья
2. Заставь меня остановиться
Любовные романы:
современные любовные романы
6.29
рейтинг книги
Заставь меня остановиться 2

Системный Нуб 4

Тактарин Ринат
4. Ловец душ
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Системный Нуб 4

Машенька и опер Медведев

Рам Янка
1. Накосячившие опера
Любовные романы:
современные любовные романы
6.40
рейтинг книги
Машенька и опер Медведев

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Титан империи 5

Артемов Александр Александрович
5. Титан Империи
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Титан империи 5

Мятежник

Прокофьев Роман Юрьевич
4. Стеллар
Фантастика:
боевая фантастика
7.39
рейтинг книги
Мятежник

Последний рейд

Сай Ярослав
5. Медорфенов
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Последний рейд

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9

Неудержимый. Книга XIV

Боярский Андрей
14. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XIV

Младший сын князя

Ткачев Андрей Сергеевич
1. Аналитик
Фантастика:
фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Младший сын князя