عنصر <xsl:number> XSLT

تعریف و کاربرد

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

ویژگی

ویژگی مقدار توضیح
شمارش عبارت اختیاری است. عبارت XPath، مشخص می‌کند که کدام گره باید محاسبه شود.
سطح
  • یک
  • چندین
  • هر

اختیاری است. کنترل می‌کند که شماره‌ها چگونه تخصیص داده می‌شوند.

مقدار می‌تواند باشد:

  • یک (پیش‌فرض)
  • چندین
  • هر (Netscape 6 پشتیبانی نمی‌کند)
از عبارت اختیاری است. عبارت XPath، مشخص می‌کند که از کجا شمارش باید آغاز شود.
مقدار عبارت اختیاری است. عددی که کاربر ارائه می‌دهد را مشخص می‌کند که جایگزین شماره‌های تولید شده می‌شود.
format formatstring اختیاری. فرمت خروجی اعداد را تعیین می‌کند.مقدارهای قابل استفاده.
lang languagecode اختیاری. زبان الفبای استفاده شده برای شماره‌ها مشخص می‌کند.
letter-value
  • alphabetic
  • traditional
اختیاری. از اشتباهات در زنجیره‌های شماره‌ای با استفاده از حروف خلاصه شود. مقدار "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>