دو جنبه از XSL : تبدیلات XSL و اشیاء قالب بندی XSL
XSL، در واقع دارای دو راستا می باشد، تبدیلات XSL یا XSLT (نگارش 1.0 که یک معرفی W3C است و نگارش 1.1 که ارائه شده است) و اشیاء قالب بندی XSL یا XSLFO. هر کدام هنگامی که واردکار با داده های XML می شوند، برای انجام وظایف متفاوتی طراحی می شوند.
XSLT اجازه می دهد محتوای XML را بگیریم و به هر شکل دیگری تغییر دهیم، ممکن است آن شکل دیگر، یک صفحه XTML یک فایل متنی یا حتی یک سند XML دیگر باشد. می توانیم محتوایی که می خواهیم نمایش داده شود را انتخاب کنیم و محتوا را اضافه کنیم یا حتی محتوایی را که آنجا وجود دارد اجرا کنیم. XSLT با تبدیل XML به HTML و افزودن اطلاعات شیوه CSS عمل می کند بلکه اساس آن CSS است و اساساً از همان صفحات و مقادیر استفاده می کند. در این صورت چه نیازی به آن داریم؟ چرا منحصراً از CSS استفاده نکنیم؟ یکی از نکات قوت XML، این است که می توان در محیطهای مختلف از آن استفاده کرد، نه تنها در مرورگر. به همین دلیل است خود را در موقعیتی ببینید که محیط کاری شما، کد XML را می شناسد ولی از HTML که در برگیرنده اطلاعات شیوه است یا به آن مراجعه می کند، چیزی متوجه نمی شود.
اشیاء قالب بندی XSL به عنوان بخشی از «درخت نتیجه» که بعد از تبدیل به دست می آید، می باشد، و می توانند توسط هر برنامه کاربردی که از آن پشتیبانی کند، پردازش شود.
آماده سازی
برای استفاده از معرفی لازم است آخرین نگارش MSXML3 دریافت شود.
نصب MSXML3
با وجود اینکه، دریافت و نصب MSXML3 شاید بسیار راحت به نظر برسد، گزارشات بسیار زیاد از سیستم ها رسیده است که پردازش کل XSL بعد از عملیات نصب، متوقف می شود. کاربران دو گزینه انتخابی دارند:
نصب MSXML3 در مد "side- by- side" که پیش فرض می باشد. ابتدا از ایجاد backup در C;\windows\system\MSXML.DDL مطمئن شوید. اگر این فایل خراب شد و پردازش XSL متوقف گشت، باید با جایگذاری backup، حداقل اجازه استفاده از گزینه انتخابی زیر را بدهد.
ادامه نصب پیش فرض و استفاده از پیش نویس کاری، اکثر اطلاعاتی که در این متن تحت پوشش قرار گرفته، برای هر دو حالت یکی هستند و ما فقط به یک استثنایی که در آنجا مثل هم نیستند، اشاره خواهیم کرد. بعداً، هنگامی که به پردازش XSLT روی سرویس دهنده (به جای سرویس گیرنده) می پردازیم، می توانیم از معرفی کامل آن برای تولید صفحات XHTML استفاده کنیم که در این صورت لازم نیست در هنگام ساخت برنامه کاربردی خود، نگران پشتیبانی مرورگر از XSL باشیم.
نصب MSXML3 از مراحل زیر است:
1 – مطمئن باشید که بر روی ماشین خود برنامه Windows Installer دارید. می توان از این آدرس آن را دریافت کرد:
http:\www.microsoft.com/msdwnload/
این نرم افزار را نصب کنید، مرورگر را ببندید و دوباره آن را باز کنید.
2 – نرم افراز را از روی اینترنت دریافت کنید. ما همراه اینترنت اکسپلرر از نگارش منتشر شده MSXML3 استفاده می کنیم که این نرم افزار در آدرس زیر پیدا می شود:
http:\msdn.microsoft. com/
هشدار: اگر نگارش قبلی MSXML را نصب کرده باشید، شاید لازم باشد آن را در اینجا ارتقا دهید. زیرا بعضی از نتایجی که در این فصل خواهیم دید، با نگارشهای قبلی متفاوت است.
3- از C:/windows/system/MSXL.DDL یک کپی به عنوان backup بگیرید، همان طور که قبلاً به آن اشاره شد.
4 – با دو بار کلیک کردن روی فایل msxm13.exe فایل دریافت شده از روی اینترنت را اجرا کنید.
5 – گاهی اوقات، در صورتی که پیش فرض، مد "side-by-side" باشد (که DLL قبلی را دست نخورده نگه می دارد) ممکن است نصب کامل نشود. شاید لازم باشد که یک فایل نصب دیگر، xmlinst.exe را اجرا کنید. که آن را می توان از آدرس زیر دریافت کرد:
http:\msdn.microsoft. com/downloads/default.asp?URL=/
cod\sample.asp?url=/msdn-files/027/001/469/msdncompositedoc.xml
پس از اینکه آن را دریافت کردید، روی آن دوباره کلیک کنید تا از حالت فشرده خارج شود. توجه داشته باشید که در کجا از حالت فشرده آن را خارج کرده اید. در پنجره اعلان فرمان (Commad Prompt) به آن شاخه بروید و این را تایپ کنید:
Xmlipst
در این صورت، نصب کامل خواهد شد.
هشدار: با وجود این، مایکروسافت هنوز هم هشدار می دهد که بعضی از سیستم های ممکن است بعد از اجرای xmlinst.exe ناپایدار شوند. پس تنها در صورتی که نمی توانید برای گذراندن تست به زیر، به مرحله نصب برسید، آن را اجرا کنید. برای خنثی کردن اثرات xmlinst.exe پیشنهاد می شود به شاخه مناسب بروید و تایپ کنید:
umlinst /u
معرفی جاوا
شاید توجه کرده باشید که تا به حال درباره اینکه از چه سیستم عاملی استفاده می کنیم، صحبت نکرده ایم، زیرا هیچ فرقی نمی کند. XML تنها متن است و بر روی هر سیستم عاملی که بتوان یک فایل متنی ساخت، می تواند ساخته شود.
به هر حال معمولاً برنامه نویسی واقعی، محدودکننده تر از آن است. علاوه بر این، شما هنوز نمی توانید برنامه ای مثلاً برای اَپل مکینتاش بنویسید و آن را به همان شکل در ویندوز 98 اجرا کیند.
البته، این مساله به خوبی اصلاح شده است. عملکرد داخلی هر سیستم عامل و کامپیوتری با بقیه متفاوت است، بنابراین یک برنامه حتماً باید زبان مناسب برای صحبت کردن با آنها را می دانست. همچنین ممکن است تصور کنید، این کار با طبیعت وب چندان سازگار نیست، چون وب جایی است که یک مطلب باید بتواند به طور مجازی از طریق هر نوع سیستمی مورد دسترسی قرار گیرد. بنابراین، قبل از اینکه فردی بخواهد یک زبان فراگیر و جهانی پیشنهاد کند، تنها این مساله مهم بود.
در این حالت، آن فرد شرکت Sun Microsystems بود. سان پیش از آنکه اعلام کند که روی جاوا (زبان برنامه نویسی که در محیطهای مختلف قابل اجراست) کار می کند در حیطه کاری اینترنت وجهه خوبی داشت. زیرا در آن زمان، تمام سرویس دهنده های اینترنت روی سیستم عاملی به نام یونیکس اجرا می شدند و درصد بالایی از آنها از سولاریس (نمونه ای از یونیکس شرکت سان) استفاده می کردند.
التبه، در آن زمان ماشینهای رومیزی زیادی وجود نداشتند که از یونیکس استفاده کنند، بنابراین اختلاف زیادی بین نرم افزاری که روی سرویس دهنده اجرا می شد و نرم افزاری که می توانست روی مرورگر یا سرویس گیرنده اجرا شود وجود داشت.
جاوا تمام آنها را تغییر داد.
کلید موفقیت جاوا در ایده JVM یا ماشین مجازی جاوا است. JVM بین کد و سیستم عامل قرار می گیرد و به عنوان یک مفسر کار می کند.
بنابراین تا زمانی که برای سیستم عامل شما اعم از ویندوز 98، یونیکس یا حتی هر چیزی که خودتان نوشته باشید یک JVM وجود داشته باشد کد جاوای یکسانی بر روی سیستم اجرا خواهد شد. بدین ترتیب شعار «یکبار نوشتن، در هر جایی اجرا شدن» برقرار می باشد.
توجه: کسانی که دقت بیشتری دارند توجه خواهند داشت که در آخرین سالهای دهه 90، بین تولید کنندگان اصلی بر سر نگارشهای بهینه جاوا برای سیستم عاملهای خاص عدم هماهنگی و اختلاف پیش آمد. این مساله به برنامه های Java Compatible , 100% Pure Java, SUN منتهی شد. فقط بر نرم افزار Pure Java تکیه خواهیم کرد.
انتخاب عباراتی برای توصیف نوع JVM به عنوان یک مفسر، لازم بود. برنامه نویسانی که در زبانهایی مثل C++ حرفه ای هستند، متوجه خواهند شد که دو نوع زبان وجود دارد: زبانهای کامپایل شدنی و زبانهای تفسیر شدنی یک زبان کامپایل شدنی (مثل C یا C++) ابتدا نوشته می شود و بعد به زبان محلی سیستمی که روی آن اجرا خواهد شد. ترجمه می شود. این روش عملیات را سریع می کند. نقطه ضعف این روش آن است که چون برنامه ای به زبان محلی خاص آن سیستم ترجمه شده است. به طور کلی نمی تواند در یک محیط دیگر به کار رود، از طرف دیگر، یک زبان تفسیر شدنی مثل بیسیک یا هر زبان اسکریپت دیگر، تا هنگام به اجرا به زبان محلی ترجمه نمی شود که این ویژگی، قابلیت حمل برنامه را بالاتر می برد.
در این صورت جاوا در کدام دسته قرار می گیرد؟
در واقع، در جایی بین هر دو یک برنامه جاوا به «بایت کد» کامپایل، سپس در هنگام اجرا شدن توسط JVM تفسیر می شود. در دورانی که جاوا معرفی می شد، شرکت سان یک کامپایلر JIT را هم اضافه کرد که کد را درست قبل از اجرا شدن کامپایل می کرد و سبب بهبود کارایی سیستم می شد. به هر حال به منظور افزایش قابلیت حمل، در حال حاضر تصور می کنیم که جاوا یک زبان تفسیر شدنی است.