Phần tử <xsl:number> trong XSLT

Định nghĩa và cách sử dụng

<xsl:number> là phần tử được sử dụng để xác định vị trí số nguyên của nút hiện tại trong nguồn. Nó cũng được sử dụng để chèn số đã định dạng vào cây kết quả.

Ngữ pháp

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

Thuộc tính

Thuộc tính Giá trị Mô tả
count expression Tùy chọn. XPath biểu thức, chỉ định các nút cần tính toán.
level
  • single
  • multiple
  • any

Tùy chọn. Điều chỉnh cách phân phối số hiệu.

Giá trị có thể là:

  • single (mặc định)
  • multiple
  • any (Netscape 6 không hỗ trợ)
from expression Tùy chọn. XPath biểu thức, chỉ định điểm bắt đầu đếm.
value expression Tùy chọn. Định nghĩa số được cung cấp bởi người dùng để thay thế số hiệu được tạo.
format formatstring Tùy chọn. Định nghĩa định dạng đầu ra của số.Các giá trị có thể sử dụng.
lang languagecode Tùy chọn. Định nghĩa bảng chữ cái ngôn ngữ cho số hiệu.
letter-value
  • alphabetic
  • traditional
Tùy chọn. Loại bỏ sự nhầm lẫn giữa các chuỗi số hiệu có sử dụng chữ cái. Giá trị "alphabetic" chỉ định chuỗi chữ cái; giá trị "traditional" chỉ định các chuỗi khác. Giá trị mặc định là "alphabetic".
grouping-separator character Tùy chọn. Định nghĩa ký tự để phân隔 nhóm hoặc số. Mặc định là dấu phẩy.
grouping-size number Tùy chọn. Định nghĩa kích thước nhóm. Mặc định là 3.

Dấu định dạng

Dấu định dạng Chuỗi được tạo
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...

Ghi chú:Các thẻ không được hỗ trợ bởi Netscape 6: 01, a, A, i, I.

ví dụ

ví dụ 1

<xsl:number value="250000" grouping-separator="."/>

Kết quả:

250.000

ví dụ 2

<xsl:number value="250000" grouping-size="2"/>

Kết quả:

25.000.000

ví dụ 3

<xsl:number value="12" grouping-size="1" grouping-separator="#" format="I"/>

Kết quả:

X#I#I

Ví dụ 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>