بررسی ده نکته مهم در رابطه با تکنولوژی XSL New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 دوشنبه  4  ارديبهشت  1396  2017  Apr.  24   Monday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

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

 مديريت وب

8220

10

3.5

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

 

ده نکته مهم در رابطه با 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 ، می توان از آنها استفاده کرد .



جستجو

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


 

 

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



              

 

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