جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
ده نکته در رابطه با XSL
-(3 Body) 
ده نکته در رابطه با XSL
Visitor 287
Category: دنياي فن آوري
تکنولوژي XSL ، از CSS)Cascading Style Sheets) اقتباس شده است . CSS از يک Stylesheet بمنظور فرمت يک فايل HTML استفاده مي نمايد .XSL و CSS در موارد متعددي با يکديگر تفاوت دارند. CSS ، امکان تعريف رنگ ها ، مشخص نمودن زمينه ها ، نوع فونت ها و ... را براي فايل هاي مبتني بر Html فراهم مي نمايد. XSL امکان تبديل يک فايل XML را به يک فايل Html ( و يا ساير فرمت هاي دلخواه نظير متن ) فراهم مي نمايد. در اين مقاله ده نکته مهم در رابطه با تکنولوژي XSL بيان مي گردد .
نکته اول: همزمان با ارائه تکنولوژي XML توسط کنسرسيوم وب ، تکنولوژي XSLT)Extensible StyleSheet Language for Transformation )، براي تبديل يک سند به نوع ديگر ، مطرح گرديد. در زمان پياده سازي XSLT ، تکنولوژي ديگر و مرتبط با XML با نام XPointer نيز ارائه گرديد. XPointer ، مکانيزمي براي اشاره به بخش هاي متفاوت يک سند XML است . يکي ديگر از تکنولوژي هاي مرتبط با XML ، با نام XPath مطرح و ارائه گرديد. XSLT,XPointer و XPath جملگي تکنولوژي هاي مبتني بر XML مي باشند .
نکته دوم: تکنولوژي XSLT ، مشابه يک زبان برنامه نويسي بوده و داراي توابع و متدهاي فراواني است که نمونه آنها را مي توان در ساير زبان هاي برنامه نويسي مشاهده نمود. مثلا" XSLT داراي يک حلقه تکرار با نام for-each است .<XSL:for-each> .تکنولوژي فوق داراي برخي امکانات خاص ديگر است که نمونه آنها در ساير زبانهاي برنامه نويسي وجود ندارد . مثلا" با استفاده از المان <XSL:script> ، مي توان در هر مکان دلخواه ، اقدام به درج اسکريپت هاي مورد نظر نمود. براي درج محتويات يک فايل نيز مي توان از المان <XSL:include> استفاده کرد . در صورتيکه XML را بمنزله داده ها در نظر بگيريم ، XSL ، زبان برنامه نويسي مناسب ، بمنظور انجام عمليات دلخواه بر روي داده ها است .
نکته سوم: با اينکه XSLT مشابه يک زبان برنامه نويسي است ولي داراي يک تفاوت اساسي با زبانهاي برنامه نويسي است . زبان XSLT مبتني بر تمپليت ها مي باشد . با استفاده از تمپليت ها مي توان نحوه پردازش يک المان را مشخص نمود. قوانين تمپليت مي توانند با اولويت هاي متفاوت و بصورت دلخواه تعريف و استفاده گردند. XSLT يک زبان تعريفي است . (در صورت مواجه شدن با يک الگو ، خروجي به چه صورت توليد مي گردد ) . روش برنامه نويسي در XSLT ، مشابه زبانهاي VB و يا جاوا نمي باشد . زبانهاي فوق بصورت "رويه اي " مي باشند . ( XSLT زباني تعريفي است )
نکته چهارم: در تمام فايل هاي XSL ، مي بايست XSL namespace مشخص گردد. بدين ترتيب پارسر از نوع نسخه XSLT آگاهي پيدا خواهد کرد . براي مشخص نمودن namespace ، عموما" از عبارت زير استفاده مي گردد. با معرفي namespace مربوطه ، مي توان يک XSLT را بگونه اي طراحي و پياده سازي کرد که هم با نسخه هاي قبلي و هم با نسخه هاي بعدي ، سازگار باشد .
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
نکته پنجم: همانگونه که اشاره گرديد ، XSLT يک زبان مبتني بر تمپليت است . با تعريف يک تمپليت خاص و دلخواه ، عمليات تطبيق آن با اطلاعات موجود در فايل XML انجام خواهد شد. با توجه به اينکه تکنولوژي XSLT از تمپليت ها استفاده مي نمايد ، هر فايل XSL مي بايست داراي حداقل يک تمپليت تعريف شده باشد . تمپليت تعريف شده عموما" بصورت زير است :
< xsl:template match ="/" >
ريشه تمپليت شامل عبارت "/" = match مي باشد ( ريشه سند XML است ) . در صورتيکه المان ريشه در سند XML با نام PEOPLE باشد ، عبارت فوق بصورت " match="PEPOLE ، خواهد بود . تعداد تمپليت هاي موجود در XSLT داراي محدوديت نمي باشد .
نکته ششم: در زمان انجام عمليات در XSLT ، محدوده مورد نظر براي يک پرسو جو (query) ، گره (node ) در حال پردازش است . بنابراين در تمپليت "/" = xsl:template match،محدوده عملياتي ريشه سند XML است . زمانيکه با استفاده از xsl:for-each در يک حلقه تکرار مستقر مي گرديم ،محدوده عملياتي شامل هر يک از گره هائي خواهد بود که در حلقه ايجاد مي گردند . " محدوه عملياتي " (Context) ، يکي از مشخصه ها ي مهم تکنولوژي XPath است . يک برنامه XSLT بسيار مشابه برنامه اي خود بازگشتي بوده ( داراي چندين حلقه تکرار است ) و بدفعات از کدهاي موجود در تمپليت استفاده خواهد شد .
نکته هفتم: " مکان " (Location) ، يکي از مشخصه هاي مهم XPath است . مثلا" / ، بمنظور انتخاب المان ريشه در سند جاري و يا گره موجود در محدوده عملياتي است . article/ ، باعث انتخاب المان "article" که خود فرزند ريشه است ، مي گردد . x/article ، باعث انتخاب تمام المان هاي "article" که فرزند x مي باشند ، خواهد شد . آدرس PERSON/PEOPLE ، باعث انتخاب تمام المان هاي PEPOLE که ريشه آنان PERSON است ، مي گردد .
نکته هشتم: آدرس دهي مبتني بر مکان ، امکان استقرار بر روي گره هاي مورد نظر براي پردازش را فراهم مي نمايد .مثلا" با معرفي آدرس PEPOLE/PERSON امکان يافتن تمام المان هاي PERSON در المان PEPOLE فراهم مي گردد . با استفاده از مسيريابي مبتني بر مکان ، مي توان موقعيت خود را در سند XML تغيير و بسمت بالا و يا پائين حرکت کرد . براي يافتن تمام المان هاي PERSON با عمق دلخواه ( فاصله المان تا ريشه ) و ريشه PEOPLE از آدرسي مشابه PERSON//PEOPLE / استفاده مي گردد .
نکته نهم: تکنولوژي XPath ، الگوهاي مناسب براي فيلتر نمودن داده ها را با استفاده از امکاناتي نظير AND, + - > <=, mod ، فراهم مي نمايد . مثلا" [" article[author="Ali" and author="Reza، گره هاي article را که نام author آنان Ali و Reza است برمي گرداند . XPath داراي توابعي نظير : Count,position,substring و sum است . مثلا" عبارت زير ،باعث برگرداندن مقدار Total Price مي گردد . در مثال فوق از تابع sum براي محاسبه مجموع قيمت هاي ذخيره شده توسط المان price ، استفاده شده است .. تکنولوژي XSLT و XPath عموما" در کنار يکديگر استفاده مي گردند .
<p>Total Price = <xsl:value-of select="sum(//price)"/></p>
نکته دهم: تکنولوژي XSLT ، از معماري مبتني برقانون که در آن تمپليت ها داراي نقشي کليدي هستند، استفاده مي نمايد . برنامه نويسي XSLT ،عموما" بصورت خود بازگشتي بوده و بدين دليل همواره مي بايست در رابطه با محدوده عملياتي که تمپليت اجراء خواهد شد ، دقت لازم را انجام داد . XSLT و XPath داراي پتانسيل هاي زيادي بوده که بمنظور پردازش سندهاي XML ، مي توان از آنها استفاده کرد .
منبع:http://article.mjsoft.ir
Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image