ads
ads

دو جنبه از 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 را هم اضافه كرد كه كد را درست قبل از اجرا شدن كامپايل مي كرد و سبب بهبود كارايي سيستم مي شد. به هر حال به منظور افزايش قابليت حمل، در حال حاضر تصور مي كنيم كه جاوا يك زبان تفسير شدني است.

پس، كل اين مباحث به چه معنا است؟

به اين معنا است كه چون جاوا به هيچ سيستم عامل خاصي مربوط نمي شود، يك انتخاب مناسب، براي توسعة برنامه هاي كاربرديي است كه به هيچ محيط خاصي مربوط نمي شوند. اكثريت ابزارها و برنامه هاي كاربردي توسعة برنامه هاي كاربردي 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 ببينيد.

8 – عمليات نصب را آزمايش كنيد. در اينجا، واقعاً نمي خواهيم كد جاوا بنويسيم بلكه تنها مي خواهيم مطمئن باشيم كه درست نصب شده باشد، براي انجام اين كار، دو خط زير را اعلان خط فرمان تايپ كنيد:

ed c:\ jk1.3\demo\ ifc\styleoad

java-jar styleped.jar

پس از گذشت چند ثانيه، اين فرمان بايد يك پردازشگر متن را به صورت پنجره اي با يك صفحه از Lewis Carroll’s Alice in Wonderland بياورد.

توجه: اگر نگارش ديگري از JDK را دريافت (download) كرده باشيد، ممكن است نمونه هاي متفاوتي را ببينيد. عموماً ، اين نگارشها دو دسته هستند: كلاس هاي پايه اي جاوا يا jfe و اپلت ها. ما اصلاً از اپلت ها استفاده نخواهيم كرد، با اين وجود اگر آنها تنها نمونه هاي آزمايشي نرم افزار باشند، براي آزمايش نرم افزار، لازم است از appletviewer استفاده كنيد. به عنوان مثال، JDK استاندارد داراي اپلتي به نام TocTacToe است. براي آزمايش عمليات نصب توسط اين اپلت، دو خط زير را تايپ كنيد:

cd c:\jdk1.3\demo\applets\TicTacToe

appletviwer example 1.html

اين فرمان بايد بازي كوچك TicTacToe را بياورد.

در صورتي كه در عمليات نصب با مشكلي برخورد كرديد، عمليات در مورد عيب يابي در اين آدرس وجود دارد:

http://java.sun.com/j2see/1.3/install-windows

html#trobleshooting

 يا سايتي كه خود JDK را از آن دريافت كرده ايد.

نصب تجزيه كننده Xerces-J

اكنون كه جاوا نصب شده است و كار مي كند لازم است تجزيه كننده واقعي را نصب كنيم كه براي بررسي داده هاي خود از آن استفاده خواهيم كرد. توسعة نرم افزار، مخصوصاً آنهايي كه در برگيرندة XML هستند، بر طبق نظرية API يا واسط برنامه نويسي كاربردي مي باشد. اين نوع، مشابه زباني كوچكي است كه داراي يك لغت نامه مي باشد، در لغت نامه هر فرمان يا كلمه، معني خاصي دارد. برنامه هاي كاربرديي كه از همان API استفاده مي كنند، مي توانند با يكديگر صحبت كنند. به دليل اينكه، تعداد زيادي از برنامه هاي مربوط به XML به صورت پيمانه اي هستند، (بر اساس تمايل توليد كننده) در برنامه هاي كاربردي مختلف مي توانند به منظور مشتركي استفاده شوند.

اصطلاح جديد: رابط برنامه نويسي كاربردي ‌(API)- يك API مجموعه اي از فرمانهايي است كه برنامه نويسان براي انجام وظايف خاصي از آن استفاده مي كنند. در صورتي گفته مي شود يك برنامه با يك API پياده سازي شده است كه آن فرمانها بتوانند آن وظايف را انجام دهند.

