XSLT
Шрифт:
</xsl:template>
<xsl:template match="NAME">
<xsl:value-of select="."/>
</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="NAME" mode="fancy">
<B><xsl:value-of select="."/></B>
</xsl:template>
<xsl:template match="MASS" mode="fancy">
<B>
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</B>
</xsl:template>
<xsl:template match="RADIUS" mode="fancy">
<B>
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</B>
</xsl:template>
<xsl:template match="DAY" mode="fancy">
<B>
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</B>
</xsl:template>
</xsl:stylesheet>
Вот результат. Заметьте, что одни только данные Земли выделены полужирным:
<HTML>
<HEAD>
<TITLE>
The Fancy Planets Table
</TITLE>
</HEAD>
<BODY>
<H1>
The Fancy Planets Table
</Н1>
<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>
<TR>
<TD>Venus</TD>
<TD>.815 (Earth = 1)</TD>
<TD>3716 miles</TD>
<TD>116.75 days</TD>
</TR>
<TR>
<TD><B>Earth</B></TD>
<TD><B>1 (Earth = 1)</B></TD>
<TD><B>2107 miles</B></TD>
<TD><B>1 days</B></TD>
</TR>
</TABLE>
</BODY>
</HTML>
Этот документ показан на рис. 6.4.
Рис. 6.4. Применение режимов обработки
Режимы также очень удобны в том случае, когда требуется обработать один и тот же документ более одного раза; классический пример — создание оглавления.
Следующий пример демонстрирует создание оглавления. Я добавил в
planets.xml
оглавление в элементе <TOC>
(table of contents, оглавление), имеющем три элемента <ENTRY>
для каждой из планет. Заметьте, что здесь мне необходимо применить два шаблона, выбирающие элементы <PLANET>
, — один для создания оглавления и еще один для копирования всех элементов <PLANET>
в результирующий документ — я использую режимы для того, чтобы их различать. Начну с установки режима в «toc
» и применения шаблона, который поддерживает этот режим и создает оглавление:
Поделиться:
Популярные книги
Хозяин Теней 7
7. Безбожник
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Наемный корпус
5. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Геном хищника. Книга четвертая
4. Я - Легенда!
Фантастика:
боевая фантастика
рпг
попаданцы
5.00
рейтинг книги
Три `Д` для миллиардера. Свадебный салон
Любовные романы:
современные любовные романы
короткие любовные романы
7.14
рейтинг книги
Эволюционер из трущоб. Том 9
9. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Путь
Фантастика:
космическая фантастика
4.25
рейтинг книги
Женщины
Проза:
современная проза
6.90
рейтинг книги
Кодекс Охотника. Книга XXXVIII
38. Кодекс Охотника
Фантастика:
фэнтези
боевая фантастика
попаданцы
юмористическое фэнтези
5.00
рейтинг книги
Газлайтер. Том 29
29. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Душа оборотня
4. Ведун
Фантастика:
фэнтези
альтернативная история
8.52
рейтинг книги
Газлайтер. Том 12
12. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Мажор. Дилогия.
Фантастика:
боевая фантастика
8.05
рейтинг книги
Гримуар темного лорда II
2. Гримуар темного лорда
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сержант. Назад в СССР. Книга 4
4. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00