Элемент XSLT <xsl:number>
Определение и использование
<xsl:number> элемент используется для определения целого числа的位置 текущего узла в источнике. Он также используется для вставки форматированного числа в результатное дерево.
Грамматика
<xsl:number count="expression" level="single|multiple|any" from="expression" value="expression" format="formatstring" lang="languagecode" letter-value="alphabetic|traditional" grouping-separator="character" grouping-size="number"/>
Атрибут
Атрибут | Значение | Описание |
---|---|---|
count | expression | Опционально. XPath-выражение, определяющее узлы, подлежащие счету. |
level |
|
Опционально. Контролирует, как распределяются порядковые номера. Значения могут быть:
|
from | expression | Опционально. XPath-выражение, определяющее, с какого места начинается计数. |
value | expression | Опционально. Определяет用户提供аемые числа, которые заменяют сгенерированные последовательности. |
format | formatstring | Опционально. Определяет формат вывода чисел.Доступные значения. |
lang | languagecode | Опционально. Определяет языковую азбуку, используемую для нумерации. |
letter-value |
|
Опционально. Устраняет неопределенность между числовыми и алфавитными последовательностями. Значение "alphabetic" указывает на алфавитную последовательность; значение "traditional" указывает на другие последовательности. Значением по умолчанию является "alphabetic". |
grouping-separator | character | Опционально. Определяет символ, используемый для разделения групп или чисел. По умолчанию запятая. |
grouping-size | number | Опционально. Определяет размер группы. По умолчанию 3. |
Формат маркера
Формат маркера | Сгенерированный последовательность |
---|---|
1 | 1 2 3 4 5 ... 10 11 12 ... |
01 | 01 02 03 ... 19 10 11 ... 99 100 101... |
a | a b c . . |
A | A B C ...Z AA AB AC... |
i | i ii iii iv v vi vii viii ix x... |
I | I II III IV V VI VII VIII IX X... |
Комментарий:Маркеры, не поддерживаемые Netscape 6: 01, a, A, i, I.
Пример
Пример 1
<xsl:number value="250000" grouping-separator="."/>
Вывод:
250.000
Пример 2
<xsl:number value="250000" grouping-size="2"/>
Вывод:
25,00,00
Пример 3
<xsl:number value="12" grouping-size="1" grouping-separator="#" format="I"/>
Вывод:
X#I#I
Пример 4
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" <xsl:template match="/"> <html> <body> <p> <xsl:for-each select="catalog/cd"> <xsl:number value="position()" format="1" /> <xsl:value-of select="title" /><br /> </xsl:for-each> </p> </body> </html> </xsl:template> </xsl:stylesheet>