کاربر میهمان به پرتال راسخون خوش آمدید ورود به محيط کاربري فراموشی رمز عبور عضویت یک شنبه یکم فروردین 1389 خورشیدی (اصلاح الگوی مصرف)
مقالات موضوعی

مسیر جاری: صفحه اصلي / مقالات موضوعی / علم و دانش / كامپيوتر و فناوري اطلاعات / نرم افزار و برنامه نویسی

تبلیغات سایت 

بره ناقلا
شنبه 17 بهمن 1388

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

چاپ نظرات
بازديدها: 159  
تعداد آرا: 2  
ده نکته در رابطه با 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


ارسال اين مقاله براي دوستان:
    آدرس پست الکترونيکي
 

نظر شما درباره این مقاله 

* با عنایت به اینکه نظرات و پیشنهادات شما کاربران گرامی در بهبود پایگاه تاثیر کاملا موثری ایفا می کند لذا خواهشمند است ما را از نطرات ارزنده ی خود محروم نفرمایید . 
* نظرات شما پش از بررسی و بازبینی توسط گروه مدیریت برای نمایش در سایت قرار داده می شود .

  نام و نام خانوادگی
    نشانی پست الکترونیکی
  نظرات شما
    

نظرات کاربران درباره این مقاله 


شنبه 17 بهمن 1388   zoom68
از مطلب ارائه شده ممنون



صفحه اصلی  |  مقالات  |  اخبار و اطلاع رسانی  |  کتابخانه موضوعی  |  مجموعه تصاویر  |  دریافت نرم افزار  |  معرفی پایگاه ها  |  بانک صوت و فیلم  |  کارت پستال
نقشه سایت  |  ارتباط با ما  |  درباره ما  |  عضویت  |  ورود به محیط کاربری

تمامی حقوق این پایگاه متعلق به پرتال فرهنگی و اطلاع رسانی راسخون می باشد. استفاده از مطالب این پایگاه فقط با ذکر منبع مجاز می باشد.