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

تکنولوژی XSL ، از CSS)Cascading Style Sheets) اقتباس شده است . CSS از يک Stylesheet بمنظور فرمت يک فايل HTML استفاده می نمايد .XSL و CSS در موارد متعددی با يکديگر تفاوت دارند. CSS ، امکان تعريف رنگ ها ، مشخص نمودن زمينه ها ، نوع فونت ها و ... را برای فايل های مبتنی بر Html فراهم می نمايد. XSL امکان تبديل يک فايل XML را به يک فايل Html ( و يا ساير فرمت های دلخواه نظير متن ) فراهم می نمايد. در اين مقاله ده نکته مهم در رابطه با
سه‌شنبه، 20 اسفند 1387
تخمین زمان مطالعه:
موارد بیشتر برای شما
ده نکته در رابطه با 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 ، می توان از آنها استفاده کرد . /س


نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط
موارد بیشتر برای شما
راهکارهای ترویج حجاب؛ احیای مسئولیت‌پذیری اجتماعی
راهکارهای ترویج حجاب؛ احیای مسئولیت‌پذیری اجتماعی
ترامپ و مقامات دولتش به استفاده از سلاح هسته ای علیه ایران فکر می‌کنند
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
شرح حدیثی از امام صادق(ع) درباره فضیلت نماز شب توسط رهبر شهید
کلاهبرداری از طریق رمزارزها
play_arrow
کلاهبرداری از طریق رمزارزها