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

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

Шрифт:

element-available

Функция

element-available
используются для определения доступности определенного элемента расширения. Ее применяют следующим образом:

boolean element-available(element-name)

Функция принимает имя искомого элемента и, если элемент доступен, возвращает истину, если недоступен — ложь.

Мы уже встречались с этой функцией в главе 5. В примере

element-available
той главы я проверял наличие элемента
<starpowder:calculate>
таким образом:

<xsl:choose xmlns:starpowder="http://www.starpowder.com">

 <xsl:when test="element-available('starpowder:calculate')">

<starpowder:calculate xsl:extension-element-prefixes="starpowder"/>

 </xsl:when>

 <xsl:otherwise>

<xsl:text>Sorry, can't do math today.</xsl:text>

 </xsl:otherwise>

</xsl:choose>

format-number

Как можно догадаться по имени, функция

format-number
служит для форматирования чисел с преобразованием их в строки. Она применяется так:

string format-number(number, format, name?)

Функция возвращает форматируемое число в виде строки. Функции передаются число

number
, которое нужно отформатировать, строка форматирования
format
и необязательный параметр-строка
name
. Строка name — это имя
QName
, задающее формат так, как он создается элементом
<xsl:decimal-format>
(который будет рассмотрен в конце этой главы).

Форматирующая строка

format
должна соответствовать соглашениям класса Java
DecimalFormat
.

КЛАСС JAVA DECIMALFORMAT

На момент написания книги документация для класса Java DecimalFormat находится в Интернете по адресу: http://java.sun.com/products/jdk/1.1/docs/api/java.text.DecimalFormat.html.

Форматирующая строка (format string) состоит из следующих частей:

• 

format-string:= subpattern (;subpattern)?

• 

subpattern:= prefix? integer (.fraction)?suffix?

• 

prefix:= [#x0..#xFFFD] - specialCharacters

• 

suffix:= [#x0..#xFFFD] - specialCharacters

• 

integer:= '#'* '0'* '0'

• 

fraction:= '0'* '#'*

Далее показаны специальные символы (

specialCharacters
), которые можно использовать в подчиненных образцах,
subpattern
(эти символы можно изменить при помощи элемента
<xsl:decimal-format>
, который будет рассмотрен в конце этой главы):

• 

0
— на этом месте всегда должна стоять цифра;

• 

#
— цифра, если только это не избыточный лидирующий или завершающий ноль;

• 

.
— разделитель десятичной части;

• 

,
— разделитель групп разрядов;

• 

;
— разделяет форматы;

• 

–
— знак минуса;

• 

%
— умножить на 100 и показать как проценты;

• 

‰
— умножить на 1000 и показать в тысячных частях;

• 

Е
— разделяет мантиссу и экспоненциальную часть;

• 

¤
— символ валюты (#xA4);

• 

'
— заключает в кавычки специальные символы.

Следующий пример (листинг 8.5) демонстрирует работу функции. Я форматирую значения из

planets.xml
, отображаемые в таблице HTML.

Листинг 8.5. Форматирование чисел

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

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

 <xsl:template match="/PLANETS">

.

.

.

 </xsl:template>

 <xsl:template match="PLANET">

<TR>

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

<TD><xsl:apply-templates select="MASS"/></TD>

<TD><xsl:apply-templates select="RADIUS"/></TD>

<TD><xsl:apply-templates select="DAY"/></TD>

  • Читать дальше
  • 1
  • ...
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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