آموزش XML > مشاهده و قالب بندی فایل های XML > قالب بندی
فایل های XML با XSLT
قالب بندی فایل های XML با XSLT :
در بخش قبل نشان دادیم که به وسیله CSS می توان استایل و قالب خاصی را به فایل های
XML بدهید . اما اشاره کردیم که این روش ، روش متداولی نیست .
به جای آن ، کنسرسیوم جهانی وب ( W3C ) ، زبان XSLT مخفف eXtensible Stylesheet Language
Transformations را پیشنهاد می کند . به وسیله این زبان می توانید یک فایل XML را قبل
از نمایش در مرورگر به فرمت HTML در آورده و با استایل و قالب مورد نظر نشان دهید .
XSLT یک زبان و شیوه جدا از XML است . آموزش آن به زودی بر روی سایت قرار خواهد گرفت
. در این بخش با ارایه یک مثال عملی و تشریح کد آن ، نحوه استفاده از XSLT را به صورت
خلاصه بیان کرده ایم .
مثال عملی قالب بندی فایل های XML با XSLT :
مثال : در مثال زیر ، یک فایل XML داریم ، که آن را با یک فایل XSLT دیگر ترکیب کرده
ایم . مرورگر در هنگام اجرای فایل XML ، خواص و استایل تعیین شده در فایل XSLT را خوانده
و به فایل XML اعمال می کند . مشاهده می کنید ، که فایل XML در خروجی با یک ظاهر متفاوت
و رنگی نمایش داده شده است .
نکته : مثال زیر ، توسط مرورگر ادغام و اجرا شده است . اما مرورگرهای
متفاوت ممکن است در هنگام انجام این کار ، خروجی های متفاوتی را تولید نمایند . بنابراین
بهتر است کاری نمایید تا این ادغام در بر روی سرور انجام شود .
کد فایل XML :
جدول زیر ، کد فایل XML را نشان می دهد . این فایل اطلاعاتی راجع به چند نوع غذا و
قیمت و ... آنها را در بر می گیرد :
کد
|
<?xml version="1.0" encoding="ISO-XMLXML59-1"?>
<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>
<description>two of our famous Belgian Waffles
with plenty of real maple syrup</description>
<calories>650</calories>
</food>
<food>
<name>Strawberry Belgian Waffles</name>
<price>$7.95</price>
<description>light Belgian waffles covered
with strawberries and whipped cream</description>
<calories>900</calories>
</food>
<food>
<name>Berry-Berry Belgian Waffles</name>
<price>$8.95</price>
<description>light Belgian waffles covered
with an assortment of fresh berries and whipped cream</description>
<calories>900</calories>
</food>
<food>
<name>French Toast</name>
<price>$4.50</price>
<description>thick slices made from our homemade
sourdough bread</description>
<calories>600</calories>
</food>
<food>
<name>Homestyle Breakfast</name>
<price>$6.95</price>
<description>two eggs, bacon or sausage, toast,
and our ever-popular hash browns</description>
<calories>950</calories>
</food>
</breakfast_menu>
|
کد فایل XSLT :
در جدول زیر نیز کد فایل XSLT را نشان داده ایم . توجه داشته باشید ، که این فایل ،
قالب و استایل نمایش فایل XML را تعیین می کند . برای آشنایی با نحوه کار و کد این
فایل ، توضیخات لازم را بعد از کد قرار داده ایم :
کد
|
<?xml version="1.0" encoding="ISO-XMLXML59-1"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<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">
<xsl:value-of select="description"/>
<span style="font-style:italic">
<xsl:value-of select="calories"/> (calories per serving)
</span>
</div>
</xsl:for-each>
</body>
</html>
|
- تعیین خواص CSS برای تگ body که کل صفحه را در بر می گیرد .
- تعیین خواص CSS برای هر عنصر breakfast_menu/food و name .
- تعیین خواص CSS برای هر عنصر calories .
خروجی نهایی پس از ادغام فایل XML با XSLT :
پس از اینکه دو فایل XML و XSLT با هم ادغام شدند ، خروجی زیر به صورت HTML بر روی
صفحه ایجاد می شود :
خروجی
|
Belgian Waffles -
$5.95
two of our famous Belgian Waffles with plenty of real maple syrup650
(calories per serving)
Strawberry Belgian Waffles -
$7.95
light Belgian waffles covered with strawberries and whipped cream900
(calories per serving)
Berry-Berry Belgian Waffles -
$8.95
light Belgian waffles covered with an assortment of fresh berries and whipped cream900 (calories per serving)
French Toast -
$4.50
thick slices made from our homemade sourdough bread600
(calories per serving)
Homestyle Breakfast -
$6.95
two eggs, bacon or sausage, toast, and our ever-popular hash browns950
(calories per serving)
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان بگذارید :