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

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

Шрифт:

</BODY>

</HTML>

 </xsl:template>

 <xsl:template match="PLANET">

<xsl:value-of select="NAME"/> is

<xsl:value-of select-"string-length(NAME)"/>

characters long.

<BR/>

 </xsl:template>

 <xsl:template match="*">

 </xsl:template>

</xsl:stylesheet>

А вот результат:

<HTML>

 <HEAD>

<TITLE>

Length of Planet Names

</TITLE>

 </HEAD>

 <BODY>

<H1>

Length of Planet Names

</H1>

Mercury is 7 characters long.

<BR>

Venus is 5 characters long.

<BR>

Earth is 5 characters long.

<BR>

 </BODY>

</HTML>

Этот результирующий документ показан на рис. 8.2.

Рис. 8.2. Определение длины строк в XSLT

substring

Функция

substring
возвращает подстроку переданной ей строки. Функция применяется следующим образом:

string substring(source-string, start-position, number-of-characters?)

Функция принимает параметры

source-string
(исходная строка),
start-position
(начальная позиция) и необязательный параметр
number-of-characters
(количество символов). Функция возвращает подстроку исходной строки с начальной позиции и до указанного количества символов или до конца строки, если это количество не задано.

Функция

substring
— одна из трех функций, оперирующих с подстроками:
substring-before
, возвращающая строку перед найденной подстрокой, сама
substring
, возвращающая заданную подстроку, и
substring-after
, возвращающая строку после найденной подстроки. В следующем примере (листинг 8.9) задействованы все три функции: в этом случае я разбил название планеты Меркурий (Mercury) на три подстроки — «Mer», «c» и «ury» — и затем объединил их снова. Вот как это можно сделать при помощи трех рассматриваемых функций (дополнительная информация о
substring-before
и
substring-after
приведена в следующих двух разделах).

Листинг 8.9. Применение функций substring-before, substring и substring-after

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

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

 <xsl:template match="/PLANETS">

<HTML>

<HEAD>

<TITLE>

Planetary Information

</TITLE>

</HEAD>

<BODY>

<H1>

Planetary Information

</H1>

<xsl:apply-templates/>

</BODY>

</HTML>

 </xsl:template>

 <xsl:template match="PLANET">

<xsl:if test="NAME='Mercury'">

The first planet is

<xsl:value-of select="concat(substring-before(NAME, 'с'),

substring(NAME, 4, 1), substring-after(NAME, 'c'))"/>.

<BR/>

</xsl:if>

 </xsl:template>

 <xsl:template match="*">

 </xsl:template>

  • Читать дальше
  • 1
  • ...
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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