Чтение онлайн

на главную

Жанры

Технология XSLT

Валиков Алексей Н.

Шрифт:

 <xsl:output indent="yes" doctype-system="/dtds/document.dtd"/>

 <xsl:template match="/"><xsl:copy-of select="/"/></xsl: template>

</xsl:stylesheet>

Листинг 8.49. Выходящий документ

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE page SYSTEM "/dtds/document.dtd">

<page> content </page>

Атрибут doctype-public

Если в преобразовании атрибутом

doctype-system
элемента
xsl:output
задано внешнее определение логического типа документа, это определение может быть расширено также и публичным идентификатором. Публичный идентификатор указывается в атрибуте
doctype-public
элемента
xsl:output
. Его использование может быть продемонстрировано следующим примером.

Листинг 8.50. Входящий документ

<?xml version="1.0" encoding="utf-8"?>

<page> content </page>

Листинг 8.51. Преобразование

<xsl:stylesheet

 version="1.0"

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:output indent="yes"

doctype-system="/dtds/document.dtd"

doctype-public="-//Document//Description" />

 <xsl:template match="/"><xsl:copy-of select="/"/></xsl:template>

</xsl:stylesheet>

Листинг 8.52. Выходящий документ

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE page

 PUBLIC "-//Document//Description" "/dtds/document.dtd">

<page> content </page>

Атрибут media-type

Атрибут

media-type
позволяет задавать медиа-тип содержимого выходящего документа. Для метода вывода
"xml"
значением
media-type
по умолчанию является
"text/xml"
. Несмотря на то, что
media-type
не оказывает никакого влияния на содержимое самого документа, XSLT-процессоры, используемые на стороне сервера, могут в зависимости от значения этого атрибута изменять MIME-тип исходящих данных при использовании, к примеру, такого протокола, как HTTP.

Атрибут omit-xml-declaration

XML-документы, в принципе, могут быть корректными и без декларации XML. Поэтому XSLT позволяет опускать эту декларацию в выходящем документе, для чего значению атрибута

omit-xml-declaration
должно быть присвоено
"yes"
:

<xsl:output

 omit-xml-declaration="yes"/>

В случае если значение атрибута

omit-xml-declaration
опущено или не равно
"yes"
, процессор будет выводить в выходящем документе декларацию XML, которая включает информацию о версии (по умолчанию
"1.0"
) и кодировке документа (по умолчанию
"utf-8"
или
"utf-16"
в зависимости от процессора).

Атрибут standalone

Для того чтобы объявить документ как самостоятельный или несамостоятельный (standalone или non-standalone соответственно), следует использовать атрибут

standalone
элемента
xsl:output
. Если этот атрибут будет присутствовать в
xsl:output
, то процессор включит в декларацию XML объявление
standalone
с соответствующим значением. Если атрибут
standalone
не указан, объявление
standalone
в декларацию XML выходящего документа включено не будет.

Метод вывода "html"

В нынешнем состоянии языки XML и HTML сильно похожи синтаксически, но при этом имеют некоторые довольно весомые различия. Метод вывода

"html"
используется для того, чтобы выводить документы в формате, который будет понятен большинству существующих на данный момент Web-браузеров.

Одно из основных различий HTML и XML состоит в том, что в XML пустые элементы имеют формат

<имя/>
, в то время как в HTML тот же элемент был бы выведен, как
<имя>
— без косой черты. Метод вывода
"html"
учитывает эти различия и выводит теги пустых элементов HTML без косой черты после имени. В соответствии с технической рекомендацией языка HTML 4.0, пустыми элементами являются
area
,
base
,
basefont
,
br
,
col
,
frame
,
hr
,
img
,
input
,
isindex
,
link
,
meta
и
param
.

Пример
Листинг 8.53. Входящий документ

<?xml version="1.0" encoding="utf-8"?>

<page>

 <title>I'm just a simple page...</title>

 <content>I've got a simple content</content>

</page>

Листинг 8.54. Преобразование

 <xsl:stylesheet

version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:output indent="yes" method="html"/>

 <xsl:template match="/page">

<html>

<head>

<title>

<xsl:value-of select="title"/>

</title>

</head>

<body>

Welcome!<br/>

Be our guest! <HR/>

<xsl:value-of select="content"/>

</body>

</html>

 </xsl:template>

</xsl:stylesheet>

Листинг 8.55. Выходящий документ

<html>

 <head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>I'm just a simple page...</title>

Поделиться:
Популярные книги

Авиатор: назад в СССР 12+1

Дорин Михаил
13. Покоряя небо
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Авиатор: назад в СССР 12+1

Третий

INDIGO
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий

В зоне особого внимания

Иванов Дмитрий
12. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
В зоне особого внимания

Кровавая весна

Михайлов Дем Алексеевич
6. Изгой
Фантастика:
фэнтези
9.36
рейтинг книги
Кровавая весна

Неудержимый. Книга XVIII

Боярский Андрей
18. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVIII

Вперед в прошлое!

Ратманов Денис
1. Вперед в прошлое
Фантастика:
попаданцы
5.00
рейтинг книги
Вперед в прошлое!

Начальник милиции. Книга 3

Дамиров Рафаэль
3. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 3

Не грози Дубровскому!

Панарин Антон
1. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому!

Свадьба по приказу, или Моя непокорная княжна

Чернованова Валерия Михайловна
Любовные романы:
любовно-фантастические романы
5.57
рейтинг книги
Свадьба по приказу, или Моя непокорная княжна

Муж на сдачу

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Муж на сдачу

Кодекс Крови. Книга I

Борзых М.
1. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга I

Польская партия

Ланцов Михаил Алексеевич
3. Фрунзе
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Польская партия

Лорд Системы

Токсик Саша
1. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
4.00
рейтинг книги
Лорд Системы

Газлайтер. Том 2

Володин Григорий
2. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 2