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>

Xem tệp XMLXem tệp XSLXem kết quả