XSLT current() ফাংশন

পরিভাষা ও ব্যবহার

current() ফাংশন শুধুমাত্র বর্তমান নোডকে নিয়ে এসে একটি নোড সেট ফিরিয়ে দেয়। সাধারণত, বর্তমান নোড এবং কনটেক্সট নোড একই।

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

সমান

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

কিন্তু, একটা ভিন্নতা আছে। আমরা নিচের XPath এক্সপ্রেসশনটি দেখি: "catalog/cd"। এই এক্সপ্রেসশনটি বর্তমান নোডের <catalog> সাব-নোডকে নির্বাচিত করে, এবং <catalog> নোডের <cd> সাব-নোডকে নির্বাচিত করে। এই মানে, প্রত্যেক গণনার পর্যায়ে, "."-এর অর্থ ভিন্ন হতে পারে。

নিচের এই লাইনটি:

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

টাইটল এট্রিবিউটস এর মান বর্তমান নোডের রেফ এট্রিবিউটস এর মানের সমান সব সিডি এলিমেন্টকে হ্যান্ডল করবে。

এটা ভিন্ন হল:

<xsl:apply-templates select="//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 ফাইল দেখুনফলাফল দেখুন