اصطلاح جديد: پيمانه اي (Modulator)- يك برنامة پيمانه اي، برنامه اي است كه هر بخش كد، بدون تاثير بر بقية برنامة مي تواند عوض شوند.

اين مطلب در مورد تجزيه كننده ها نيز صادق است. تجزيه كننده هاي زيادي در دسترس هستند، اما يكي از رايجترين آنها Xerces از Apache Project  مي باشد.

Apache Project  پروژه اي به صورت منبع- باز است كه Apache Web server و محصولات پايه اي زياد ديگري را براي وب توليد كرده است. شركتهاي متعددي از قبيل، آي بي ام، سان و مايكروسافت پروژه هايي را به Apache  اهدا كرده اند كه آنها را براي مصرف عمومي و كاركردن به صورت رايگان در دسترس گذاشته اند.

Xerces و مخصوصاً نمونة جاواي آن ، Xerces-J، تجزيه كننده اصلي اي است كه با اغلب برنامه هاي كاربردي تجزية XML به كار مي روند (مانند (XML4J)) از شركت JAXP, ABM از شركت سان) ما مستقيماً از اين استفاده خواهيم كرد تا نكات مورد بحث در نصب را آسان كنيم.

نصب Xerces-J

تجزيه كننده Xerces-J در سايت زير پيدا مي شود:

Htpp://xml.apache.org/xerces-j/index.html

نگارش فعلي 1.2.3 مي باشد، اما اكنون بايد به حقيقت توسعة XML توجه كرد و اينكه بعضي چيزها تغيير داده مي شود. خصوصاً، پياده سازي استانداردهاي Xerces هنوز به پايان نرسيده است بنابراين، اگر تغييراتي به وجود آيد، Xerces به كار خود ادامه خواهد داد و اين خصوصيات فعلي را حفظ خواهد كرد. همچنين، كمي قبل گروهي كه روي پروژة Xerces-J كار مي كرد تصميم گرفت بيشتر تمركز كاري خود را براي افزودن سادگي و يك API جديد به نام JDOM تغيير دهد. به احتمال زياد، اغلب اين عملكردها پياده سازي خواهند شد، اما اكنون ما از API هاي موجود استفاده مي كنيم.

مساله مهمي كه بايد يادآوري كرد اين است كه با وجود اينكه شايد تركيب نحوي خاصي تغيير كند، مفاهيم به همان شكل باقي مي مانند. در صورتي كه از يك نگارش جديد استفاده مي كنيد و به نظر مي رسد بعضي چيزها درست كار نمي كنند، براي مشاهده اينكه آيا تغيير كرده اند يا خير، سندهاي ارائه شده را بررسي كنيد.

براي دريافت خود تجزيه كننده، روي دكمة Download كليك كنيد و، به دنبال فهرستهايي بگرديد كه به صورت “Latest Binaries” مي باشد. فايل zip را از روي اينترنت دريافت كنيد و آن را در همان شاخه اي كه Java SDK را نصب كرديد (نه شاخة خود جاوا) بگذاريد. بنابراين در صورتي كه شاخة جاوا C:\jdk1.3 باشد، فايل zip ار در C:\ بگذاريد.

براي خارج كرد ن فايل ها از حالت فشرده، از يك فايل جاوا به نام jar استفاده مي كنيم. به شاخه اي كه فايل zip را گذاشته ايد برويد و تايپ كنيد:

Jar Xerces-J_bin. 1.2.3 zip

اين كار چند دقيقه اي وقت مي گيرد و در نهايت شاخه اي به نام Xerces-1-2-3 در آنجا مي سازد.

تنظيم CLASSPATH

Xerces براي درست كردن به تنظيم CLASSPATH نياز دارد. ( به تنظيم PATH هم نياز دارد ولي ما آن را از قبل تنظيم كرده ايم.) خط زير را به همان روشي كه در طي مدت نصب Java.SDK، شاخة جاري اضافه كرديم به CLASSPATH خود اضافه كنيد.

C:\xerces-1_2_3\xerces.jar;c:\xerces- 1_2_3\xercesSample.jar;

