XSLT
Шрифт:
</TR>
<TR>
<TD>Earth</TD>
<TD>1 (Earth = 1)</TD>
<TD>2107 You should switch to kilometers.</TD>
<TD>1 days</TD>
<TD>128.4 You should switch to kilometers.</TD>
</TR>
</TABLE>
</BODY>
</HTML>
normalize-space
Функция
normalize-space
удаляет лидирующие и завершающие символы-разделители и сжимает все внутренние идущие подряд разделители в один пробел, возвращая полученную строку. Функция применяется следующим образом: string normalize-space(string?)
В следующем примере я добавил дополнительные пробелы в атрибут
UNITS
элемента <MASS>
Меркурия: <?xml version="1.0"?>
<?xml-stylesheet type="text/xml" href="#"?>
<PLANETS>
<PLANET>
<NAME>Mercury</NAME>
<MASS UNITS=" (Earth = 1) ">.0553</MASS>
<DAY UNITS="days">58.65</DAY>
<RADIUS UNITS="miles">1516</RADIUS>
<DENSITY UNITS="(Earth = 1)">.983</DENSITY>
<DISTANCE UNITS="million miles">43.4</DISTANCE><!--B перигелии-->
</PLANET>
.
.
.
Функция
normalize-space
поможет удалить лишние пробелы в таблице стилей: <?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="normalize-space(@UNITS)"/>
</xsl:template>
.
.
.
И вот результат — обратите внимание на то, что лишние пробелы убраны:
<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.65 days</TD>
</TR>
.
.
.
starts-with
Как можно догадаться по имени (начинается с), функция
starts-with
проверяет, начинается ли одна строка с другой. boolean starts-with(string-to-examine, possible-start-string)
В этом примере из главы 4 при помощи
starts-with
выбираются текстовые узлы, текст в которых начинается с «Е», для того чтобы выбрать Earth (Землю). Затем в описание Земли добавляется текст «(the World)» (мир), и получается «Earth (the World)»: <?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/PLANETS">
<HTML>
<HEAD>
.
.
.
</BODY>
</HTML>
</xsl:template>
<
Поделиться:
Популярные книги
Зауряд-врач
1. Зауряд-врач
Фантастика:
альтернативная история
8.64
рейтинг книги
Искатель 1
1. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
"Охотник". Компиляция. Книги 1-12
Собрание сочинений
Фантастика:
боевая фантастика
5.00
рейтинг книги
После развода. Я смогу (наверное)
6. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Обгоняя время
13. Девяностые
Фантастика:
попаданцы
5.00
рейтинг книги
Князь Андер Арес 5
5. Андер Арес
Фантастика:
историческое фэнтези
фэнтези
героическая фантастика
5.00
рейтинг книги
Газлайтер. Том 27
27. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.25
рейтинг книги
На границе империй. Том 2
2. Фортуна дама переменчивая
Фантастика:
космическая фантастика
7.35
рейтинг книги
Эволюционер из трущоб
1. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Ученье – свет, а богов тьма
4. Замуж с осложнениями
Фантастика:
социально-философская фантастика
юмористическая фантастика
космическая фантастика
9.37
рейтинг книги
Кодекс Крови. Книга VIII
8. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.25
рейтинг книги
Подпольная империя
4. Цеховик
Фантастика:
попаданцы
альтернативная история
6.60
рейтинг книги
Воин-Врач
1. Воин-Врач
Фантастика:
попаданцы
альтернативная история
историческое фэнтези
6.00
рейтинг книги
Неучтенный элемент. Том 4
4. Антимаг. Вне системы
Фантастика:
фэнтези
5.00