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



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 سه شنبه  10  اسفند  1395  2017  Feb.  28   Tuesday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 XSLT چيست ؟ ( بخش سوم )

 مديريت وب

9290

7

3.7

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

XSLT  چيست ؟ ( بخش سوم )

XSLT  چيست ؟ ( بخش سوم )

در بخش اول اين مقاله، مفاهيم اوليه XSLT و ضرورت های تبديل نوع يک سند XML به نوع ديگر، اشاره و از اين رهگذر جايگاه XSLT  تبين گرديد . در بخش دوم ، به بررسی جايگاه تکنولوژی XSLT در بين خانواده بزرگ تکنولوژی های مرتبط با XML پرداخته  گرديد . در آخرين بخش،  به بررسی روند شکل گيری 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  نمايش داده خواهد شد .



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382