XSLT
Шрифт:
translate("steve-starpowder.com", "-", "@")
возвратит результирующую строку «[email protected]».
В этом примере я просто привожу строку к нижнему регистру:
translate("XSLT", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz")
Функции XPath для работы с числами
В XPath имеются следующие функции для работы с числами:
•
ceiling
. Возвращает наименьшее целое, большее переданного функции числа, •
floor
.
•
number
. Приводит переданный ей параметр к числу; •
round
. Округляет переданное функции число до ближайшего целого; •
sum
. Возвращает сумму переданных функции чисел. В следующих разделах мы рассмотрим примеры применения каждой из этих функций.
ceiling
Функция
ceiling
возвращает наименьшее целое, которое все еще больше переданного функции числа, то есть она возвращает следующее большее целое. Функция применяется следующим образом: number ceiling(number)
Например, выражение
ceiling(3.1415926535)
возвращает 4.
floor
Функция
floor
— парная к функции ceiling
. Она возвращает наибольшее целое, которое все еще меньше переданного ей числа. Другими словами, функция возвращает предыдущее целое. Функция применяется следующим образом: number floor(number)
В этом примере я при помощи
floor
преобразую длительность дней планет в целые числа: <?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/PLANETS">
<HTML>
.
.
.
</HTML>
</xsl:template>
<xsl:template match="PLANET">
<TR>
<TD><xsl:value-of select="NAME"/></TD>
<TD><xsl:apply-templates select="MASS"/></TD>
<TD><xsl:apply-templates select="RADIUS"/></TD>
<TD><xsl:apply-templates select="DAY"/></TD>
</TR>
</xsl:template>
<xsl:template match="MASS">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</xsl:template>
<xsl:template match="RADIUS">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</xsl:template>
<xsl:template match="DAY">
<xsl:value-of select="floor(.)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</xsl:template>
</xsl:stylesheet>
А
<HTML>
<HEAD>
<TITLE>
The Planets Table
</TITLE>
</HEAD>
<BODY>
<H1>
The 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>.0553 (Earth = 1)</TD>
<TD>1516 miles</TD>
<TD>58 days</TD>
</TR>
<TR>
<TD>Venus</TD>
<TD>.815 (Earth = 1)</TD>
<TD>3716 miles</TD>
<TD>116 days</TD>
</TR>
<TR>
<TD>Earth</TD>
<TD>1 (Earth = 1)</TD>
<TD>2107 miles</TD>
<TD>1 days</TD>
</TR>
</TABLE>
</BODY>
</HTML>
number
Функция
number
приводит свой аргумент к числу. Функция применяется следующим образом: number number(object?)
Поделиться:
Популярные книги
Семья. Измена. Развод
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Звездная Кровь. Изгой
1. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
На границе империй. Том 4
4. Фортуна дама переменчивая
Фантастика:
космическая фантастика
6.00
рейтинг книги
Искушение генерала драконов
2. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Шаг в бездну
3. Перешагнуть пропасть
Фантастика:
фэнтези
космическая фантастика
7.89
рейтинг книги
Камень Книга одиннадцатая
11. Камень
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Никто и звать никак
Фантастика:
фэнтези
7.18
рейтинг книги
Возвышение Меркурия. Книга 14
14. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 20
20. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Генерал Скала и ученица
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Пограничная река. (Тетралогия)
Пограничная река
Фантастика:
фэнтези
боевая фантастика
9.13
рейтинг книги
Драконий подарок
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Сумеречный Стрелок 2
2. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 10
10. Сумеречный стрелок
Фантастика:
рпг
аниме
фэнтези
5.00