ده نکته در رابطه با XSL

تکنولوژی XSL ، از CSS)Cascading Style Sheets) اقتباس شده است . CSS از يک Stylesheet بمنظور فرمت يک فايل HTML استفاده می نمايد .XSL و CSS در موارد متعددی با يکديگر تفاوت دارند. CSS ، امکان تعريف رنگ ها ، مشخص نمودن زمينه ها ، نوع فونت ها و ... را برای فايل های مبتنی بر Html فراهم می نمايد. XSL امکان تبديل يک فايل XML را به يک فايل Html ( و يا ساير فرمت های دلخواه نظير متن ) فراهم می نمايد. در اين مقاله ده نکته مهم در رابطه با
شنبه، 17 بهمن 1388
تخمین زمان مطالعه:
موارد بیشتر برای شما
ده نکته در رابطه با XSL
ده نکته در رابطه با XSL
ده نکته در رابطه با XSL






تکنولوژی 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




نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط
موارد بیشتر برای شما
پاسخ موشکی حزب‌الله به حملات صهیونیست‌ها قبل آغاز آتش‌بس
play_arrow
پاسخ موشکی حزب‌الله به حملات صهیونیست‌ها قبل آغاز آتش‌بس
گزارش حسینی‌بای از لحظات آغاز آتش‌بس در لبنان
play_arrow
گزارش حسینی‌بای از لحظات آغاز آتش‌بس در لبنان
تشریح آتش‌بس در لبنان
play_arrow
تشریح آتش‌بس در لبنان
انفجار در نزدیکی محل بازی فوتبال خداداد و شمسایی در لبنان
play_arrow
انفجار در نزدیکی محل بازی فوتبال خداداد و شمسایی در لبنان
رئیس دادگستری تهران: حکم پروندۀ چای دبش تا پایان ماه صادر می‌شود
play_arrow
رئیس دادگستری تهران: حکم پروندۀ چای دبش تا پایان ماه صادر می‌شود
مهاجرانی: قرار نیست مردم را غافلگیر کنیم
play_arrow
مهاجرانی: قرار نیست مردم را غافلگیر کنیم
شیادی که با هک صفحۀ دختران از آن‌ها اخاذی می‌کرد دستگیر شد
play_arrow
شیادی که با هک صفحۀ دختران از آن‌ها اخاذی می‌کرد دستگیر شد
حقوق سال آیندۀ کارمندان و بازنشستگان چگونه محاسبه می‌شود؟
play_arrow
حقوق سال آیندۀ کارمندان و بازنشستگان چگونه محاسبه می‌شود؟
وزیر نیرو: خاموشی در هیچ نقطه‌ای از کشور اعمال نمی‌شود
play_arrow
وزیر نیرو: خاموشی در هیچ نقطه‌ای از کشور اعمال نمی‌شود
سقط جنین از مافیا گذشته و به صنعت تبدیل شده
play_arrow
سقط جنین از مافیا گذشته و به صنعت تبدیل شده
مجری سابق فاکس‌نیوز: شیطان کاخ سفید را اداره می‌کند
play_arrow
مجری سابق فاکس‌نیوز: شیطان کاخ سفید را اداره می‌کند
محمد گلریز در دیدار با رهبر معظم انقلاب: امیدوارم سرود پیروزی را در مسجد الاقصی بخوانم
play_arrow
محمد گلریز در دیدار با رهبر معظم انقلاب: امیدوارم سرود پیروزی را در مسجد الاقصی بخوانم
تصاویر متفاوت از لحظه ورود رهبر معظم انقلاب در دیدار با بسیجیان
play_arrow
تصاویر متفاوت از لحظه ورود رهبر معظم انقلاب در دیدار با بسیجیان
خطوط مختلف خوشنویسی اسلامی
خطوط مختلف خوشنویسی اسلامی
رازهای زندگی حضرت زهرا (س) از زبان سلمان فارسی
رازهای زندگی حضرت زهرا (س) از زبان سلمان فارسی