عنصر <xsl:key> XSLT

تعریف و استفاده

<xsl:key> یک عنصر سطح بالاست که می‌تواند یک کلید نام‌گذاری شده (که شامل نام و مقادیر برای عناصر مشخصی از مستند XML است) را تعریف کند.

این کلید از طریق تابع key() در جدول استایل استفاده می‌شود، و به شما کمک می‌کند به طور مؤثر به عناصر تخصیص‌یافته در یک مستند XML پیوند بزنید.

نکته:کلید لزوماً منحصر به فرد نیست!

عبارت

<xsl:key
name="name"
match="pattern"
use="expression"/>

ویژگی

ویژگی مقدار توضیح
name name ضروری. نام کلید را مشخص کنید.
match pattern ضروری. تعریف کنید که این کلید به چه نقطه‌ای از شاخه‌ی XML اعمال می‌شود.
use expression

ضروری. بیان کنید که چه بیان‌هایی باید به عنوان مقادیر این کلید استفاده شوند.

ممکن است کلید به یکی از این مقادیر باشد: ویژگی، فرزند یا محتوای تطبیق‌یافته‌ی عناصر.

مثال

مثال 1

فرض کنید شما یک فایل XML به نام "persons.xml" دارید:

<persons>
  <person name="Tarzan" id="050676"/>
  <person name="Donald" id="070754"/>
  <person name="Dolly" id="231256"/>
</persons>

شما می‌توانید یک کلید در فایل XSL تعریف کنید، مانند این:

<xsl:key name="preg" match="person" use="@id"/>

برای پیدا کردن person با id="050676"، از این کد‌ها استفاده کنید (در فایل XSL):

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
<xsl:key name="preg" match="person" use="@id"/>
<xsl:template match="/">
  <html>
  <body>
  <xsl:for-each select="key('preg','050676')">
    <p>
    شناسه: <xsl:value-of select="@id"/><br />
    نام: <xsl:value-of select="@name"/>
    </p>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>