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

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


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
XSLT چيست ؟ (3)
-(5 Body) 
XSLT چيست ؟ (3)
Visitor 614
Category: دنياي فن آوري

بررسي روند شکل گيري XSLT و جايگاه آن بعنوان يک زبان برنامه نويسي

روند شکل گيري XSLT

XSLT ، نظير ساير اعضاء خانواده بزرگ استاندارهاي XML، توسط کنسرسيوم وب پياده سازي شده است. جزئيات مربوط به شکل گيري استاندارد فوق، در آدرس http://www.w3.org/style/History قابل استفاده است. پيشنهاد اوليه ، براي استاندارد فوق در تاريخ بيست ويکم اگوست سال 1997 ارائه گرديد ( http://www.w3.org/TR/NOTE-XSL.html ) . براي ارائه استاندارد فوق، از وجود يازده متخصص استفاده گرديد . ( پنج نفر از شرکت ماکروسافت ، سه نفر از شرکت Inso، يک نفر از شرکت ArborText ، يک نفر از دانشگاه ادينبورگ و James Clark ، که براي خود کار مي کرد) .
XSL ،يک زبان Stylesheet است که توسط کميته وب طراحي شده است . قابليت هاي استاندارد فوق ، بمراتب بيشتر از CSS است ( مثلا" قابليت ذخيره سازي المان ها ) . همانگونه که قبلا" اشاره گرديد، CSS بمنظور نمايش سندهاي XML با ساختار ساده مناسب مي باشد. XSL ، داراي قابليت هاي بمراتب بيشتري در رابطه با فرمت مورد نياز براي قالب دهي اطلاعات ساختيافته ، (نظير يک ساختمان داده XML ) مي باشد . پياده کنندگان استاندارد XSL ، در زمان طراحي تکنولوژي فوق ، سه محور اساسي را مورد توجه قراردادند :
• يک زبان نشانه گذاري با تاکيد بر يک گرامر تعريفي
• امکان استفاده از اسکريپت هاي خاص بمنظور انجام عمليات پيچيده
• امکان استفاده بعنوان يک زبان برنامه نويسي کامل
اهداف طراحي XSL بشرح زير است :
• XSL ، مي بايست براحتي از طريق اينترنت قابل استفاده باشد.
• XSL ، مي بايست همراه با گرامر XML ارائه شود
• XSL ، مي بايست يک زبان تعريفي بمنظور انجام عمليات رايج در رابطه با فرمت دهي باشد.
• XSL ، مي بايست امکان استفاده از يک زبان اسکريپت را بمنظور افزايش توان عملياتي فراهم نمايد .
• XSL ، مي بايست امکان تطبيق يک CSS را به يک XSL stylesheet فراهم نمايد .
• قابليت استفاده آسان از XSL ، براي کاربراني که داراي تجربه لازم در رابطه با زبان FOSI مي باشند .
• تعداد ويژگي انتخابي در XSL ، مي بايست حداقل مقدارممکن را دارا باشد .
• Stylesheet هاي نوشته شده بکمک XSL ، مي بايست خوانائي مطلوبي را داشته باشند .
• طراحي XSL ، مي بايست بسرعت انجام شود .
• ايجاد stylesheet بکمک XSL ، مي بايست بسادگي انجام شود .
زبان ارائه شده در اولين پيشنهاد ، داراي اغلب مفاهيم کليدي XSLT است ، که در نهايت ارائه گرديد . بمنظور طراحي گرامر زبان فوق از رويکرد مبتني بر تمپليت استفاده گرديد . بدين ترتيب امکان برخورد با گره ها ي موجود در سند مبداء و تطبيق آنها با يک الگوي تعريف شده ، فراهم مي گردد . عدم وجود اثرات جانبي و امکان تفسير و برخورد با سندهاي با حجم بالا ، از ديگر مواردي است که در زمان طراحي XSL به آنها توجه جدي گرديد . برآيند تمام تلاش هاي فوق، عرضه اولين نسخه پيشنهادي XSLT در سال 1998 بود . زبان پيشنهادي در سال 1999 ،بصورت حرفه اي مطرح و مورد استفاده قرار گرفت .

XSLT بعنوان يک زبان

XSLT ، داراي چه ويژگي منحصربفردي است که آن را بعنوان يک زبان برنامه نويسي از ساير زبان ها متمايزمي نمايد ؟ در اين بخش به سه مورد اساسي اشاره خواهد گرديد : استفاده از گرامر مبتني بر XML ، عدم وجود تاثيرات جانبي و پردازش مبتني بر مجموعه اي از قوانين

استفاده از گرامر مبتني بر XML

همانگونه که قبلا" اشاره گرديد ، استفاده از گرامر SGML براي Stylesheet از سال 1994 مطرح شده بود . ايده استفاده از SGML در اين زمينه ، داراي مشکلات خاص خود است . بمنظور عرضه stylesheet در XSLT ، از گرامر مبتني بر XML استفاده مي شود . رويکرد فوق داراي مزاياي زير است :
• از مزيت وجود يک پارسر XML در مرورگرها ، استفاده خواهد کرد .
• اغلب افراد از عدم وجود يک گرامر همگن و سازگار بين HTML ، XML و CSS گلايه داشته و تمايلي به تکرار آن با يک گرامر جديد ندارند .
• اکثر زبان هاي مبتني بر تمپليت در حا ل حاضر، بعنوان يک outline از سند خروجي بوده که با دستورالعمل هائي نيز همراه مي باشند و از اين نظر مفهوم فوق ، کاملا" شناخته شده است .
• با استفاده از ابزارهاي ويژوال موجود ، امکان ايجاد اين نوع سندها براحتي وجود داشته و نيازي به تايپ نخواهد بود .
• حمايت از يونيکد
• ضرورت استفاده از يک Stylesheet بعنوان ورودي و يا خروجي در زمان تبديل ، بدفعات احساس خواهد شد( سيستم تبديل ) . اين ويژگي که يک stylesheet قادر به خواندن و نوشتن ساير Stylesheet ها باشد ، يک مزيت تلقي مي گردد .

اثرات جانبي

يکي از اهداف اوليه در رابطه با طراحي XSLT ، عدم بروز اثرات جانبي در زمان استفاده از آن است . يک تابع و يا برنامه جانبي در صورتيکه باعث ايجاد تغييرات در محيط مربوط بخود شوند ، داراي اثرات جانبي خواهند بود. مثلا" تابعي که باعث تغيير مقدار يک متغير سراسري مورد استفاده ساير توابع مي گردد ، داراي اثرات جانبي بوده و مي تواند در عملکرد ساير توابعي که از مقدار متغير فوق استفاده مي نمايند ، تاثيري منفي را بدنبال داشته باشد. بديهي است توابعي که داراي اثرات جانبي مي باشند، مي بايست بدفعات مشخص و با يک نظم و اولويت خاص بخدمت گرفته شوند ( فراخواني ). مثلا" در صورتيکه تابعي براي محاسبه محيط يک مثلث نوشته شده باشد که داراي اثرات جانبي نيست ، مي توان با خيال آسوده تابع فوق را بدفعات استفاده و همواره انتظار عملکرد يکساني را نيز از آن داشته باشيم ( محاسبه محيط مثلث با توجه به پارامترهاي مربوطه ) . در صورتيکه تابع فوق داراي اثرات جانبي باشد ، (مثلا" تغيير اندازه اضلاع مثلث) استفاده از آن بدفعات بسيار محدود ( يک مرتبه) منطقي بوده و در صورت تکرار در استفاده از چنين تابعي ، نبايد انتظارعملکردي مثبت از آن را داشته باشيم . در صورتيکه زباني داراي اثرات جانبي باشد، اولويت اجراي دستورالعمل ها در آن مي بايست، بدرستي مشخص شود .در زبان هائي که داراي اثرات جانبي نمي باشند ، امکان اجراي دستورالعمل ها با هر اولويتي وجود خواهد داشت . اين بدان معني است که مي توان بخش هائي از يک Stylesheet انتخابي را بصورت مستقل اجراء نمود . XSLT زباني مناسب در اين رابطه بوده و با توجه به انتظارات موجود در رابطه با اسناد ورودي ، پتانسيل هاي لازم را بدون وجود اثرات جانبي ، در اختيار استفاده کنندگان قرار مي دهد .
زبان انتخابي ، مي بايست براي استفاده در موارد batch و محاوره اي مناسب باشد . زمانيکه يک سند XML با ظرفيت بالا ، از سرويس دهنده اي اخذ مي گردد ، ماداميکه آخرين بايت آن از سرويس دهنده دريافت نگردد، امکان مشاهده هيچ چيزي وجود نخواهد داشت . در صورت اعمال تغييرات اندک در يک سند XML ، انتظار داريم که اثر تغييرات انجام شده در رابطه با نمايش سند را سريعا" مشاهده نمائيم . . در اين رابطه لازم است به اين نکته نيز اشاره گردد که تعيين بخشي از سند خروجي که متاثر از تغييرات اندکي در يک بخش از سند ورودي است ، عملي ساده نخواهد بود . تمام پردازنده هاي XSLT ، نيازمند استقرار کامل سند XML در حافظه ، قبل از انجام هر گونه عملياتي مي باشند . مورد فوق يکي از چالش هاي اصلي XSLT در مواجهه با سندهاي XML با حجم بالا است .

XSLTمبتني بر قوانين است

يک XSLT Stylesheet ، شامل مجموعه اي از قوانين مبتني بر تمپليت است . هر يک از تمپليت ها ، نحوه پردازش يک المان خاص را مشخص خواهند کرد . قوانين با يک نظم و اولويت خاص سازماندهي نشده و ضرورتي به رعايت اولويت و نظم در ورودي و يا خروجي نخواهند بود . زمانيکه XSLT ، بعنوان يک زبان تعريفي در نظر گرفته مي شود، مي توان گفت که : " زمانيکه الگوهاي خاصي در سند مبداء پيدا گرديد ، چه نوع اطلاعاتي و به چه صورت مي بايست در خروجي ارائه شود."
ساختار مبتني بر قوانين ، بسيار مشابه CSS است . نحوه برخورد با الگوها در CSS و XSLT کاملا" متفاوت است . مثلا" در CSS عنوان مي شود که قانون تعريف شده در رابطه با کدام گره مي بايست اعمال گردد ، در صورتيکه در XSLT مشخص مي شود که در زمان يافتن يک الگوي مشخص شده در سند مبداء ، چه عملياتي مي بايست انجام شود.

چه زماني مي بايست از XSLTاستفاده کرد ؟

استفاده از XSLT در موارد زير پيشنهاد مي گردد :
• برنامه هاي تبديل داده . زمانيکه قصد تبديل يک مجموعه داده مبتني بر XML را به فرمت ديگر XML داشته باشيم ، XSLT گزينه اي مناسب خواهد بود . با استفاده از XSLT ، مي توان عمليات متفاوتي نظير انتخاب داده هائي خاص از يک سند XML ، ذخيره سازي داده هاي مورد نظر و موارد متنوع ديگري را انجام داد . از XSLT مي توان بمنظور معتبر سازي داده ها نيز استفاده کرد . XSLT ، بعنوان يک زبان برنامه نويسي، گزينه اي مناسب براي انجام پردازش هاي لازم در خصوص ساختار اطلاعاتي است که از محتويات مربوط جدا شده اند . از XSLT مي توان در رابطه با تبديل يک سند XML به فرمت هاي مبتني بر متن نيز استفاده کرد . ( مثلا" اطلاعات متني که توسط ويرگول از هم جدا شده اند ) . يکي ديگر از ويژگي هاي جالب XSLT ، امکان استفاده از آن در رابطه با تبديل يک سند غيره XML به يک سند XML و يا ساير فرمت هاي دلخواه ديگر است . در اين مورد خاص، لازم است که يک نوع پارسر بمنظور تشخيص فرمت داده هاي ورودي نوشته گردد . پس از نوشتن پارسر، عمليات تبديل ، توسط يک زبان سطح بالا ميسر مي گردد .
• نشر اطلاعات . تفاوت بين تبديل و نشر اطلاعات به مقصد داده ها بر مي گردد . در موارديکه تبديل صورت مي پذيرد، مقصد داده هاي تبديل شده يک نرم افزار ديگر بوده در صورتيکه در زمان نشر ، کاربران (انسان) مقصد نهائي اطلاعات مي باشند. تبديل با نمايش و تبديل بدون نمايش گزينه هائي متفاوت بمنظور شناخت مفهوم نشر اطلاعات است . در زمان نشر اطلاعات، نياز به ارائه آنان بر روي کاغذ ( چاپ ) و يا وب خواهد بود . نشر اطلاعات بر روي کاغذ، مستلزم عمليات بمراتب پيچيده تري خواهد بود . در اين حالت خاص ، کاربران داراي انتظار بالائي در رابطه با کيفيت مي باشند. XSL FO ، امکاني بمنظور تعريف يک مدل مبتني بر XML از يک فايل چاپي بمنظور نمايش با کيفيت بالا بر روي صفحات نمايشگر و يا کاعذ است . نشر اطلاعات بر روي وب داراي چالش هاي بمراتب کمتري نسبت به کاغذ است . در اين مدل خاص، صرفا" مي بايست داده ها به Html تبديل و در ادامه مرورگرها مسئوليت ارائه اطلاعات را با فرمت تعريف شده بر عهده خواهند گرفت . تبديل يک سند XML به Html ، يکي از متداولترين کاربردهاي XSLT در حال حاضر است . در اين رابطه دو مرحله عمليات دنبال خواهد شد : در اولين مرحله، داده ها به يک مدل مبتني بر XML که از لحاظ ساختاري شباهت زيادي را با سند Html مقصد دارد ، تبديل و در دومين مرحله ، ساختار مشخص شده ، با تاکيد بر امکانات Html نمايش داده خواهد شد .
منبع:http://article.mjsoft.ir
Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image