عنصر <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"/>

برای یافتن 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>
    Id: <xsl:value-of select="@id"/><br />
    Name: <xsl:value-of select="@name"/>
    </p>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>