XSLT چيست ؟ (3)
بررسی روند شکل گيری XSLT و جايگاه آن بعنوان يک زبان برنامه نويسی
روند شکل گيری XSLT
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 بعنوان يک زبان
استفاده از گرامر مبتنی بر XML
• از مزيت وجود يک پارسر XML در مرورگرها ، استفاده خواهد کرد .
• اغلب افراد از عدم وجود يک گرامر همگن و سازگار بين HTML ، XML و CSS گلايه داشته و تمايلی به تکرار آن با يک گرامر جديد ندارند .
• اکثر زبان های مبتنی بر تمپليت در حا ل حاضر، بعنوان يک outline از سند خروجی بوده که با دستورالعمل هائی نيز همراه می باشند و از اين نظر مفهوم فوق ، کاملا" شناخته شده است .
• با استفاده از ابزارهای ويژوال موجود ، امکان ايجاد اين نوع سندها براحتی وجود داشته و نيازی به تايپ نخواهد بود .
• حمايت از يونيکد
• ضرورت استفاده از يک Stylesheet بعنوان ورودی و يا خروجی در زمان تبديل ، بدفعات احساس خواهد شد( سيستم تبديل ) . اين ويژگی که يک stylesheet قادر به خواندن و نوشتن ساير Stylesheet ها باشد ، يک مزيت تلقی می گردد .
اثرات جانبی
زبان انتخابی ، می بايست برای استفاده در موارد batch و محاوره ای مناسب باشد . زمانيکه يک سند XML با ظرفيت بالا ، از سرويس دهنده ای اخذ می گردد ، ماداميکه آخرين بايت آن از سرويس دهنده دريافت نگردد، امکان مشاهده هيچ چيزی وجود نخواهد داشت . در صورت اعمال تغييرات اندک در يک سند XML ، انتظار داريم که اثر تغييرات انجام شده در رابطه با نمايش سند را سريعا" مشاهده نمائيم . . در اين رابطه لازم است به اين نکته نيز اشاره گردد که تعيين بخشی از سند خروجی که متاثر از تغييرات اندکی در يک بخش از سند ورودی است ، عملی ساده نخواهد بود . تمام پردازنده های XSLT ، نيازمند استقرار کامل سند XML در حافظه ، قبل از انجام هر گونه عملياتی می باشند . مورد فوق يکی از چالش های اصلی XSLT در مواجهه با سندهای XML با حجم بالا است .
XSLTمبتنی بر قوانين است
ساختار مبتنی بر قوانين ، بسيار مشابه CSS است . نحوه برخورد با الگوها در CSS و XSLT کاملا" متفاوت است . مثلا" در CSS عنوان می شود که قانون تعريف شده در رابطه با کدام گره می بايست اعمال گردد ، در صورتيکه در 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
/س