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