عنصر <xsl:key> XSLT

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

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

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

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

نحوه استفاده

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

ویژگی

ویژگی مقدار توضیح
name name ضروری. نام کلید را مشخص کنید.
match pattern ضروری. تعریف کنید که این کلید به کدام نقطه اعمال می‌شود.
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"/>

اگر بخواهید شخصی با 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>
    Id: <xsl:value-of select="@id"/><br />
    Name: <xsl:value-of select="@name"/>
    </p>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>