به عنوان مثال در ويندوز 95 يا 98 اين خط را در فايل AUTOEXEC.bat  بايد به اين شكل خواند:

SET CLASSPATH=.;C:=\xerces-1-2-3\xerces.jar;

C:\xerces-1_2_3\xercesSamples.jar;

به خاطر داشته باشيد كه اگر در جاي ديگري نصب كرده باشيد، تنظيمات را بر طبق آن بايد انجام دهيد.

در ويندوز 95 يا 98 اين تغييرات تا زماني كه AUTOEXEC.bat  را اجرا نكرده ايد، تاثيري نخواهد داشت. اگر آن را به طور دستي اجرا كنيد، تغييرات فقط بر آن پنجره اعمال خواهد شد. بعد از راه اندازي مجدد كامپيوتر، تغييرات بر تمام پنجره ها تاثير خواهند گذاشت.

توجه: اگر روي يونيكس نصب مي كنيد، بايد (;) را به صورت (:) تغيير دهيد و (/) را به صورت (|)، همچنين بايد مرجع درايو C: را حذف كنيد.

آزمايش عمليات نصب

اگر همه چيز به خوبي پيش رود، اكنون شما يك تجزيه كننده فعال داريد كه روي سيستم خود نصب كرده ايد. به هر حال، مثلاً براي شروع برنامه نويسي با آن اصلاً آمادگي نداريم، بنابراين همانند جاوا با يكي از نمونه ها عمليات نصب را آزمايش مي كنيم.

در اينجا، نمونة بسيار مفيدي ارائه شده است. نمونة SAXCount يك فايل XML را براي تعيين بعضي از ويژگيهاي تحليل مي كند، مثلاً اينكه فايل شامل چه تعداد عناصر يا فضاهايي است و خروجي آن روي صحفه نمايش چيست.

علاوه بر اينكه اين نمونه بسيار مفيد و مناسب است، در مدت زمان كوتاهي خواهيد ديد كه به ما شانس مقدار دهي كردن داده ها را نيز مي دهد. به منظورآزمايش عمليات نصب فايل AUTOEXEC.bat   را اجرا (يا كامپيوتر را دوباره راه اندازي كنيد) و سپس دو خط زير را تايپ كنيد:

cd c:\xerces-1_2_3

java sax.SAXCount data/personal.xml-v

 اين فرمان به جاوا مي گويد برنامه SAXCount را براي تحليل فايل personal.xml در شاخة data اجرا كند و تا زماني كه آن در برنامه است، فايل را با ساختار تعريف شده مقايسه كند، شما بايد يك خروجي مشابه زير ببينيد.

data/personal.xml:2250 ms(37 elems, 18 attrs, 150 spaces 128 chars)

اگر با خطايي برخورد كرديد كه به شما مي گويد كلاس، تعريف نشده است يا پيدا نمي شود، از اينكه CLASSPATH براي آن پنجرة به فايل هاي Xerces مراجعه مي كند، مطمئن شويد. اگر لازم شد، در فايل AUTOEXEC.bat   تغييراتي به وجود آوريد و ماشين را دوباره راه اندازي كنيد.

اگر برنامه براي انجام وظيفه خوب و درست ظاهر شد ولي خود فايل XML به همراه خطاهايي به نمايش درآمد، تجزيه كننده به درستي مقدار دهي نمي شود و اين خطا ممكن است از فايل هاي كلاس قديمي در CLASSPATH شما باشد. اگر آنها را نمي توانيد پاك كنيد، حداقل مطمئن شويد كه آنها بعد از كلاس جديد ظاهر شوند.

پردازشگرهاي XSL

قبل از اينكه هر نرم افزاري را از روي اينترنت دريافت كنيم، اجازه دهيد در مورد اينكه به چه چيزي مي رسيم صحبت مي كنيم.

