تبدیل (XSLT Transform)
اینجا «تبدیل XSLT» را با زبان ساده می بینی. «تبدیل (Transform)» یعنی تبدیل XML خام به خروجی دلخواه مثل HTML. «الگو (Template)» یعنی دستورالعملی که روی بخش هایی از XML اجرا می شود. مثل این است که برنامه صبحگاهی مدرسه را به جدول تمیز تبدیل کنیم.
گام های تبدیل XSLT
- اعلان درست استایل شیت XSL را بنویس.
- XML خام را آماده نگه دار.
- XSLT را بساز و به XML لینک کن.
نکته: برای مطالعه بیشتر، صفحه تبدیل XSLT را نشانک کن.
اعلان درست استایل شیت
ریشه استایل شیت می تواند <xsl:stylesheet> یا <xsl:transform> باشد. هر دو یکسان اند. باید فضای نام XSLT و نسخه را اعلام کنی.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
یا به صورت زیر:
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
نکته: با همین فضای نام به عناصر و ویژگی های XSLT دسترسی داری.
شروع با XML خام
یک فایل XML مثل cdcatalog.xml داریم. قرار است آن را به جدول HTML تبدیل کنیم.
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>
ساخت استایل شیت XSLT
در XSLT با <xsl:template> از ریشه شروع می کنیم و برای هر cd یک سطر می سازیم.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
لینک دادن XSL به XML
در ابتدای XML این خط را اضافه کن تا مرورگرِ سازگار، تبدیل XSLT را اعمال کند.
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog>
<!-- ... -->
</catalog>
هشدار: اگر فایل ها را جابه جا کردی، مسیرِ href را درست کن.
تمرین سریع تبدیل XSLT
- فایل XML را ذخیره کن.
- XSLT را کنارش ذخیره کن.
- خط
xml-stylesheetرا به XML اضافه کن.
برای پیش نیازها، به مقدمه XSLT و برای الگوها به الگوهای XSLT سر بزن. همچنین با مثال های XPath مسیرها را تمرین کن.
جمع بندی سریع
- فضای نام XSLT و نسخه ضروری است.
- الگو از ریشه شروع می شود.
- برای هر گره خروجی بساز.
- با
xml-stylesheetXSL را وصل کن. - تبدیل XSLT خروجی HTML می سازد.