XSLT
Шрифт:
•
format-number(number number1, string string2, string string3)
. Возвращает строку, содержащую число number1
в виде форматированной строки, используя string2
в качестве форматирующей строки (форматирующие строки создаются так же, как для метода Java java.text.DecimalFormat
) и string3
как возможную строку локализации; •
normalize-space(string string1)
. Возвращает строку string1
после отбрасывания лидирующих и завершающих
•
starts-with(string string1, string string2)
. Возвращает истину, если первая строка начинается (starts with) со второй строки; •
string-length(string string1)
. Возвращает количество символов в строке string1
; •
substring(string string1, number offset number length)
. Возвращает length
символов из строки, начиная со смещения offset
; •
substring-after(string string1, string string2)
. Возвращает часть строки string1
после первого вхождения string2
; •
substring-before(string string1, string string2)
. Возвращает часть строки string1
до первого вхождения строки string2
; •
translate(string string1, string string2, string string3)
. Возвращает строку string1
, в которой все вхождения символов в строке stri
ng2 заменены на соответствующие символы в строке string3
. В листинге 7.1 я ищу слово «miles» во всех атрибутах, и если оно встречается, добавляю в результирующий документ текст «You should switch to kilometers.» (Нужно перевести в километры.).
Листинг 7.1. Поиск текста в атрибутах
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/PLANETS">
<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>
<TD>Distance</TD>
</TR>
<xsl:apply-templates/>
</TABLE>
</BODY>
</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>
<TD><xsl:apply-templates select="DISTANCE"/></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="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</xsl:template>
<xsl:template match="DISTANCE">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</xsl:template>
<xsl:template match="//*[contains(@UNITS, 'miles')]">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:text>You should switch to kilometers.</xsl:text>
</xsl:template>
</xsl:stylesheet>
Вот
<HTML>
<HEAD>
<TITLE>
The Planets Table
Поделиться:
Популярные книги
Истинная со скидкой для дракона
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Герцог и я
1. Бриджертоны
Любовные романы:
исторические любовные романы
8.92
рейтинг книги
На границе империй. Том 9. Часть 5
18. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Росток
2. Хозяин дубравы
Фантастика:
попаданцы
альтернативная история
фэнтези
7.00
рейтинг книги
Демон
2. История одного эволюционера
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Огромный. Злой. Зеленый
1. Большой. Зеленый... ОРК
Любовные романы:
любовно-фантастические романы
5.40
рейтинг книги
Запечатанный во тьме. Том 1. Тысячи лет кача
1. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Тайны ордена
6. Девятый
Фантастика:
боевая фантастика
попаданцы
7.48
рейтинг книги
Кодекс Охотника. Книга VI
6. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XXI
21. Неудержимый
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Возлюби болезнь свою
Научно-образовательная:
психология
7.71
рейтинг книги

На границе империй. Том 5
5. Фортуна дама переменчивая
Фантастика:
боевая фантастика
попаданцы
7.50
рейтинг книги
Виконт, который любил меня
2. Бриджертоны
Любовные романы:
исторические любовные романы
9.13
рейтинг книги
Академия проклятий. Книги 1 - 7
Академия Проклятий
Фантастика:
фэнтези
8.98