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

на главную

Жанры

Технология XSLT

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

Шрифт:

format-number(123456789, '#', 'format3')
'23456789:'

format-number(12345.06789, '#.#####', 'format3')
'23456.1789:'

Десятичный формат, определяемый элементом

xsl:decimal-format
, в отличие от многих других элементов не может переопределяться в преобразованиях со старшим порядком импорта. Элементы
xsl:decimal-format
должны определять десятичные форматы с различными именами (за исключением тех случаев, когда значения их атрибутов полностью
совпадают).

Контроль вывода документа

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

Элемент xsl:output

Синтаксис этого элемента приведен ниже:

<xsl:output

 method = "xml" | "html" | "text" | "имя"

 version = "токен"

 encoding = "строка"

 omit-xml-declaration = "yes" | "no"

 standalone = "yes" | "no"

 doctype-public = "строка"

 doctype-system = "строка"

 cdata-section-elements = "имена"

 indent = "yes" | "no"

 media-type = "строка"/>

Элемент верхнего уровня

xsl:output
позволяет указывать, каким образом должно быть выведено результирующее дерево.

Главным атрибутом элемента

xsl:output
является атрибут
method
, который определяет, какой метод должен использоваться для вывода документа. Значением этого атрибута может быть любое имя, но при этом техническая рекомендация XSLT определяет только три стандартных метода вывода —
"xml"
,
"html"
и
"text"
. В том случае, если процессор поддерживает нестандартный метод вывода, его реализация полностью зависит от производителя.

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

xsl:output
или в нем не указан атрибут
method
, метод преобразования выбирается по умолчанию исходя из следующих условий.

□ Если корень выходящего документа имеет дочерний элемент с локальным именем "

html
" (в любом регистре символов), которому предшествуют только пробельные символы, методом вывода по умолчанию становится
"html
".

□ Во всех остальных случаях методом вывода по умолчанию является

"xml"
.

Пример

Для документа

<HTML>

 <HEAD>

<TITLE>XSL Transformations (XSLT)</TITLE>

 </HEAD>

 <BODY>

<H1>XSL Transformations (XSLT)<BR/>Version 1.0</H1>

 </BODY>

</HTML>

Методом

вывода по умолчанию будет
"html"
, а для документа

<BODY>

 <H1>XSL Transformations (XSLT)<BR/>Version 1.0</H1>

</BODY>

будет выбран метод вывода

"xml"
.

Помимо главного атрибута

method
, элемент
xsl:output
имеет следующие атрибуты:

□ 

version
(версия) — определяет версию языка выходящего документа;

□ 

indent
(индентация) — определяет, должен ли процессор добавлять пробельные символы для более наглядного форматирования документа;

□ 

encoding
(кодировка) — определяет, в какой кодировке должен быть выведен документ. Значение этого атрибута не зависит от регистра символов, то есть значения
encoding="utf-8"
и
encoding="UtF-8"
будут эквивалентны. В атрибуте
encoding
можно использовать только печатаемые символы ASCII, то есть символы интервала от
#x21
до
#x7e
. Значением
encoding
должно быть название набора символов, определенное в стандартах IANA (Internet Assigned Numbers Authority) или RFC2278. В противном случае, атрибут должен начинаться символами "
x-
";

□ 

media-type
— определяет тип содержимого MIME выходящего документа;

□ 

doctype-system
— определяет системный идентификатор, который должен быть использован в декларации типа документа (DTD);

□ 

doctype-public
— определяет публичный идентификатор, который должен быть использован в декларации типа документа (DTD);

□ 

omit-xml-declaration
(пропустить декларацию XML) — определяет, нужно ли включать декларацию XML в выходящий документ или нет. Значением этого атрибута должно быть либо
"yes"
(пропустить декларацию), либо
"no"
(включить декларацию в выходящий документ);

□ 

standalone
(самостоятельный документ) — определяет, должен ли процессор выводить указание на самостоятельность документа (standalone declaration). Значением этого атрибута может быть либо
"yes"
(выводить указание), либо
"no"
(не выводить указание на самостоятельность);

□ 

cdata-section-elements
— определяет список элементов, текстовое содержимое которых должно быть выведено с использованием секций CDATA.

Использование этих атрибутов зависит от того, какой из методов выбран для вывода преобразованного документа.

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

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

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

Лейтенант империи. Часть первая

Четвертнов Александр
6. Внутренняя сила
Фантастика:
научная фантастика
боевая фантастика
космическая фантастика
аниме
5.00
рейтинг книги
Лейтенант империи. Часть первая

Королевская кровь-13. Часть 1

Котова Ирина Владимировна
14. Королевская кровь
Фантастика:
городское фэнтези
фэнтези
эпическая фантастика
5.00
рейтинг книги
Королевская кровь-13. Часть 1

Кротовский, не начинайте

Парсиев Дмитрий
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, не начинайте

Тайны затерянных звезд. Том 2

Лекс Эл
2. Тайны затерянных звезд
Фантастика:
боевая фантастика
космическая фантастика
космоопера
фэнтези
5.00
рейтинг книги
Тайны затерянных звезд. Том 2

Скандальный развод, или Хозяйка владений "Драконье сердце"

Милославская Анастасия
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Скандальный развод, или Хозяйка владений Драконье сердце

Бастард Императора. Том 12

Орлов Андрей Юрьевич
12. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 12

Ну привет, заучка...

Зайцева Мария
Любовные романы:
эро литература
короткие любовные романы
8.30
рейтинг книги
Ну привет, заучка...

Тепла хватит на всех 4

Котов Сергей
4. Миры Пентакля
Фантастика:
научная фантастика
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Тепла хватит на всех 4

Тринадцатый

NikL
1. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
6.80
рейтинг книги
Тринадцатый

Камень. Книга шестая

Минин Станислав
6. Камень
Фантастика:
боевая фантастика
7.64
рейтинг книги
Камень. Книга шестая

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9

Казачий князь

Трофимов Ерофей
5. Шатун
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Казачий князь

70 Рублей - 2. Здравствуй S-T-I-K-S

Кожевников Павел
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
постапокалипсис
5.00
рейтинг книги
70 Рублей - 2. Здравствуй S-T-I-K-S