Вход/Регистрация
XSLT
вернуться

Холзнер Стивен

Шрифт:

</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>

<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»):

  • Читать дальше
  • 1
  • ...
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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