XML و XSLT

با استفاده از XSLT، می‌توانید مستند XML را به HTML تبدیل کنید.

نمایش XML با استفاده از XSLT

XSLT(تغییردهنده استایل گسترش‌پذیر، Transformations of Extensible Stylesheet Language)، زبان استایل پیشنهادی برای XML است.

XSLT بسیار پیچیده‌تر از CSS است. از طریق XSLT، می‌توانید عناصر و ویژگی‌ها را به/از فایل خروجی اضافه/حذف کنید. شما همچنین می‌توانید عناصر را تغییر دهید و مرتب کنید، تست‌ها را اجرا کنید و تصمیم بگیرید که کدام عناصر نمایش داده شوند و کدام‌ها نه و غیره.

XSLT از XPath برای جستجو در مستند XML استفاده می‌کند.

مثال‌های XSLT

ما از زیرین مستند XML استفاده خواهیم کرد:

<?xml version="1.0" encoding="UTF-8"?>
<breakfast_menu>
<food>
<name>واافل بلژیک</name>
<price>$5.95</price>
<description>دو عدد از معروف‌ترین واافل بلژیک ما با مقدار زیادی شیرهmaple واقعی</description>
<calories>650</calories>
</food>
<food>
<name>واافل بلژیک Fragola</name>
<price>$7.95</price>
<description>واافل بلژیک سبک با موزاییک از توت‌های Fragola و خامه‌بسپارده</description>
<calories>900</calories>
</food>
<food>
<name>واافل بلژیک با توت‌ها</name>
<price>$8.95</price>
<description>واافل بلژیک سبک با مخلوطی از توت‌های تازه و خامه‌بسپارده</description>
<calories>900</calories>
</food>
<food>
<name>فرانسه تاست</name>
<price>$4.50</price>
<description>بریج‌های ضخیم از نان ترش خودمانی ما</description>
<calories>600</calories>
</food>
<food>
<name>صبحانه خانگی</name>
<price>$6.95</price>
<description>دو تخم مرغ، بیکون یا سوسیس، نان برشته و برنج پوره محبوب ما</description>
<calories>950</calories>
</food>
</breakfast_menu>

قبل از نمایش در مرورگر، XML را با استفاده از XSLT به HTML تبدیل کنید:

مثال استایل XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<body style="font-family:Arial;font-size:12pt;background-color:#EEEEEE">
<xsl:for-each select="breakfast_menu/food">
  <div style="background-color:teal;color:white;padding:4px">
    <span style="font-weight:bold"><xsl:value-of select="name"/> - </span>
    <xsl:value-of select="price"/>
    </div>
  <div style="margin-left:20px;margin-bottom:1em;font-size:10pt">
    <p>
    <xsl:value-of select="description"/>
    <span style="font-style:italic">(تعداد کالری: <xsl:value-of select="calories"/>)</span>
    </p>
  </div>
</xsl:for-each>
</body>
</html>

آزمایش کنید

آموزش XSLT

اگر می‌خواهید اطلاعات بیشتری در مورد XSLT یاد بگیرید، لطفاً به آموزش XSLT