استفاده از XSLT در برنامه های وب (2)

يکی از پتانسيل های بسيار مهم XSL ، قابليت تغيير Layout نحوه نمايش عناصر با توجه به اهداف مورد نظر می باشد . در فايل های HTML با توجه به اينکه داده و نحوه نمايش آنان ، در يک فايل مشخص می گردد، همواره يک خروجی يکسان را شاهد خواهيم بود . همزمان با ارسال اطلاعات ، تگ های لازم که مسئوليت تبين رفتار مرورگر به منظور نحوه نمايش عناصر را برعهده دارند ، نيز ارسال و مرورگر بلافاصله پس از تفسيرآنان ، واکنش های کاملا" از قبل تعريف شده ای را به منظور
شنبه، 10 بهمن 1388
تخمین زمان مطالعه:
موارد بیشتر برای شما
استفاده از XSLT در برنامه های وب (2)
استفاده از XSLT در برنامه های وب (2)
استفاده از XSLT در برنامه های وب (2)






تغيير لی اوت ، استفاده از چندين تمپليت ، حلقه های تکرار

استفاده از XSL دارای مزايای متعددی است :
• امکان تغيير موقعيت عناصر ( لی اوت صفحه ) در فايل XSL ، بدون نياز به تغيير داده ، فراهم می گردد .
• امکان انجام عمليات منطقی بر روی داده نظير پردازش های تکراری و شرطی ، فراهم می گردد.
در ادامه به تشريح مزايای فوق ، خواهيم پرداخت .

تغيير Layout

يکی از پتانسيل های بسيار مهم XSL ، قابليت تغيير Layout نحوه نمايش عناصر با توجه به اهداف مورد نظر می باشد . در فايل های HTML با توجه به اينکه داده و نحوه نمايش آنان ، در يک فايل مشخص می گردد، همواره يک خروجی يکسان را شاهد خواهيم بود . همزمان با ارسال اطلاعات ، تگ های لازم که مسئوليت تبين رفتار مرورگر به منظور نحوه نمايش عناصر را برعهده دارند ، نيز ارسال و مرورگر بلافاصله پس از تفسيرآنان ، واکنش های کاملا" از قبل تعريف شده ای را به منظور نمايش اطلاعات ، انجام خواهد داد . در صورتيکه قصد مشاهده ، دو layout مجزاء از يک فايل HTML را داشته باشيم ، می بايست از دو فايل جداگانه که هرکدام اهداف خاص خود را دنبال خواهند نمود ، استفاده گردد. در فايل های XML با توجه به اينکه داده از نمايش تفکيک شده است ، ،می توان دستورالعمل های لازم به منظور نمايش اطلاعات را ايجاد و پس از ذخيره آنان در يک فايل XSL ( با توجه به Layout مورد نظر) ، داده های موجود در يک فايل XML را با حالات متفاوت ، مشاهده نمود. با بکارگيری صحيح عناصر در XSL ، امکان تغيير Layout فراهم می گردد.
مثال يک :
هدف : نمايش اطلاعات موجود در فايل XML حاوی اطلاعات دانشجويان با يک فرمت خاص ( جدول ) .
توضيحات : در مثال فوق ، از فايل XML نمونه ( موجود در بخش اول مقاله ) بهمراه فايل XSL زير استفاده می شود .

 XSLT File

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/Students/Student">
<html>
<body Dir="rtl">
<H3 Align="Center"> ليست دانشجويان</H3>
<table border="1" bgcolor="White" dir="rtl" Align="Center">
<tr>
<th bgcolor="#336699"><font size="3" color="white"> نام</font> </th>
<th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی</font> </th>
<th bgcolor="#336699"><font size="3" color="white"> رشته</font> </th>
</tr>
<tr>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Fname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Lname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Study"/></font></td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>


خروجی : پس از مقداردهی خصلت های DocumentSource و TransformSource کنترل سرويس دهنده XML ، به ترتيب به فايل های XML و XSL ، خروجی زير نمايش داده می شود .

استفاده از XSLT در برنامه های وب (2)

استفاده از چندين تمپليت ها

يک فايل XSL ، می تواند شامل چندين تمپليت باشد يک تمپليت XSL برای هر يک از گره های XML که قصد ارائه فرمت مشابه و يکسانی را برای آنان داريم ، بکار گرفته می شود . .در فايل XML مربوط به دانشجويان می توان (بعنوان نمونه ) ، دو تمپليت را ايجاد که هر يک مسئوليت تعريف فرمت نحوه نمايش بخش خاصی از فايل XML را بر عهده خواهند گرفت .
• تمپليت اصلی ، مسئوليت تعريف فرمت مناسب به منظور نمايش Fname,Lname و Study ( سه عنصر از فايل XML دانشجويان ) را بر عهده داشته و عملا" نقطه شروع کار را مشخص می نمايد(اجرای XSL از تمپليت فوق ، آغاز می گردد) .
• تمپليت Address ، مسئوليت تعريف فرمت مناسب به منظور نمايش آدرس دانشجويان را برعهده دارد .
با استفاده از عنصر xsl:apply-template ، می توان يک تمپليت را در ارتباط با يک گره بکار گرفت . XSL زير ، نحوه استفاده از دو تمپليت و ارتباط بين هر يک از آنان را نشان می دهد . ( نحوه ارتباط دو تمپليت با رنگ آبی مشخص شده است ) .

