جمعه, ۷ اردیبهشت, ۱۴۰۳ / 26 April, 2024
مجله ویستا

ده نکته در رابطه با 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. w۳. org/ ۱۹۹۹/ 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 عموماً در كنار یكدیگر استفاده می گردند.
Total Price =
چ ـ نكته دهم تكنولوژی XSLT، از معماری مبتنی برقانون كه در آن تمپلیت ها دارای نقشی كلیدی هستند، استفاده می نماید. برنامه نویسی XSLT ، عموماً به صورت خود بازگشتی بوده و بدین دلیل همواره می بایست در رابطه با محدوده عملیاتی كه تمپلیت اجراخواهد شد، دقت لازم را انجام داد. XSLT و XPath دارای پتانسیل های زیادی بوده كه به منظور پردازش سندهای XML، می توان از آنها استفاده كرد.
srco. ir
منبع : روزنامه ابرار


همچنین مشاهده کنید