تبدیل XSLT

مطالعه موردی: چگونه از XSLT برای تبدیل XML به XHTML استفاده کنیم.

ما در بخش بعدی به جزئیات این مثال توضیح خواهیم داد.

اعلام صحیح نمونه‌های استایل

اعلام مستند به عنوان ریشه XSL نمونه‌های استایل با <xsl:stylesheet> یا <xsl:transform> انجام می‌شود.

توضیح: <xsl:stylesheet> و <xsl:transform> کاملاً معادل هستند و هر دو قابل استفاده هستند!

بر اساس استاندارد XSLT W3C، روش صحیح برای اعلام XSL نمونه‌های استایل:

<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، باید فضای نام XSLT را در بالای مستند اعلام کنیم.

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" به فضای نام رسمی W3C XSLT اشاره دارد. اگر از این فضای نام استفاده کنید، باید ویژگی version="1.0" را شامل شوید.

از یک مستند اولیه XML شروع کنید

ما الان می‌خواهیم این مستند XML زیر را به XHTML تبدیل کنیم ("cdcatalog.xml"):

<?xml version="1.0" encoding="ISO-8859-1"?>
<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>

فایل XML را در Internet Explorer و Firefox ببینید:

فایل XML را باز کنید (معمولاً با کلیک بر روی یک لینک) - مستند XML به صورت کد با رنگ‌بندی به نمایش در می‌آید که ریشه و فرزندان را نشان می‌دهد. برای باز کردن ساختار فرزندان، روی آیکون جلو یا عقب در سمت چپ هر عنصر کلیک کنید. برای مشاهده منبع XML اصلی (بدون آیکون‌های جلو و عقب)، در منوی مرورگر گزینه "کد منبع صفحه را ببینید" را انتخاب کنید.

فایل XML را در Netscape 6 ببینید:

فایل XML را باز کنید، سپس در فایل XML راست کلیک کرده و "کد منبع صفحه را ببینید" انتخاب کنید. مستند XML به صورت کد با رنگ‌بندی به نمایش در می‌آید که ریشه و فرزندان را نشان می‌دهد.

فایل XML را در Opera 7 ببینید:

فایل XML را باز کنید، سپس در فایل XML راست کلیک کرده و "چارچوب"/"کد منبع را ببینید" انتخاب کنید. مستند XML به صورت متن ساده نمایش داده می‌شود.

مستند "cdcatalog.xml" را ببینید.

جدول استایل XSL ایجاد کنید

سپس یک جدول استایل XSL با قالب تبدیل ایجاد کنید ("cdcatalog.xsl"):

<?xml version="1.0" encoding="ISO-8859-1"?>
<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 align="left">Title</th>
      <th align="left">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>

مستند "cdcatalog.xsl" را ببینید

لینک جدول استایل XSL به مستند XML

اشاره به جدول استایل XSL برای مستند XML ("cdcatalog.xml"):

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<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 سازگار باشد، به راحتی XML شما را تبدیل می‌کند تبدیل به XHTML.

نتیجه را مشاهده کنید.

ما در بخش بعدی توضیح خواهیم داد که جزئیات مثال بالا چگونه است.