راجع به نحوة تبدل XML در مرورگر بسيار صحبت كرديم. آن صحبتها درست نيستند. در واقع كاري كه در تبديل صورت گرفت اين بود كه، يك پردازشگر XLS كار مي كرد تا كد XML را به چيزي ترجمه كند كه مرورگر بفهمد.

اين كار را با شيوه نامه انجام داديم و اهميت موضوع در اين است كه متوجه مي شويم اين كار انعطاف پذيري زيادي فراهم مي كند. به عنوان مثال، مي توانيم XML خود را نه تنها به HTML بلكه به هر چيزي تبديل كنيم. XML را مي توان به Plain text, Scalable Vector Graphics, HTML يا حتي مجموعه اي متفاوتي از برچسبهاي XML تبديل كرد. رمز كار اين است كه بدانيم در هر زمان كدام يك از آنها كاربردي است؟

Xalan

تجزيه كننده هاي XML و پردازشگرهاي XSL معمولاً هميشه در كنار هم هتسند. اغلب برنامه نويساني كه از تجزيه كنندة Xerces XML استفاده مي كنند، از پردازشگر xalan XSL نيز استفاده مي كنند كه از Apache Project به دست مي آيد. براي دريافت Xalan به آدرس زير مراجعه كنيد:

http: // xml.apache.org/xalan-j/index.html

اين صفحه، لينكي به آخرين نگارش Xalan-Java2 دارد.

هشدار: حتماً نگارش 2 از Xalan-Java از روي اينترنت دريافت شود (نگارش 1 كافي نيست) API كاملاً متفاوت است و اكثر كارهايي كه ما انجام مي دهيم با نگارش 1 كار نمي كند.

نصب Xalan

پس از دريافت فايل *zip يا *tar (كه به محيط كاري شما بستگي دارد) آن را به وسيلة unzip يا uncompress از حالت فشرده خارج كنيد. اگر آن را در شاخة اصلي بگذاريد به شاخه اي مشابه اين مي رسيد:

c: \xalan.j_2_0_D05

براي راحتي كار، آن را به اين صورت تغيير دهيد:

c: \xalan

بعد از اينكه فايلها نصب شدند، بايد ‌CLASSPATH را در سيستم به روزرساني كنيم. ‌CLASSPATH را به اين شكل تنظيم مي كنيم:

‌CLASSPATH=0;c:\xalan\bin\xerces.jar;c:\xalan\bin\xalan.jar

 در اين خط همه چيز براي انجام گرفته شده است.

توجه: اگر فايل ها را در شاخة ديگري نصب كرديد، براي اطمينان خاطر تغييرات مناسب را مشابه ‌CLASSPATH قبلي ايجاد كنيد.

توجه كنيد كه در واقع اين ‌CLASSPATH را جايگزين كنيد: به جاي آنكه اين را به آن اضافه كنيم، اكنون به نگارشي از Xerces كه در شاخة Xalan است، اشاره مي كنيم. دليل خوبي براي اين كار وجود دارد. معمولاً بهتر است بيشتر از يك نگارش برنامة خاص خود را روي ماشين خود نداشته باشيم. زيرا Xerces جديدتر يا قديمتري، ممكن است مشكل به وجود آيد. براي پيشگيري از بروز چين مشكلاتي، نگارشي را كه به همراه Xalan مي آيد در ‌CLASSPATH ليست مي كنيم. جاوا هميشه مكانها را به ترتيبي كه در ‌CLASSPATH نمايش داده شدند، بررسي مي كند. در اين صورت، اگر نگارش ديگري در يك جاي ماشين داشته باشيم، مشكلي پيش نمي آيد.

اجراي فايل AUTOEXEC.bat را فراموش نكنيد، در اين صورت ‌CLASSPATH جديد اثر مي كند.

آزمايش عمليات نصب

همان طور كه در مورد Xerces انجام داديم، از نمونه اي كه همراه Xalan ارائه شده است براي آزمايش عمليات نصب استفاده خواهيم كرد. كلاس Simple Transform در جاوا، فايل birds.xml را مي گيرد و با استفاده از شيوه نامة birds.xsl آن را تبديل مي كند. متن نتيجه به فايل birds.out فرستاده مي شود.

