XSLT current() function

คำนิยามและการใช้งาน

current() function ส่งกลับสטริคต์ไซต์ขององค์ประกอบที่มีเพียงองค์ประกอบปัจจุบัน. โดยทั่วไป current node และ context node คือองค์ประกอบเดียวกัน

<xsl:value-of select="current()"/>

เท่ากับ

<xsl:value-of select="."/>

แต่มีข้อแตกต่างหนึ่ง. ให้ดู XPath แสดงการค้นหาด้านล่างนี้: "catalog/cd". แสดงการเลือกลูกตาขององค์ประกอบ catalog และลูกตา cd ขององค์ประกอบ catalog. หมายความว่า "." มีความหมายต่างกันในแต่ละขั้นตอนคำนวณ

บรรทัดด้านล่างนี้:

<xsl:apply-templates select="//cd[@title=current()/@ref]"/>

จะจัดการกับองค์ประกอบ cd ที่มีค่าคุณสมบัติ title ที่เท่ากับค่าคุณสมบัติ ref ของตัวองค์ประกอบปัจจุบัน

ต่างจากนี้:

<xsl:apply-templates select="//cd[@title=./@ref]"/>

นี่จะจัดการกับองค์ประกอบ cd ที่มีค่าคุณสมบัติ title และ ref ที่เท่ากัน

การใช้งาน

node-set current()

ตัวอย่าง

<?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">
    Current node: <xsl:value-of select="current()"/>
    <br />
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

查看 XML 文件查看 XSL 文件查看結果