، از کلمات eXtensible Stylesheet Language :Transformation اقتباس و زبانی برای تبدیل یک سند XML به نوع دیگر است . تکنولوژی فوق توسط کنسرسیوم وب با هدف اولیه تبدیل یک سند XML به نوع دیگر، طراحی شده است . XSLT ، دارای قابلیت های بمراتب بیشتری بمنظور تبدیل یک سند XML به HTML و سایر فرمت های مبتنی بر متن است . بدین ترتیب می توان تعریف کامل تری در رابطه با تکنولوژی فوق را بصورت زیر ارائه داد :
تعریف XSLT
XSLT ، زبانی بمنظور تبدیل ساختار یک سند XML است .
جرا سندهای XML نیازمند تبدیل می باشند ؟
XML ، روشی ساده و استاندارد بمنظور مبادله داده های ساختیافته بین برنامه های متفاوت کامپیوتر است . بخشی از موفقیت XML جهت نیل به خواسته فوق ، به نحوه نوشتن و خواندن این نوع فایل ها بر می گردد . با استفاده از یک ادیتور متنی می توان بسادگی و بسرعت اقدام به نوشتن یک سند XML ،خواندن و اعمال تغییرات در آنان نمود. فراموش نکنیم که مهمترین هدف XML ، ارتباط بین سیتستم های متفاوت نرم افزاری بوده و در این راستا به دو نیاز حیاتی بخوبی جواب داده است :
تفکیک داده از نمایش ( ارائه ) . نیاز به تفکیک اطلاعات از جزئیات نمایش بر روی یک دستگاه خاص همواره مورد نظر طراحان و پیاده کنندگان بوده است . خواسته فوق ، بموازات رشد دستگاههای مبتنی بر اینترنت به یک ضرورت حیاتی تبدیل شده است . سازمان ها و موسسات ارائه دهنده اطلاعات باارزش ، تمایل به عرضه اطلاعات خود بر روی مرورگرهای وب و سایر دستگاهها نظیر تلویزیون و یا تلفن های مبتنی بر WAP را دارند . بدین ترتیب دامنه استفاده از اطلاعات صرفا به مرورگرهای وب محدوده نبوده و دستگاههای متفاوت مبتنی بر تکنولوژی اینترنت را شامل می گردد .
ارسال داده بین برنامه ها . ارسال اطلاعات از سازمانی به سازمان دیگر بدون در گیر شدن در جزئیات ، همواره از آرزوهای بزرگ طراحان و پیاده کنندگان سیستم های نرم افزاری بوده است .
دو خواسته فوق هیچگونه تعارضی با یکدیگر ندارند ، مثلا یک لیست قیمت کالا را می توان بر روی صفحه ، نمایش و در همان زمان از آن بعنوان ورودی در سایر برنامه ها استفاده کرد . یکی دیگر از مزایای اساسی XML ، یکپارچگی بین دنیای سندها و داده ها است . بدین ترتیب می توان از یک روش خاص بمنظور عرضه ساختار داده ها ( صرفنظر از اینکه اطلاعات توسط انسان و یا ماشین استفاده می گردد) ، بهره گرفت . صرفنظر از اینکه داده های XML سرانجام توسط انسان و یا یک برنامه نرم افزاری دیگر استفاده می گردند ، به این نکته مهم می بایست اشاره گردد که بندرت داده ها به همان صورت که دریافت می گردند، استفاده خواهند شد. در این راستا لازم است که داده ها در ابتدا به یک فرمت دیگر تبدیل گردند . تبدیل XML به Html ، متداولترین کاربرد استفاده از XSLT است . پس از تبدیل داده ها به فرمت Html ، امکان نمایش آنها در هر مرورگری فراهم خواهد شد . بنابراین جایگاه تبدیل در رابطه با ارائه و نمایش داده ها ، به تغییر فرمت سندهای XML به سایر فرمت های متداول نظیر Html برمی گردد .XSLT در این رابطه بخوبی پاسخگو بوده و با استفاده از قوانین موجود قادر به تبدیل نوع یک سند به نوع دیگر با توجه به نیازهای مربوطه خواهد بود .
بمنظور ارسال اطلاعات بین برنامه های متفاوت، می بایست قادر به تبدیل داده ها از مدل استفاده شده توسط یک برنامه به مدل استفاده شده توسط برنامه دیگر باشیم . بمنظور تامین اطلاعات مورد نیاز یک برنامه ،از فرمت های متفاوت استفاده می گردد . یک فایل حاوی داده های جداشده توسط ویرگول ، یک اسکریپت SQL ، یک پیام HTTP و یا مجموعه ای از توابع مربوط به یک اینترفیس خاص برنامه نویسی ، نمونه هائی در این زمینه می باشند . بموازات رشد تجارت الکترونیکی مبتنی بر XML ، نقش XSLT در تبدیل داده ها بین برنامه ها ی متفاوت ، بسیار حائز اهمیت شده است .در این راستا استانداردهای متعددی وجود دارد . مثلا در صنعت روزنامه نگاری از یک فرمت خاص برای مبادله اطلاعات، نسبت به صنعت تلویزیون استفاده می گردد .در برخی حالات دیگر ممکن است ، تمایل به استخراج یک آدرس خاص از یک لیست ثبت سفارش و الحاق آن به لیست صورتحساب را داشته باشیم . بهرحال ، استخراج و ترکیب داده ها از یک مجموعه اسناد XML و ایجاد اطلاعات مورد نیاز برای سایر اسناد XML ، یک ضرورت بوده و XSLT در این راستا ابزاری مناسب است .
XSLT چگونه یک سند XML را تبدیل می نماید ؟
برای تبدیل یک سند XML و ایجاد خروجی مورد نظر، دو مرحله متفاوت را می بایست دنبال نمود :
• اولین مرحله ، شامل یک تبدیل ساختاری است . در این حالت داده ها از ساختار استفاده شده در یک سند XML ، به ساختاری دیگر که تامین کننده خروجی مورد نیاز است ، تبدیل خواهند شد .
• دومین مرحله، ایجاد فرمت مورد نیاز است . ساختار جدید به فرمت مورد نظر نظیر Html و یا PDF تبدیل و در خروجی نمایش داده خواهد شد .
در رابطه با دومین مرحله ، در بخش قبل موارد لازم بیان گردید : ساختمان داده ئی که از اولین مرحله بدست می آید، می تواند بعنوان یک HTML ، یک فایل متن و یا یک سند XML دیگر در خروجی ارائه گردد . خروجی Html ، امکان نمایش مستقیم اطلاعات در یک مرورگر و یا تغذیه به یک برنامه پیشرفته واژه پرداز را دارا است . خروجی مبتنی بر متن ، امکان فرمت دهی داده ها را با یک روش قابل قبول بمنظور استفاده توسط سایر برنامه ها فراهم می نماید . با تبدیل یک سند XML به نوع دیگر که خود نیز از نوع XML خواهد بود ، امکان استفاده مستقیم آن برای سایر برنامه هائی که قادر به دریافت داده های خود بصورت XML می باشند ، فراهم می گردد . مثلا یک تبدیل کننده XSLT ، ممکن است میزان فروش ماهیانه را بعنوان یک سند XML اخذ و یک منحنی هیستوگرام را بصورت XML در خروجی ایجاد نماید .
در مرحله اول ( تبدیل ) ، عملیات لازم در خصوص ایجاد خروجی با فرمت مناسب انجام خواهد شد . در مرحله فوق عملیاتی نظیر : انتخاب داده ، گردآوری و گروه بندی داده ها ، مرتب سازی داده ها و انجام عملیات محاسباتی ( نظیر تبدیل اینچ به سانتیمتر ) صورت می پذیرد. نحوه انجام عملیات فوق به چه صورت است ؟ قبل از عرضه XSLT ، امکان پردازش سندهای XML ، صرفا از طریق نوشتن یک برنامه خاص میسر بود . برنامه ها با استفاده از یک رابط برنامه نویسی (API) ، پارسر را فراخوانده تا امکان اخذ اطلاعات دررابطه با سند و یا انجام عملیات مورد نظر فراهم گردد . در این راستا از دو رابط برنامه نویسی استفاده می گردد : SAX)Simple API for XML ) و DOM)Document object Model) .
رابط برنامه نویسی SAX ، یک اینترفیس مبتنی بر رویداد بوده که پارسر در رابطه با هر یک از بخش های موجود در سند ، اطلاعات لازم را در اختیار برنامه متقاضی قرارخواهد داد. در صورتیکه از رابط برنامه نویسی DOM استفاده گردد، پارسر از طریق ایجاد یک ساختار شبه درختی در حافظه ، امکان ارتباط با آن را پیدا می نماید . در ادامه ، با نوشتن یک برنامه خاص ( مثلا با استفاده از زبانهای برنامه نویسی نظیر VB ، جاوا ) امکان ارتباط با درخت بوجود می آمد . در مدل فوق ، برای پردازش هر نوع سند XML ، لازم است که یک برنامه خاص و اختصاصی نوشته شده تا با دنبال نمودن مراحل مورد نظر، عملیات لازم در رابطه با یک سند XML صورت پذیرد.
چگونه می توان از XSLT بمنظور تبدیل یک سند XML در مقابل نوشتن برنامه های اختصاصی استفاده کرد ؟ طراحی XSLT ، مبتنی بر این واقعیت بوده است که این نوع برنامه ها بسیار مشابه هم بوده و می توان بمنظور تشریح عملکرد مربوطه ، از یک زبان تعریفی سطح بالا ( در مقابل نوشتن هر یک از برنامه ها توسط زبانهائی نظیر VB و یا جاوا) استفاده کرد . تبدیلات انجام شده ، از مجموعه ای قوانین نشات خواهد گرفت . قوانین فوق ،نحوه ایجاد خروجی را در صورت وجود یک الگوی خاص در سند ، مشخص می نمایند . زبان فوق تعریفی بوده و تبدیل مورد نیاز تشریح می گردد ( در مقابل ارائه دنباله ای از دستورالعمل های رویه ای برای عملیات تبدیل) . XSLT ، تبدیل مورد نیاز را تشریح و در ادامه با تاکید بر نقش پردازنده XSL ، مناسبترین و کارآمدترین روش برای عملیات انتخاب می گردد .