XSLT
Шрифт:
В листинге 6.8 я создаю комментарии для замены элементов
<PLANET>
; текст комментария включает название планеты. Листинг 6.8. Применение <xsl:comment>
<?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>
Planets
</TITLE>
</HEAD>
<BODY>
<xsl:apply-templates select="PLANET"/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="PLANET">
<xsl:comment>This was the <xsl:value-of select="NAME"/> element</xsl:comment>
</xsl:template>
</xsl:stylesheet>
Вот
<HTML>
<HEAD>
<TITLE>
Planets
</TITLE>
</HEAD>
<BODY>
<!--This was the Mercury element-->
<!--This was the Venus element-->
<!--This was the Earth element-->
</BODY>
</HTML>
Элемент <xsl:processing-instruction>: создание инструкций обработки
При помощи элемента
<xsl:processing-instruction>
можно создавать новые инструкции обработки. У этого элемента один атрибут: •
name
(обязательный). Задает имя инструкции обработки. Принимает значение шаблона значений атрибута, возвращающего NCName. В следующем примере я удалил инструкцию
<?xml-stylesheet?>
из начала planets.xml
: <?xml version="1.0"?>
<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>
<PLANET>
<NAME>Venus</NAME>
<MASS UNITS="(Earth = 1)">.815</MASS>
<DAY UNITS="days">116.75</DAY>
<RADIUS UNITS="miles">3716</RADIUS>
<DENSITY UNITS="(Earth = 1)">.943</DENSITY>
<DISTANCE UNITS="million miles">66.8</DISTANCE><!--B
перигелии-->
</PLANET>
.
.
.
Для того чтобы снова добавить эту инструкцию обработки, можно применить элемент
<xsl:processing-instruction>
(листинг 6.9). Пункты type
и href
в инструкции обработки, например <?xml-stylesheettype="text/xml" href="#"?>
, в действительности не являются атрибутами, поэтому их значения нужно устанавливать не при помощи <xsl:attribute>
, а используя простой текст. Листинг 6.9. Применение <xsl:processing-instruction>
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="/">
<xsl:processing-instruction name="xml-stylesheet">
<xsl:text>type="text/xml" href="#"</xsl:text>
</xsl:processing-instruction>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="@*|node">
<xsl:copy>
<xsl:apply-templates select="@*|node"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Вот результат, где инструкция обработки
<?xml-stylesheet?>
снова на месте: <?xml version="1.0" encoding="UTF-8?>
<?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>
Поделиться:
Популярные книги
Товарищ "Чума" 2
2. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Барон диктует правила
4. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XIII
13. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
7.50
рейтинг книги
И.Бабель. Воспоминания современников
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Наномашины, наследник! Том 9
9. Первый среди карапузов
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 1
1. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Закрытые Миры
Вселенная EVE Online
Фантастика:
фэнтези
5.86
рейтинг книги
Неучтенный элемент. Том 2
2. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
5.00
рейтинг книги
Законы Рода. Том 8
8. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVIII
18. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда VI
6. Гримуар темного лорда
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Долг
7. Другая сторона
Фантастика:
боевая фантастика
5.56
рейтинг книги
Хозяин Стужи 2
2. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
5.75
рейтинг книги
Четники. Королевская армия
Документальная литература:
биографии и мемуары
публицистика
5.00