hàm current() trong XSLT
định nghĩa và cách sử dụng
hàm current() trả về một tập hợp các phần tử chỉ chứa phần tử hiện tại. Thường thì phần tử hiện tại và phần tử ngữ cảnh là giống nhau.
<xsl:value-of select="current()"/>
bằng
<xsl:value-of select="."/>
nhưng, có một điểm khác. để xem biểu thức XPath dưới đây: "catalog/cd". biểu thức này chọn phần tử con <catalog> của phần tử hiện tại, sau đó chọn phần tử con <cd> của phần tử <catalog>. điều này có nghĩa là, trong mỗi bước tính toán, "." có ý nghĩa khác nhau.
dưới đây là dòng này:
<xsl:apply-templates select="//cd[@title=current()/@ref]"/>
sẽ xử lý tất cả các phần tử cd có giá trị thuộc tính title bằng giá trị thuộc tính ref của phần tử hiện tại.
khác với điều này:
<xsl:apply-templates select="//cd[@title=./@ref]"/>
điều này sẽ xử lý tất cả các phần tử cd có thuộc tính title và ref có giá trị tương tự.
cú pháp
node-set current()
mẫu
<?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> <xsl:for-each select="catalog/cd/artist"> Node hiện tại: <xsl:value-of select="}}current()"/> <br /> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>