XSLT File with two template

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/Students/Student">
<html>
<body Dir="rtl">
<H3 Align="Center"> ليست دانشجويان</H3>
<table border="1" bgcolor="ٌWhite" dir="rtl" Align="Center">
<tr>
<th bgcolor="#336699"><font size="3" color="white"> نام</font> </th>
<th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی</font> </th>
<th bgcolor="#336699"><font size="3" color="white"> رشته</font> </th>
</tr>
<tr>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Fname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Lname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Study"/></font></td>
</tr>
<xsl:apply-templates select="/Students/Student/Address" />
</table>
</body>
</html>
</xsl:template>
<xsl:template match="/Students/Student/Address">
<tr>
<td bgcolor="Green" width="100%" colspan="3" align="center" dir="rtl">
<font size="3" color="white"> آدرس دانشجو</font> </td>
</tr><tr>
<td bgcolor="White" width="100%" colspan="3" dir="rtl">
<ul Align="Right">
<li><B>آدرس منزل</B> :<xsl:value-of select="/Students/Student/Address/Home" /></li><br/>
<li><B>آدرس محل کار</B> :<xsl:value-of select="/Students/Student/Address/Office" /></li><br/>
<li><B>آدرس پست الکترونيکی</B> :<xsl:value-of select="/Students/Student/Address/Email" /></li><br/>
</ul>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>


مثال دو :
هدف : استفاده از دو تمپليت در فايل XSL به منظور نمايش اطلاعات دانشجويان
توضيحات : دراين مثال از فايل XML زير و فايل XSL فوق ، استفاده شده است .

Student XML file

<?xml version="1.0" encoding="utf-8" ?>
<Students>
<Student>
<Gender>مرد</Gender>
<Fname>محمدرضا</Fname>
<Lname>ايرانی</Lname>
<Study>فنآوریاطلاعات و ارتباطات</Study>
<Address>
<Home>هموارهسبز</Home>
<Office>شاداب</Office>
<Tel>
<TelHome></TelHome>
<TelOffice></TelOffice>
</Tel>
<Email>Info@Srco.ir</Email>
</Address>
<Marks>
<Quiz>
<Q1></Q1>
<Q2></Q2>
<Q3></Q3>
</Quiz>
<MidTerm></MidTerm>
<Final></Final>
</Marks>
</Student>
</Students>


خروجی : پس از مقداردهی خصلت های DocumentSource و TransformSource کنترل سرويس دهنده XML ، به ترتيب به فايل های XML و XSL ، خروجی زير نمايش داده می شود .

استفاده از XSLT در برنامه های وب (2)

تمپليـت استفاده شده در فايل XSL ، صرفا" يک گره را پردازش نموده و در صورت نياز به تکرار عمليات ( نمايش اطلاعات چندين دانشجو ) ، می بايست از عناصر تکرار XSL استفاده گردد.

تکرار عمليات

به منظور اعمال فرمت مورد نظر در ارتباط با چندين عنصر در يک فايل XML نظير يک ليست و يا آيتم های يک جدول ، از xsl:for-each استفاده می شود. عنصر فوق ، با ايجاد يک حلقه تکرار ، گره های مورد نظر را انتخاب و در ادامه محتوی XSL در ارتباط با هر يک از گره ها ، بکار گرفته می شود .

 Repeating elements

<xsl : for-each select = "/Students/Student" >
<xsl : value-of select="Fname" /><br/>
</xsl:for-each>


مثال سه :
هدف : استفاده از عنصر xsl:for-each به منظور نمايش اطلاعات چندين دانشجو
توضيحات : درمثال فوق ، از فايل XSL زير استفاده شده است ( فايل XML حاوی اطلاعات دو دانشجو می باشد ) .

 XSLT File

<?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 Dir="rtl">
<H3 Align="Center"> ليست دانشجويان</H3>
<table border="1" bgcolor="ٌWhite" dir="rtl" Align="Center">
<tr>
<th bgcolor="#336699"><font size="3" color="white"> نام</font> </th>
<th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی</font> </th>
<th bgcolor="#336699"><font size="3" color="white"> رشته</font> </th>
</tr>
<xsl:for-each select="/Students/Student" >
<tr>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Fname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Lname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Study"/></font></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>


خروجی : پس از مقداردهی خصلت های DocumentSource و TransformSource کنترل سرويس دهنده XML ، به ترتيب به فايل های XML و XSL ، خروجی زير نمايش داده می شود .

استفاده از XSLT در برنامه های وب (2)

ادامه دارد....
منبع:http://article.mjsoft.ir




ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط