XSLT
Шрифт:
<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><!--At perihelion-->
</PLANET>
.
.
.
Элемент <xsl:document>: создание нескольких выходных документов
В рабочем проекте XSLT 1.1 был представлен новым элемент,
<xsl:document>
, предназначенный для поддержки нескольких выходных документов, — и, скорее всего, этот элемент будет добавлен в XSLT 2.0. Он имеет следующие атрибуты: •
href
(обязательный). Указывает место, в которое должен быть помещен новый документ. Устанавливается в абсолютный или относительный URI, без идентификатора фрагмента; •
method
(необязательный). Устанавливает метод вывода, используемый для создания результирующего документа. Устанавливается в «xml», «html», «text» или QName, которое не является NCName; •
version
(необязательный). Задает версию выходного документа. Устанавливается в NMTOKEN; •
encoding
(необязательный). Задает кодировку выходного документа. Устанавливается в строку; •
omit-xml-declaration
(необязательный). Принимает значения «yes» или «no» для того, чтобы пропускать или не пропускать объявление XML; •
cdata-section-elements
(необязательный). Определяет имена тех элементов, чье содержимое вы хотите вывести как разделы CDATA. Принимает значение разделенного символами-разделителями списка QName; •
doctype-public
(необязательный). Определяет открытый идентификатор, который будет использован в объявлении <!DOCTYPE>
вывода. Устанавливается в строковое значение; •
doctype-system
(необязательный). Определяет системный идентификатор, который будет использован в объявлении <!DOCTYPE>
вывода. Устанавливается в строковое значение; •
encoding
(необязательный). Задает кодировку символов. Устанавливается в строковое значение; •
indent
(необязательный). Определяет выравнивание вывода для отображения структуры вложенности. Устанавливается в «yes» или «no»; •
media-type
(необязательный). Задает тип MIME вывода. Устанавливается в строковое значение; •
standalone
(необязательный). Определяет, нужно ли включать в вывод отдельное объявление, и если да, задает его значение. Устанавливается в «yes» или «no». Этот элемент содержит тело шаблона.
В следующем примере, основанном на упрощенной таблице стилей, я создаю в документе HTML две рамки (frame), и два HTML-документа, которые будут в них отображаться,
frame1.html
и frame2.html
. Первую рамку и документ, который в ней появится, frame1.html
, я создам при помощи <xsl:document>
следующим образом (заметьте, что здесь я устанавливаю атрибут version в «1.1», поскольку мы используем возможность, входящую только в рабочий проект XSLT 1.1, но «1.1», вероятно, не будет правильным значением атрибута version
в долгосрочном периоде; если элемент <xsl:document>
будет включен в XSLT 2.0, версию следует установить в «2.0»): <HTML xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.1">
<HEAD>
<TITLE>
Two Frames
</TITLE>
</HEAD>
<FRAMESET cols="50%, 50%>
<FRAME src="frame1.html"/>
<xsl:document href="#">
<HTML>
<HEAD>
<TITLE>
Frame 1
</TITLE>
</HEAD>
<BODY>
<H1>This is frame 1.</H1>
</BODY>
</HTML>
</xsl:document>
.
.
.
После этого я могу создать вторую рамку и документ для вывода в нее,
frame2.html
(листинг 6.10). Листинг 6.10. Применение <xsl:document>
<HTML xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.1">
<HEAD>
<TITLE>
Two Frames
</TITLE>
</HEAD>
<FRAMESET cols="50%, 50%>
<FRAME src="frame1.html"/>
<xsl:document href="#">
<HTML>
<HEAD>
<TITLE>
Frame 1
</TITLE>
</HEAD>
Поделиться:
Популярные книги
Герой
4. Варяг
Фантастика:
альтернативная история
9.10
рейтинг книги
Черный Маг Императора 17
17. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Прапорщик. Назад в СССР. Книга 6
6. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Леди Малиновой пустоши
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Смерть пэра
10. Родерик Аллейн
Детективы:
классические детективы
7.00
рейтинг книги
Менталист. Революция
3. Выиграть у времени
Фантастика:
боевая фантастика
5.48
рейтинг книги
Я не бог. Книга XXXIV
34. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Эволюционер из трущоб. Том 2
2. Эволюционер из трущоб
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXIV
34. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Я уже барон
2. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Жена со скидкой, или Случайный брак
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Восхитительная ведьма
1. Восхитительная ведьма
Любовные романы:
современные любовные романы
4.67
рейтинг книги
Тьма чернее ночи
7. Гарри Босх
Детективы:
триллеры
7.64
рейтинг книги
Лейтенант. Назад в СССР. Книга 8. Часть 1
8. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00