XSLT ปัจจุบัน ()ฟังก์ชั่น
❮ การอ้างอิงฟังก์ชัน XSLTความหมายและการใช้งาน
ฟังก์ชัน current() ส่งคืนชุดโหนดที่มีเฉพาะโหนดปัจจุบันเท่านั้น โดยปกติโหนดปัจจุบันและโหนดบริบทจะเหมือนกัน
<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 และแอตทริบิวต์อ้างอิงที่มีค่าเดียวกัน
ไวยากรณ์
node-set current()
ตัวอย่าง 1
<?xml version="1.0" encoding="UTF-8"?>
<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และ ดูผลลัพธ์
❮ การอ้างอิงฟังก์ชัน XSLT