سرانجام، آمادة آزمايش عمليات نصب شديم. ابتدا، بايد Simple Transform.java را كامپايل كنيم. هنگام نوشتن برنامه هاي خود، در فرآيند دقت بيشتري خواهيم داشت. اما در حال حاضر تنها پنجرة اعلان فرمان را باز و خط زير را تايپ مي كنيم:

cd c: \xalan\samle Transform

javac Simple Transform. Java

java Simple Transform

خروجي بايد مطابق زير باشد:

*************The result is in brids.out *************

فايل birds.out را با هر فايل متني مي توانيد باز كنيد. بايد ليستي از كلاس ها و انواع bird را ببينيم.

اگر به خطايي برخورد كرديدكه مي گويد كلاس را نمي توانيد پيدا كند، مطمئن شويد كه CLASSPATH را درست تنظيم كرده باشيد و در صورتي با خطايي مواجه شديد كه مي گويد برنامه نمي توانند فايل birds.xml را بخواند، از اينكه هر دو فايل birds.xml و birds.xsl در همان شاخة Simple Transform باشند اطمينان حاصل كنيد.

اگر خطايي وجود نداشته باشد، اكنون يك پردازشگر XSL نصب شده داريد كه كار مي كند.

افزودن يك سرويس دهندة وب به محتواي مركب (Mix)

با وجود اينكه هدف، ساختن يك سايت وب است اما تا به حال دربارة يكي از مهمترين نكات كه خود سرويس دهندة وب است توضيحي نداده ايم. گاهي اوقات، روش كار بايد اين طور باشد يك سرويس دهندة وب بايد در زمينه بنشيند، توجهي نكند و بسيار آرام كار خود را انجام دهد.

چون تا به حال صفحات وب ايستا را ساخته ايم، مي توانستيم با يك مرورگر آنها را آزمايش كنيم و روي سرويس دهندة وب (هر جا كه باشد) قرار دهيم.

توجه: فرآيندهاي واقعي ارسال و دريافت يك درخواست وب مراحل بيشتري دارد، اما در حال حاضر مهم نيستند.

ببينيم كه سرويس دهندة وب چه كاري انجام مي دهد. هنگامي كه يك URL را در مرورگر خود وارد كنيم، كامپيوتر ما يعني سرويس گيرنده، درخواستي براي سرويس دهندة وب مي سازد تا درخواسي ايجاد كند، سرويس دهنده به درخواست رسيدگي مي كند و آن را به سرويس گيرنده پس مي فرستد. نوع اطلاعاتي كه سرويس گيرنده به دنبال آنها مي گردد (به عنوان مثال، يك تصوير يا نتايج يك اسكريپت) تعيين مي كند كه سرويس دهندة وب براي ايجاد آن درخواست چه كار بايد انجام دهد. اگر آن اطلاعات تنها يك تصوير يا يك فايل HTML ساده باشد، سرويس دهنده آن را پيدا مي كند و پس مي فرستد.

به هر حال، در اين حالت، مي خواهيم سرويس دهنده واقعاً چند كار انجام دهد و آن نتايج را براي سرويس دهنده پس بفرستد. در گذشتة وب، اين كار منجر به استفاده از CGI مي شد و اسكريپت ها به احتمال زياد برنامه هاي Perl يا C بودند.

به هر حال جاوا، نظرية سرولت ها را براي انجام اين كار رساند. يك سرولت برنامة كاربردي كوچك جاوايي است كه روي سرويس دهندة وب اجرا مي شد و نتايج را به سرويس گيرنده بر مي گرداند.

با وجود اينكه، تمامي سرويس دهندة وب نمي توانند سرولت ها را اجرا كنند، اكثر آنها با افزودن يك برنامة اتصالي سرويس دهنده به نام «موتور سرولت» مي توانند آنها را اجرا كنند. بعضي از آن موتورهاي سرولت مي توانند مانند حالتي كه Tomcat دارد به عنوان خود سرويس دهندة وب هم استفاده شوند.

