(именами или обобщенными именами с символами подстановок).Фактически элемент
является элементом по умолчанию для всех элементов в XSLT. Если вы использовали элемент
, все равно можно указать, в каком элементе или элементах нужно сохранить узлы-разделители, установив атрибут elements
элемента
в список этих элементов:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Обсужденные средства удаления и сохранения разделителей могут показаться слишком сложными для форматирования выходных документов выравнивающими пробелами, но, к счастью, существует простой способ: атрибут
indent
элемента
позволяет автоматически выровнять выходной документ.Автоматическое выравнивание
Элемент
поддерживает атрибут indent
который устанавливается в «yes» или «no», и указывает процессору XSLT, нужно ли выравнивать результирующий документ. Как правило, выравнивание результирующего документа не имеет большого значения, поскольку с ним работает приложение, которому все равно, выровнен документ или нет, как мы видели в примерах преобразований XML- XML и XML-HTML. Однако иногда требуется представить результирующий документ в виде простого текста, и в таких случаях выравнивание документа для отображения иерархической структуры может оказаться удобным.Способ работы процессора XSLT с переменной выравнивания не регламентируется W3C и зависит от процессора, поэтому для получения требуемого результата нужно экспериментировать. Пусть, например, у нас есть версия
planets.xml
без какого-либо выравнивания:
Mercury
.0553
58.65
1516
.983
43.4
Venus
.815
116.75
3716
.943
66.8
Earth
1
1
2107
1
128.4
При помощи элемента
можно указать процессору XSLT осуществлять выравнивание документа при преобразовании его в HTML (листинг 3.6).Листинг 3.6. Таблица стилей, задающая выравнивание
The Planets Table
The Planets Table
Name
Mass
Radius
Day>/TD>
Результат применения таблицы с использованием процессора Saxon (в котором особенно хорошо реализовано выравнивание) с требуемым выравниванием:
The Planets Table
The Planets Table
Name
Mass
Radius
Day
Mercury
.0553
1516
58.65
Venus
.815
3716
116.75
Earth
1
2107
1
Как видите, в XSLT обработке символов-разделителей приходится уделять достаточное внимание, но процедура упрощается, если вы знаете, что происходит.
ВЫРАВНИВАНИЕ ДОКУМЕНТОВ В ЭТОЙ КНИГЕ
Способ выравнивания документов зависит от конкретного процессора XSLT. В этой книге документы выровнены для удобочитаемости, даже если в действительности документы не были выровнены процессором XSLT.
Правила по умолчанию в шаблоне
Взгляните на следующую таблицу стилей XSLT — в ней заданы правила для выбора корневого узла, узлов
и узлов
:
xmlns:xsl="http.//www.w3.org/1999/XSL/Transform">
<