XSLT <xsl:number> element

definition and usage

<xsl:number> علامت برای تعیین موقعیت عددی فعلی گره در منبع است. همچنین برای قرار دادن اعداد فرمتی شده در درخت نتیجه استفاده می‌شود.

structures

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

attribute

attribute value description
count expression اختیاری. عبارت XPath، که مشخص می‌کند کدام گره باید محاسبه شود.
level
  • single
  • multiple
  • any

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

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

  • single (默认)
  • multiple
  • any (Netscape 6 پشتیبانی نمی‌کند)
از expression اختیاری. عبارت XPath، که مشخص می‌کند از کجا شمارش باید آغاز شود.
value expression اختیاری. شمار اعداد فراهم شده توسط کاربر را مشخص می‌کند که به جای شمارنده تولید شده استفاده می‌شود.
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...

توضیحات:تگ‌هایی که نیتسکاپ 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>