نصب و پيكر بندي Tomcat

Tomcat محصولي از شركت Apache Software Foundation به عنوان بخشي از پروژه Jakarta است. تقريباً با Sun’s Java Server Web Development Kit يكسان است كه در اصل از آن مشتق شده است؛ Tomcat از اين دو آدرس زير مي تواند دريافت شود:

http://jakarta.apache.org/downloads\binidex.html

يا

http://java sun.com/products/jsp/tomcat

دريافت نرم افزار از روي اينترنت، آخرين نگارش را ارائه مي دهد و در شاخه اي كه بخواهيد از آن استفاده كنيد، از حالت فشرده خارج مي شود. اگر بخواهيد مطابق دستورالعمل ها عمل كنيد، فايل ها را در شاخة root خود از حالت فشرده خارج كنيد و بعد شاخة Jakarta-tomcat را براي سادگي به tomcat تغيير نام دهيد.

تكميل نصب

تمام اين كارها براي نصب tomcat است، لازم است كمي روي پيكربندي هم كار كنيم. مخصوصاً اينكه بايد دو متغير محيطي جديد بر طبق CLASSPATH اضافه كنيم. آنها JAVA-HOME و TOMCAT_HOME هستند. همچنين لازم است چند فايل همبه CLASSPATH اضافه كنيم. به عنوان مثال، براي افزودن اين متغيرها به AUTOEXEC.bat، بايد اين فايل را به اين صورت ويرايش كنيم.

SET CLASSPATH=.;c: \xalan\bin\xerces.jar;c\xalan\ bin\xalan.jar;

SET CLASSPATH=% CLASSPATH%c:\tomcat\lib\webserver.jar;

c:\tomcat\lib\jasper.jar

SET CLASSPATH=%CLASSPATH%C:\tomcat\lib\xml.jar;

c:\tomcat\lib\servlet.jar;

c:\tomcat\lib\tools.jar;

SET TOMCAT_HOME=c:\jdk1.3

PATH=%’%JAVA_HOME%\bin

در نهايت خط 38، از tomcat\bin\tomcat.bat را ويرايش كنيد، بنابراين به اين شكل مي خواند:

set CLASSPATH=%cp%;CLASSPATH;

آزمايش عمليات نصب

پس از تنظيم متغيرهاي محيطي جديد (و در صورت لزوم AUTOEXEC.bat) پنجرة اعلان فرمان را باز كنيد و خط زير را تايپ كنيد:

cd c: \tomcat\bin

startup

در اين صورت Tomcat در پنجرة جداگانه اي شروع به كار مي كند. براي اطمينان از اجراء، مرورگر را باز كنيد و آدرس را بدهيد:

http: //localhost:8080

Locailost، يك نام عمومي است كه به ماشين شما بر مي گردد و 8080 شمارة پورتي است كه سرويس دهنده روي آن اجرا مي شود. اين صفحه، اطلاعاتي عمومي دربارة نصب مي دهد و شامل يك لينك به مثالهايي از سرولت نيز است.

اصطلاح جديد: شمارة پورت (Port number)- يك پورت مانند يك تلفن در يك سازمان بزرگ است. يك شماره براي تماس گرفتن با آن وجود دارد كه با وجود آن افراد مي توانند به آن زنگ بزنند. اما اگر در آنجا كسي براي پاسخگويي به تلفن نباشد، درخواست بدون جواب خواهد ماند.

براي اطمينان از اينكه همه چيز به خوبي كار مي كند، روي لينك Servlet Examples كليك كنيد، سپس روي يكي از مثالهاي آن مثلاً Hello World كليك كنيد. اگر با خطايي مواجه نشديد، Tomcat به خوبي نصب شده است.

اگر مثال خوب كار نكرد، مطابق زير عمل كنيد:

