بخشی از مقاله
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 را هم اضافه كرد كه كد را درست قبل از اجرا شدن كامپايل مي كرد و سبب بهبود كارايي سيستم مي شد. به هر حال به منظور افزايش قابليت حمل، در حال حاضر تصور مي كنيم كه جاوا يك زبان تفسير شدني است.
پس، كل اين مباحث به چه معنا است؟
به اين معنا است كه چون جاوا به هيچ سيستم عامل خاصي مربوط نمي شود، يك انتخاب مناسب، براي توسعة برنامه هاي كاربرديي است كه به هيچ محيط خاصي مربوط نمي شوند. اكثريت ابزارها و برنامه هاي كاربردي توسعة برنامه هاي كاربردي XML در جاوا توليد مي شوند و ما هم از اين شيوه پيروي خواهيم كرد.
نصب Java 2 SDK
قبل از اينكه حتي بتوان در مورد اجراي برنامه هاي كاربردي و نوشتن هر برنامه اي در جاوا فكر كرد، بايد چند نرم افزار نصب كرد. ابتدا به يك JVM نياز داريم. همچنين كلاس هاي اصلي يا برنامه هايي كه ساختار زير بنايي زبان را شكل مي دهند لازم هستند، در نهايت، به كامپايلري احتياج داريم كه برنامة ما را به بايت كدي كه JVM را مي فهمد برگرداند.
محل گرفتن Java 2 SDK
جايي كه مي خواهيد از آن كامپايلري بگيريد به اينكه چه سيستم عاملي را اجرا مي كنيد بستگي دارد. SUN Microsystems از نگارشهايي براي مايكروسافت ويندوز، لينوكس و همين طور سولاريس پشتيباني مي كند. JVM هاي قابل دسترسي ديگري هم از شركتهاي ديگري مثل اپل، مايكروسافت و آي بي ام وجود دارند. براي دريافت كردن از شركت سان، آدرس روبه رو را به مرورگر خود بدهيد:
http:// java . sun .com/ j2se/
اگر نام سيستم عامل شما روي آن صفحه نبود به اين آدرس برويد تا ليستي از نگارشهاي موجود در را دريافت كنيد:
http:// java . sun .com/cgi-bin/java-ports.cgi
مطمئن شويد كه SDK را بگيرند نه اينكه فقط يك محيط زمان اجرا بگيريد. به عنوان مثال MacOS را پيدا مي كنيد و لينك مقابل آن را دنبال مي كنيد. صفحه اي را پيدا خواهيد كرد كه مراحل ضروري براي رسيدن به MRJ 2.2.2 را توضيح مي دهد. با وجود اينكه به آن هم نياز داريد، در صورتي كه بخواهيد واقعاً برنامه هاي جاوا را بنويسيد MRJ SDK هم لازم است. براي دريافت اين نرم افزار به لينك هاي آدرس زير مراجعه كنيد:
http://devworld.apple.com/ java/text/download.html
نكته:
دنياي برنامه نويسي مدتها قبل از به صحنه آمدن بيسيك، در مورد سرنامها سرگردان بود. متاسفانه، اكنون كه بازاريابي هم وارد صحنه شده، اين وضعيت بدتر شده است.
نرم افزاري كه براي ساختن برنامه هاي كاربردي جاوا لازم است با نام JDK يا Java Developer's Kit شناخته شده بود. (در واقع بعضي از توسعه دهندگان، هنوز هم به اين صورت به آن ارجاع مي كنند) اين نرم افزار شامل JVM، كامپايلر، javac و ابزارهاي متعدد ديگر بود. اولين نگارش ارائه شدة آن JDK1.0 بود.
سرانجام، بهبودهايي ايجاد شد تا اينكه به نگارش JDK1.1.8 رسيد. در آن زمان، شركت سان كانون توسعه را عوض كرد (و به اين ترتيب خصيصه هاي زيادي پياده سازي شدند) و تصميم گرفت نام محيط را به صورت Java 2 عوض كند.
متاسفانه، شركت سان شماره هاي نگارش را تغيير نداد. يعني در واقع Java 2 چيزي است كه بايد JDK 1.2 خوانده مي شد ولي در حال حاضر Java 2 Software Development Kit نگارش 2/1 مي باشد.
بنابراين اگر نمي توانيد "JDK" را پيدا كنيد، نگران نباشيد. همانجاست فقط نامش عوض شده است.
عمليات نصب
به دليل اينكه Java SDK، يك برنامة كاربردي مانند بقيه برنامه هاست، طبيعتاً در قالب يك نصب كننده به همراه يك ويزاد آزاد مي آيد تا شما را در بين گزينه هاي انتخابي نصب راهنمايي كند. عموماً نصب كردن در ويندوز شامل مراحل زير است (به همراه مجموعة مشابهي براي محيطهاي ديگر):
1 – پنجرة تمام برنامه هاي كاربردي باز را ببنديد.
2 – روي فايل دريافت شده از روي اينترنت (به عنوان مثال j2sdk1-300-win.exe) دوبار كليك كيند تا كار نصب كننده شروع شود.
3 – licence agreement را بخوانيد و قبول كنيد.
4 – يك پوشه مقصد انتخاب كنيد، مي توانيد هر مقصدي كه راحت تر است را انتخاب كنيد، اما در تمام دستورالعملهاي اين كتاب فرض خواهد شد كه شما JDK را در شاخة اصلي نصب كرده ايد. اين پنجره، پوشة مقصد C:\jdk1.3 را مي سازد.
5 – مشخص كنيد كه چه چيزي را مي خواهيد نصب كنيد براي ساخت و اجراي برنامه هاي كاربردي جاوا، به فايل هاي برنامه نياز خواهيم داشت نه فايل هاي منبع اصلي. در صورتي كه فضاي ديسك شما كم است، بهتر است علامت Java Sources را برداريد.
پس از اينكه نصب كننده كامل شد، مي توانيد فايل دريافت شده را به منظور بازيابي فضاي ديسك حذف كنيد.
در حال حاضر، دو مرحلة بعدي كاملاً اختياري هستند. اما در غير اين صورت بايد مقداري تايپ كنيم (همچنين لازم خواهد بود براي برنامه هاي كاربردي آينده، اين دو متغير را تنظيم كنيم. بنابراين هم اكنون آن را انجام مي دهيم).
6 – حال، PATH را مقدار دهي كنيد. با وجود اينكه ما براي دستيابي به محيطي بر مبناي مرورگر تلاش مي كنيم، چند كار را از خط فرمان انجام مي دهيم، يعني اينكه، دستورالعملهاي را در داخل يك پنجرة Comman Prompt (يا چيزي شبيه آن) تايپ خواهيم كرد. مثلاً اگر بخواهيم از Javac استفاده كنيم بايد اين خط تايپ شود:
c:/jdk 1.3 /bin/java myFile. Java
گر چه واقعاً هيچ نكته اشتباهي در آن وجود ندارد، مي تواند مزاحم سرعت عمل باشد و احتمالاً باعث بروز اشكالات تايپي مختلفي مي شود. خوشبختانه، ويندوز با استفاده از متغير PATH روش ميانبري را براي پردازش فراهم مي كند. در عوض اگر خط را تايپ كنيد:
Java myFile.java
ويندوز هر شاخه اي را كه در متغير PATH فهرست شده است، بررسي مي كند و به دنبال برنامه اي با نام java مي گردد. مي خواهيم اين خط را براي هميشه به متغير PATH اضافه كنيم (به جاي اينكه هر زماني كه لازم داشتيم آن را به كار بريم) توسط سيستم عامل مي توان اين روش را اعمال كرد.
براي ويندوز 95 يا 98، آن را در فايل AUTOEXEC.bat خواهيم گذاشت تا هر وفت كه ماشين دوباره راه اندازي شد، اجرا شود.
هشدار: قبل از تغيير دادن فايل AUTOEXEC.bat، يك نسخه پشتيبان از آن بسازيد. خطاهاي اين فايل مي تواند عذاب آور باشد و طبعاً مي تواند سيستم عامل را از ماشين بگيرد يا حتي در هنگام راه اندازي مشكل ايجاد شود.
پس از ايجاد AUTOEXEC.bat، فايل را در Notepad باز كنيد (نه در WordPad) و عبارت PATH را پيدا كنيد. عموماً چيزي شبيه اين است:
PATH C:\WINDOWS\COMMAND;C: \ WINDOWS:
شاخة bin را اضافه كنيد. بناراين نتيجة كار، چيزي شبيه اين خواهد بود:
PATH C:\WINDOWS\COMMAND;C: \ WINDOWS; C;\ jdk1.3\bin;
فايل را ذخيره كنيد.
براي آزمايش PATH (و اطمينان از اينكه خطايي وارد AUTOEXEC.bat نكرده باشيد) يك پنجرة اعلان فرمان را با انتخاب start/program/MS-Dos Prompt (يا چيزي معادل اين در سيستم عامل خود) باز كنيد تايپ كنيد:
autoexeC
كليد Enter را فشار دهيد. اين دستور همان اسكريپ را اجرا مي كند. و اجراي آن در هنگامي است كه كامپيوتر خود را روشن مي كنيد اگر خطايي وجود داشت، برويد و آن را اصلاح كنيد. در صورت لزوم، قبل از اينكه چيزي را تغيير دهيد و دوباره كامپيوتر را روشن كنيد، يك كپي از نسخه پشتيبان بسازيد.
در صورتي كه همه چيز به درستي اجرا شد، خط زير را تايپ كنيد:
Path
در پنجرة اعلان فرمان PATH را آزمايش كنيد. رشته اي از شاخه هايي را كه اضافه كرديم بايد ببينيد. در ويندوز NT يا ويندوز 2000 اين فرآيند بسيار ساده تر است. اين مسير را انتخاب كنيد:
Start/control panel/System/environment
در زير قمست PATH, User Variables را جستجو و متمايز كنيد. در انيجا مي توانيد مقدار را تغيير دهيد. و C:\jdk1.3\bin (يا شاخة مناسب) را به انتهاي متغير PATH اضافه كنيد. همين كار را تحت System Variables انجام دهيد.
هشدار: براي كاربران ويندوز 9x و هم براي كاربران ويندوز NT يا 2000 اگر يك نگارش نصب شدة قديمي از JDK داريد، مطمئن شويد كه مرجع آن را يا به روز رساني و يا حذف كرده باشيد يا حداقل مطمئن شويد مرجع جديد در ابتدا بيايد زيرا فقط اولين مورد استفاده خواهد شد.
تغييرات را اعمال كنيد و آنها را با باز كردن يك پنجرة اعلان فرمان و تايپ PATH آزمايش كنيد.
7 – CLASSPATH را تنظيم كنيد. در نگارش قبلي Java SDK لازم بود كه كاربران متغيري به نام CLASSPATH را اضافه كنند كه به برنامة كاربردي مي گفت در كجا به دنبال چندين كد مورد نياز بگردد. در واقع Java 2 بدون تنظيم CLASSPATH كار مي كند. در صورت لزوم، مسيرهاي ديگري براي فرستادن اطلاعات داخل يك برنامة كاربردي وجود دارد به هر حال، ابزارهاي ديگري هم نصب خواهيم كرد كه براي درست كار كردن به CLASSPATH نياز دارند. بنابراين اكنون به سراغ تنظيم آن مي رويم.
براي ويندوز 95 يا 98 تقريباً همان روش تنظيم PATH را در پيش مي گيريم. از فايل AUTOEXE.bat، backup بسازيد و آن را در Notepad باز كنيد. اگر مقدا دهي يك متغير، CLASSPATH نداريد در زير قسمت اعلام PATH، خطي مشابه اين اضافه كنيد:
SET CLASSPATH=.;
فايل را ذخيره و اجرا كنيد.
اين فرمان به برنامة كاربردي مي گويد كه براي هر كدي كه لازم دارد، شاخة جاري را نگاه كند اگر به همراه اطلاعاتي كه توسط برنامه هاي كاربردي ديگري مورد نياز است، يك تنظيم CLASSPATH موجود را داشتيد، بهتر است تا زماني كه شاخة جاري را مطابق آنچه نشان داده شد اضافه مي كنيد، آن شاخه را ترك كند. در ويندوز NT يا 2000 براي ايجاد تغييرات، مراحلي مشابه مقدار دهي متغير PATH را دنبال مي كنيم.
به منظور آزمايش تنظيم CLASSPATH، داخل پنجرة اعلان فرمان، خط زيرا تايپ كنيد:
SET
اين فرمان فهرستي از تنظيمات جاري و اينكه متغيرهاي آنها چه هستند را نشان مي دهد. يك فهرست براي CLASSPATH ببينيد.