Cách lấy bộ đếm bên trong xsl: for-each loop sẽ phản ánh số phần tử hiện tại được xử lý.
Ví dụ: XML nguồn của tôi là
<books>
<book>
<title>The Unbearable Lightness of Being </title>
</book>
<book>
<title>Narcissus and Goldmund</title>
</book>
<book>
<title>Choke</title>
</book>
</books>
Những gì tôi muốn nhận được là:
<newBooks>
<newBook>
<countNo>1</countNo>
<title>The Unbearable Lightness of Being </title>
</newBook>
<newBook>
<countNo>2</countNo>
<title>Narcissus and Goldmund</title>
</newBook>
<newBook>
<countNo>3</countNo>
<title>Choke</title>
</newBook>
</newBooks>
XSLT để sửa đổi:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<newBooks>
<xsl:for-each select="books/book">
<newBook>
<countNo>???</countNo>
<title>
<xsl:value-of select="title"/>
</title>
</newBook>
</xsl:for-each>
</newBooks>
</xsl:template>
</xsl:stylesheet>
Vậy câu hỏi đặt ra là phải đặt cái gì ở chỗ ???. Có bất kỳ từ khóa chuẩn nào không hay tôi chỉ cần khai báo một biến và tăng nó lên bên trong vòng lặp?
Vì câu hỏi khá dài, tôi có lẽ nên mong đợi câu trả lời một dòng hoặc một từ :)