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

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

Шрифт:

<xsl:variable name="movie" select="'Mr. Blandings Builds His Dream House'"/>

<!-- здесь $movie = "Mr Blandings Builds His Dream House'-->

<xsl:template match="entertainment">

 <!-- здесь $movie = 'Mr. Blandings Builds His Dream House'-->

 .

 .

 .

Однако если вы объявите локальную переменную movie, в шаблоне эта версия перекроет глобальную переменную:

<xsl:variable name="movie" select="'Mr. Blandings Builds His Dream House'">

<!-- здесь $movie = 'Mr. Blandings Builds His Dream House'-->

<xsl:template match="entertainment">

 <!-- здесь $movie = Mr. Blandings Builds His Dream House"-->

 <xsl:variable name="movie" select="'Goldfinger'"/>

 <!-- здесь $movie = 'Goldfinger'-->

 .

 .

 .

В этом случае мы перекрыли глобальную переменную при помощи глобальной. Заметьте, однако, что нельзя снова объявить одну и ту же переменную в одном шаблоне с целью попытаться изменить ее значение:

<xsl:variable name="movie" select="'Mr. Blandings Builds His Dream House'"/>

<!-- здесь $movie = Mr. Blandings Builds His Dream House"-->

<xsl:template match="entertainment">

 <!-- здесь $movie = 'Mr. Blandings Builds His Dream House"-->

 <xsl:variable name="movie" select="'Goldfinger'"/>

 <!-- здесь $movie = 'Goldfinger'-->

 <xsl:variable name="movie" select="'Withnail and I'"/><!-- Запрещено -->

 .

 .

 .

За пределами шаблона локальная переменная невидима, и

movie
содержит глобальное значение:

<xsl:variable name="movie" select="'Mr. Blandings Builds His Dream House'"/>

<!-- здесь $movie = 'Mr Bindings Builds His Dream House' -->

<xsl:template match="entertainment">

 <!-- здесь $movie = 'Mr. Blandings Builds His Dream House'-->

 <xsl:variable name="movie" select="'Goldfinger'"/>

 <!-- здесь $movie = 'Goldfinger'-->

 <xsl:variable name="movie" select="'Withnail and I'"/><!-- Запрещено -->

</xsl:template>

<!-- здесь $movie = 'Mr. Blandings Builds His Dream House'-->

.

.

.

Глобальные переменные тоже нельзя объявлять повторно:

<xsl:variable name="movie" select="'Mr. Blandings Builds His Dream House'"/>

<!-- здесь $movie = 'Mr. Blandings Builds His Dream House'-->

<xsl:template match="entertainment">

 <!-- здесь $movie = 'Mr. Blandings Builds His Dream House"-->

 <xsl:variable name="movie" select="'Goldfinger'"/>

 <!-- здесь $movie = 'Goldfinger'-->

 <xsl:variable name="movie" select="'Withnail and I'"/><!-- Запрещено -->

</xsl:template>

<!-- здесь $movie = 'Mr. Blandings Builds His Dream House'-->

<xsl:variable name="movie" select="'Goldfinger'"/><!-- Запрещено -->
 

Несмотря на все эти ограничения, вы можете менять значение переменной на каждом шаге цикла

<xsl:for-each>
, как мы увидим в следующем разделе.

Работа с переменными

Давайте рассмотрим примеры применения переменных. В следующем примере (листинг 9.1) я присваиваю переменной

copyright
сообщение об авторских правах и затем с ее помощью добавляю атрибут
copyright
во все элементы
planets.xml
.

  • Читать дальше
  • 1
  • ...
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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