XSLT
Шрифт:
translate("steve-starpowder.com", "-", "@")
возвратит результирующую строку «steve@starpowder.com».
В этом примере я просто привожу строку к нижнему регистру:
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?)
Поделиться:
Популярные книги
Идеальный мир для Социопата 3
3. Социопат
Фантастика:
боевая фантастика
6.17
рейтинг книги
Идеальный мир для Лекаря 4
4. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Попала, или Кто кого
Любовные романы:
современные любовные романы
5.88
рейтинг книги
"Фантастика 2024-104". Компиляция. Книги 1-24
Фантастика 2024. Компиляция
Фантастика:
боевая фантастика
5.00
рейтинг книги
Сиротка
1. Сиротка
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Конструктор
1. Переломный век
Фантастика:
попаданцы
альтернативная история
4.50
рейтинг книги
Идеальный мир для Лекаря 5
5. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Запасная дочь
Фантастика:
фэнтези
6.40
рейтинг книги
Жандарм
1. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
4.11
рейтинг книги
Измена. Жизнь заново
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Тринадцатый II
2. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Жребий некроманта 3
3. Жребий некроманта
Фантастика:
боевая фантастика
5.56
рейтинг книги
Все ведьмы – стервы, или Ректору больше (не) наливать
1. Все ведьмы - стервы
Фантастика:
юмористическая фантастика
5.00
рейтинг книги
Имперец. Земли Итреи
11. Путь
Фантастика:
героическая фантастика
боевая фантастика
5.25