1 – مطمئن شويد كه متغيرهاي محيطي (… , JAVA_HOME, CLASSPATH) به خوبي تنظيم مي شوند. ممكن است لازم باشد پس از اعمال تغييرات در AUTOXEXEC.bat، ماشين خود را دوباره راه اندازي مجدد كنيد.

2 – مطمئن شويد كه به URL درستي اشاره مي كنيد.

3 – بخشهايي عيب يابي را روي سايت Apache web در آدرس http://www.apache.org ببيند اگر TomcaT به سرعت نصب نشد، مي توان در اين سايت به موشكافي دليل آن پرداخت.

JDOM چيست؟

JDOM، يك API است كه تا كنون توسط گروهي به سرپرستي Brett McLaughlin و Jason Hunter طراحي شده است. چنانكه سياست jdom.org اعلام مي كند، JDOM بايد 80% (يا بيشتر) ازمشكلات Java/XML را با ميزان كار 20% (يا كمتر) حل كند. بدين معنا كه JDOM در ارتباط با XML روش آساني است. JDOM هر كاري را انجام نمي دهد. اما كارهايي كه با آن انجام مي شود بسيار آسان تر از  DOM يا SAX است. (همچنين كارها را به طريقي انجام مي دهد كه مي توان داده ها را بدون هيچ گونه مشكلي به API هاي DOM يا SAX منتقل كرد يا از آنها وارد JDOM كرد).

JDOM، نظر كميته XML را به سرعت به خود جلب كرد. در واقع JDOM در Xerces Refactoraing Initiative قرار خواهد گرفت كه در اين صورت تجزيه كننده XERCES از پايه دوباره نوشته خواهد شد.

به همين دلايل، كار را با JDOM شروع خواهيد كرد كه در اين صورت مي توانيد بدون اينكه با بعضي از روش هاي نامحسوس‌تر API هاي ديگر مواجه شويم كه از طريق XML دستكاري كنيد. سپس، بعد از اينكه در اين روش مهارت كسب كرديم، به API هاي ديگر مانند DOM و SAX توجه خواهيم كرد، همان 80% از مواردي را كه JDOM برايش طراحي نشده است.

نصب JDOM

 روش نصب به اينكه كدام نگارش JDOM موجود است و شما نگارش را براي نصب كردن انتخاب مي كنيد، بستگي دارد. معمولاً سه گزينه وجود دارد.

Binaries- در اين حالت مي توانيد براي JDOM يك فايل فشرده را با كد كامپايل شدة كامل آن دريافت كنيد و كل كاري را كه بايد انجام دهيد اين است كه در شاخة مناسبي فايل فشرده را باز كنيد.

Source Drop- يك Source Drop مي تواند مانند Brta يك محصول و يا قسمتي از منبع باشد.

درجة قابليت اطمينان اينها با هم متفاوت است. اما معمولاً تمامي منبع در يك فايل فشرده مي باشد.

خوشبختانه، ساختن يك كامپايل كردن منبع بسيار ساده است، آن را در مدت كوتاهي توضحي خواهيم داد.

CVS- براي برنامه نويساني كه به خوبي وارد اعماق كار مي شوند، درخت CVS وجود دارد. يك CVS يك سيستم كنترل با نگارش منبع قابل استفاده عموم است به نام CVS.Concurrent Versions System براي افراد متعددي كه بدون هماهنگي با يكديگر روي يك پروژه كار مي كنند، راه حلي ارائه مي كند. جديدترين و به روزترين نگارش JDOM، معمولاً در درخت CVS پيدا خواهد شد و هميشه بررسي اين فايلها جلوتر از گزارش كردن يا درست كردن اشكالات، قابل دسترسي است،به دليل اينكه علاوه بر دريافت نرم افزار از روي اينترنت، نصب يك نرم افزار ديگر هم لازم است.

http://WWW.jdom.org را ببينيد و سراغ لينك Download برويد. اگر گزينة binaries وجود داشت، فايل فشرده را به راحتي دريافت و آن را در شاخة JDOM، از حالت فشرده خارج كنيد. سپس به بخش «تنظيم CLASSPATH» در اين فصل برويد.

اگر نگارش binaries وجود نداشت يا اگر آخرين نگارش را بخواهيد، Source drope در سايت زير قرار دارد

http://www.jdom.org/dist/source

نسخه هاي فوري كد را در سايت http://cvs.jdom.org/source/jdom-comlete.zip مي توان پيدا كرد و در نهايت لينك هاي تمامي دريافتها از طريق اينترنت را مي توان در سايت http://www.jdom.org/downloads/source.html يافت.

مراحل نصب JDOM

نصب JDOM  از كد منبع، شامل مراحل زير است:

1 – پس از دريافت فايل هاي منبع از طريق اينترنت، آنها را در شاخة اصلي باز كنيد.

2 – پس از بيرون كشيدن فايل هاي منبع، بايد آنها را براي ايجاد binaries آماده كنيد. خوشبختانه اين فرآيند بسيار ساده است، زيرا براي اين كار، يك اسكريپت build به همراه download وجود دارد. يك پنجرة اعلان فرمان باز كنيد و به شاخة jdom تغيير مسير دهيد.

3 – JAVA-HOME را مقدار دهي كنيد. اسكريپت build بايد بتواند جاواي قابل اجرا را پيدا كند. بنابراين، اين متغير محيطي بايد با شاخة اصلي جاوا مقدار دهي شود. اين متغير مي تواند به روشي كه CLASSPATH را مقدار دهي مي كنيم، به صورت زير مقدار دهي شود:

setJAVA-HOME=c:\Jdk1.3

4 – JDOM را بسازيد. ازشاخة jdom تايپ كنيد:

build

اين خط، build.bat يا build.sh (هر كدام كه مناسب باشند) را اجرا مي كند.

5 – نمونه ها را بسازيد. به اين صورت تايپ كنيد:

build samples

اين خط، نمونه هايي را كه براي آزمايش نصب، از آنها استفاده خواهيد كرد كامپايل مي كند.

6 – مستندات را بسازيد، تايپ كنيد:

build javadoc

اين خط به دليل احتمال تغيير در JDOM API بسيار مهم است. Javadoc به طور خودكار مستندات به روز رساني شده را بر اساس كد واقعي توليد مي كند.

هشدار: اسكريپت build براي ويندوزهاي بسته بندي شده با source drop روزانه اخطار مي دهد. اگر در اجراي اسكريپت build با مشكل مواجه شديد، فايل build bat را در Notepad يا Wordpad باز كنيد و به جاي كادرهاي سياه، return بگذاريد. فايل را ذخيره كنيد. اين بار كار خواهد كرد.

تنظيم CLASSPATH

براي اينكه Tomcat بتواند كلاسهاي JDOM را پيدا كند بايد مطمئن شويم كه jDOM.jar در CLASSPATH است. اين خط را به CLASSPATH خود اضافه كنيد:

set CLASSPATH=% CLASSPATH%C:\jdom\build\jdom.jar;

در صورتي كه اين خط را به AUTOEXEC.bat اضافه كرديد، فراموش نكنيد كه بايد آن را اجرا كنيد. در اين صورت كه تنظيمات جديد، تاثير خواهند گذاشت.

اجراي نمونه ها (Samples)

فقط براي اطمينان خاطر از اينكه نصب، درست انجام شده است، يكي از نمونه هايي را كه ساختيم اجرا مي كنيم. در پنجرة اعلان فرمان، اين خط را تايپ كنيد:

 cd \jdom\build\classes

java WarReader web.xml

اين فرمان، برنامه JDOM را براي خواندن و تحليل يك فايل پيكر بندي Tomcat اجرا مي كند. خروجي بايد به اين شكل باشد:

This War has 2 registered servles:

 snopp for snoopServlet (it has 0 init params)

 file for Viewfile (it has 1 init params)

This WAR contains 3 roles:

manager

director

president

This War is distributed

ads
ads